| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 29399 人关注过本帖, 1 人收藏
标题:[原创]Matlab做的俄罗斯方块(含代码)
只看楼主 加入收藏
cumtcowboy
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2007-5-10
收藏
得分:0 
强人
2007-05-10 12:54
h_x0
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2007-5-15
收藏
得分:0 
怎么玩一会就不消了啊 ,还是有点问题吧
2007-05-15 17:14
zhangenter
Rank: 6Rank: 6
等 级:贵宾
威 望:25
帖 子:390
专家分:0
注 册:2006-6-5
收藏
得分:0 
我还没碰到过不能消的情况,不过有问题也是有可能的,有没有发现是在在什么情况下不能消呢?

OldHandle = findobj( \'Name\', \'悲伤\' ) ;if ~isempty(OldHandle),delete(OldHandle) ;end for Time = \'现在\':\'每一天\':\'永远\',set( gco, \'心情\', \'快乐\');end % 这段代码为你天天快乐而存在
2007-05-15 20:35
swf_2008
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2007-5-16
收藏
得分:0 
高手啊
顶了先
不过运行起来还是有些BUG 有时消不掉
2007-05-16 09:36
csylijuan
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2007-5-16
收藏
得分:0 

以后多向高手学习

2007-05-16 14:11
swf_2008
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2007-5-16
收藏
得分:0 

能不能在方块移除的几句程序后面加些注释,不大看的懂啊.谢谢

2007-05-17 09:36
包123
Rank: 1
等 级:新手上路
帖 子:57
专家分:0
注 册:2007-5-17
收藏
得分:0 

向高手学习,拿下这个大西瓜

2007-05-17 10:59
zhangenter
Rank: 6Rank: 6
等 级:贵宾
威 望:25
帖 子:390
专家分:0
注 册:2006-6-5
收藏
得分:0 
以下是引用swf_2008在2007-5-17 9:36:53的发言:

能不能在方块移除的几句程序后面加些注释,不大看的懂啊.谢谢

for num = 1: length( LastBlockYData )
% 对最后一个下来的方块按行搜索
[YData, Index] = find( TotalYData == LastBlockYData(num) ) ;
% 判断是否满12个(满12个为整行,可以消除)
if length( YData ) == 12
% 保存下行号
CompleteLine = [CompleteLine, LastBlockYData(num)] ;
UsefulIndex = [UsefulIndex, Index] ;
end
end
% 处理需要消除的行
if ~isempty( CompleteLine )
% 在所有方块序列中删除这些行
TotalXData( UsefulIndex ) = [] ;
TotalYData( UsefulIndex ) = [] ;

% 得到完成行的数目,得到相应的分数
LineNumber = length( CompleteLine ) ;
ScoreArray = [100 300 600 1000] ;
NewScore = ScoreArray(LineNumber) ;

% 更新总分
CurrentScore = getappdata( handles.RussiaBlock, 'CurrentScore' ) ;
TextString = get( handles.ScoreText, 'String' ) ;
TextString{2} = CurrentScore + NewScore ;
set( handles.ScoreText, 'String', TextString ) ;
setappdata( handles.RussiaBlock, 'CurrentScore', CurrentScore + NewScore ) ;

% 更新游戏等级(如果需要的话)
UpdateGameLevel( handles.RussiaBlock, CurrentScore + NewScore ) ;
% 处理需要下移的方块
for num = LineNumber : -1 : 1
[YData, Index] = find( TotalYData > LastBlockYData(num) ) ;
% 从下往上,逐行下移一行(20象素)
TotalYData(Index) = TotalYData(Index) - 20 ;
end
end
% 设置新的方块序列
set( handles.BlockHandle, 'XData', TotalXData, 'YData', TotalYData ) ;
end


OldHandle = findobj( \'Name\', \'悲伤\' ) ;if ~isempty(OldHandle),delete(OldHandle) ;end for Time = \'现在\':\'每一天\':\'永远\',set( gco, \'心情\', \'快乐\');end % 这段代码为你天天快乐而存在
2007-05-20 20:08
menghuayuan
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2007-5-24
收藏
得分:0 
我的运行不了?
2007-05-24 10:29
liuguang
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2007-4-23
收藏
得分:0 
真的是强
2007-05-25 20:07
快速回复:[原创]Matlab做的俄罗斯方块(含代码)
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017777 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved