请问各位俄罗斯方块应该怎么写? [email protected]thank u ! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 也给我一个可以吗? [email protected] //请参考http://www.csdn.net/expert/topic/366/366396.xml?temp=.9482691 [email protected] Thank You! 俄罗斯方块的标准做法是用数组模拟:先定义一个结构体struct Stage{ int IsBlock; //如果有方块则为1,否则为0,默认为0(这里的方块实指单个方块) BOOL CanChange; //如果落到底后为False,若没有则为True; 。//为了程序简洁还可以加上其他标志域方便判断}然后定义一个10*20的结构体数组StageArray[10][20];通过设置StageArray[x][x].IsBlack来表示该处是否应该画上方块;在定义若干个数组Shape_X[4][4]来代表基本图形比如:{{0,0,0,0}, {1,1,1,0}, {0,1,0,0}, {0,1,0,0}}代表“T”型图元;这样转动图元就变成了转动数组不过必须保持含“1”的元素在右下角否则图元位置会又偏移;图元下落就是把Shape_x加在StageArray上,下落时先判断它的下一个位置有没有阻挡它的方块(可以先式加一次如果有那么Shape_X中就有为“2”的项)如果有就停止并将StageArray[x][x].CanChange改写为False;最后要做的就是写界面判断StageArray那里有“1”就画一个方块;图元每动作一就刷新一次。 published是什么意思? 关于封装的问题 关于SQL语句的2个问题 有空的解答下 在线等 如何判斷一個COM+組件在系統的元件服務中已存在? 急需INFORPOWER4000 FOR DELPHI7.0 关于MS SQL SERVER 的数据库文件注册的问题~!!!!救救我!!! 动态设置主窗体的主菜单,运行期间无效果 在程序中使用了隶书,如何才能在发布时保证其适应不同的系统配置? 初学者的问题!! 小问题,紧急求援。 谁有1stclass(D6)控件组中,Outlookbar的使用方法或示例代码啊。。。急用。。。 在delphi中如何建立表的视图和把查询的结果存入另外一个表
http://www.csdn.net/expert/topic/366/366396.xml?temp=.9482691
Thank You!
先定义一个结构体
struct Stage{
int IsBlock; //如果有方块则为1,否则为0,默认为0(这里的方块实指单个方块)
BOOL CanChange; //如果落到底后为False,若没有则为True;
。//为了程序简洁还可以加上其他标志域方便判断
}
然后定义一个10*20的结构体数组StageArray[10][20];通过设置StageArray[x][x].IsBlack来表示该处是否应该画上方块;
在定义若干个数组Shape_X[4][4]来代表基本图形比如:
{{0,0,0,0},
{1,1,1,0},
{0,1,0,0},
{0,1,0,0}}
代表“T”型图元;这样转动图元就变成了转动数组不过必须保持含“1”的元素在右下角否则图元位置会又偏移;
图元下落就是把Shape_x加在StageArray上,下落时先判断它的下一个位置有没有阻挡它的方块(可以先式加一次如果有那么Shape_X中就有
为“2”的项)如果有就停止并将StageArray[x][x].CanChange改写为False;
最后要做的就是写界面判断StageArray那里有“1”就画一个方块;图元每动作一就刷新一次。