今天对项目中的yi'x一些功能具体分析:
1.俄罗斯方块项目需求调研:
1.这是一个单机游戏。
2.友好的界面,界面包括方块落下和消失的,计分面板,时间面板,下一个方块样式,以及难易度的选择
3.游戏开始,结束,保存,
2.界面功能分析
文件:
1.开始游戏
2.重新开始
3.保存游戏
4.最新记录
设置:
1.下落速度
1.加快
2.减慢
2.游戏背景
1.style1
2.style2
3.style3
3.游戏音乐
1.music1
2.music2
3.music3
帮助:
1.使用技巧
2.开发人员
3.版本信息
3,游戏对象分析:
1.游戏窗体由界面设计完成
2.游戏中下落的小方块为对象
1.这个小方块需要变化
1,变成一条线
2,变成矩形
3,变成向上的三角形
4,变成向下的三角形
5,变成向右的三角形
6,变成向左的三角形
7,变成锐角向上的直角三角形
8,变成锐角向下的三角形
9,变成锐角向右的三角形
10,变成锐角向左的三角形
11,随机编号确定要变成的是那种三角形
12,同时方块进行颜色的变化
1,颜色的变化按照红绿蓝黄随机变化
13,方块的生成采用2D绘图绘制
2,小方块的属性:
1,width/可以被游戏窗口整除的整数,这是个定值
2,height/可以被游戏窗口高度整除的整数,这是个定值
3,X/记录小方块的左上角位置,转化维数组时需要考虑到方块的大小
4,Y
5,speed/记录方块的速度,方块的下落速度由此操作
6,color/记录方块的颜色,由枚举值确定,
3,小方块的方法:
1.小方块变形,调用这个方法可以获得小方块下一刻的形态以及颜色
2.将小方块绘制在窗口中
4,碰撞的处理,
1,当小方块碰到其他方块或者界面的底部时停止移动,
判断数组横向有没有构成消失条件
判断数组纵第一行有没有变化
第一行发生改变说明数组已经碰到窗口顶部,游戏结束,画面暂停
没有则继续
3.如何知道窗口中的方块是不是横向连成一条线呢
1.用一个二维数组去存储小方格得位置
2.二维数组中的值记录了当前小方块的颜色编号
3.当二维数组中的行值相同时清除掉二维数组此行的值并且记录成绩,同时刷新界面
1.刷新界面可以采用一个timer定时器实现
2.还可以用这个定时器控刷新方块的移动