游戏开发之〈俄罗斯方块规则简述〉
时间:2025-03-10
时间:2025-03-10
这是用DirectX做的俄罗斯方块游戏全过程,希望对喜欢游戏开发的朋友有用!
〈俄罗斯方块规则简述〉 游戏元素: [元素] 方块
[规格] 5×5像素 [颜色] 黑色
[状态] 透明,不透明 [核心规则]
元素: Fangkuai_bitmap(方块美术图文件名) 规格: 5×5像素 黑色
变量: alpa(alpa=1为透明,alpa=0为不透明)
场景构成:
[形状] 长方形,长>宽
[规格] 由M×N个元素方块构成,M表示长,N表示宽,一个方块大小为一个计量单位 比如:18×12 表示长度为18个方块大小,宽度为12个方块大小。 [颜色] 透明
[状态] 所有方块alpa=1 [核心规则]
构成元素: M×N个Fangkuai_bitmap 方块识别: 引入数组ALL[X,Y]来对每一个方块在场景中的位置做唯一的标记,X的数值
对应M的数值,Y的数值对应N的数值。
例如:18×12大小的场景,由18×12个方块组成,那么用ALL[X,Y]来标记方块
变量赋值: alpa=1(默认初始状态)
这是用DirectX做的俄罗斯方块游戏全过程,希望对喜欢游戏开发的朋友有用!
积木生成: [元素] 方块
[规格] 由4个方块按照一定规则组合而成 ,如图: 共计19件
[颜色]黑色 [状态]不透明 [核心规则]
积木是通过场景中以下坐标标记的方块的alpa值来生成的: [1,Y\2-1] [1,Y\2] [1,Y\2+1] [2,Y\2-1] [2,Y\2] [2,Y\2+1] [3,Y\2-1] [3,Y\2] [3,Y\2+1]
生成积木的时候,更改相应的方块变量值 ,其变量alpa=0 以下坐标标记的方块为需要更改alpa值的方块: (参考场景构成的[方块识别
] )
积木代号:A_1
积木代号:A_2
积木代号:B_1
积木代号:B_2
这是用DirectX做的俄罗斯方块游戏全过程,希望对喜欢游戏开发的朋友有用!
积木代号:C_1
积木代号:C_2
积木代号:C _3
积木代号:C_4
积木代号:D_1
积木代号:D_2
积木代号:D_3
积木代号:D_4
积木代号:E_1
积木代号:F_1
积木代号:F_2
积木代号:G_1
积木代号:G_2
积木代号:G_3
积木代号:G_4
碰撞检测规则:
[碰撞规则]
(在方块下落之前,我们要先进行碰撞检测。一判定是否满足下落的条件。) 当构成积木的方块有一个方块最先与场景中其他积木方块有垂直方向接触时,或者与场景底部有接触时,为成功碰撞,
这是用DirectX做的俄罗斯方块游戏全过程,希望对喜欢游戏开发的朋友有用!
否则为碰撞检测失败。
当构成积木的方块有一个方块最先与场景中其他积木方块有水平方向接触时,为成功碰撞
否则为碰撞检测失败。 [检测方法]
( 积木下落过程中,构成积木的方块的坐标是随时在变动着,也代表着场景中方块alpa值的变动)
构成积木的方块坐标[X,Y],检测[X+1,Y]=1时候成立,为碰撞检测失败
检测[X,Y+1]=1时候成立,为碰撞检测失败 检测[X,Y-1]=1时候成立,为碰撞检测失败
检测[X+1,Y]=1时候不成立,即[X+1,Y]=0,为成功碰撞。 检测[X,Y+1]=1时候不成立,即[X,Y+1]=0,为成功碰撞 检测[X,Y-1]=1时候不成立,即[X,Y-1]=0,为成功碰撞 当X+1>M时,或则Y+1>N或则Y-1<=0时 ,不需要进行检测,默认为成功碰撞
积木变形:
[操作按键] A_1:变形键
[变形规则] 一个积木只有几个有限的可变型状,当把其他的型状变完后,再变的话就
又会回到原来的形状。
积木变形是一个循环的过程。
这是用DirectX做的俄罗斯方块游戏全过程,希望对喜欢游戏开发的朋友有用!
[核心规则]
(积木在场景中显示出来是因为指定的方块透明度=0,而透明度=1的方块是看不见颜色的,也就是用黑色方块来显示出积木的形状)
(具体变换,那就是根据方块标记的唯一坐标来给指定的方块透明度进行赋值的过程了)
因为篇幅问题所以就只列出一部分来说明: 。
注意:*[X,Y]=1/0 表示该坐标的方块alpa值 alpa=1/0。
*参考积木的代号
*
alpa值
A:
变形前/变形后
输入变形命令 变形后/变形前 [1,N\2 ]=0
[1,
N\2 ]=1
[2,N\2
]=0
[2,N\2 ,N\2 [2,N\2+1]=0 [2,, [3,N\2 ]=0 [3,N\2+1]=0 [3,N\2+1]=1 [3,N\2-1]=0
优化:
变形前/变形后 输入变形命令 变形后/变形前 [1,N\2 ]=0 [1,N\2 ]=1 [2,N\2 ]=0 [2,N\2 ]=0 [2,N\2+1]=0 [2,N\2+1]=0 [3,N\2 ]=0 [3,N\2+1]=0 [3,N\2+1]=1 [3,N\2-1]=0
B:
C:
变形前/变形后 输入变形命令 变形后/变形前 输入变形命令 变形前/变形后 [1,N\2 ]=0 [1,N\2 ]=1 [2,N\2 ]=0 [2,N\2 ]=1 [1,N\2-1]=0 [2,N\2 ]=0 [2,N\2 ]=1 [2,N\2-1]=0 [2,N\2-1]=1 [1,N\2 ]=0 [3,N\2 ]=0 [3,N\2 ]=1 [2,N\2+1]=0 [2,N\2+1]=1 [2,N\2 ]=0 [3,N\2+1]=0 [3,N\2+1]=1 [3,N\2-1]=0 [3,N\2-1]=1 [3,N\2 ]=0 优化:
变形前/变形后 输入变形命令 变形后/变形前 输入变形命令 变形前/变形后
这是用DirectX做的俄罗斯方块游戏 …… 此处隐藏:3500字,全部文档内容请下载后查看。喜欢就下载吧 ……
上一篇:桥梁工程第一章课件