好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

语言程序设计资料:java游戏开发之〈俄罗斯方块规则简述〉.doc

11页
  • 卖家[上传人]:hs****ma
  • 文档编号:556287663
  • 上传时间:2024-02-01
  • 文档格式:DOC
  • 文档大小:112KB
  • / 11 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 〈俄罗斯方块规则简述〉游戏元素:[元素] 方块[规格] 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]来标记方块这样,坐标[1,1]就表示图中黑色的方块, 坐标[18,12]就表示图中红色的方块依次类推。

      Y标记X标记 变量赋值: alpa=1(默认初始状态)积木生成:[元素] 方块[规格] 由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值的方块:(参考场景构成的[方块识别] )积木代号:B_1积木代号:B_2积木代号:A_2积木代号:A_1积木代号:E_1积木代号:D_4积木代号:D_3积木代号:D_2积木代号:D_1积木代号:C_4积木代号:C _3积木代号:C_2积木代号:C_1积木代号:G_4积木代号:G_3积木代号:G_2积木代号:F_2积木代号:G_1积木代号:F_1碰撞检测规则:[碰撞规则] (在方块下落之前,我们要先进行碰撞检测一判定是否满足下落的条件。

      当构成积木的方块有一个方块最先与场景中其他积木方块有垂直方向接触时,或者与场景底部有接触时,为成功碰撞, 否则为碰撞检测失败 当构成积木的方块有一个方块最先与场景中其他积木方块有水平方向接触时,为成功碰撞 否则为碰撞检测失败 [检测方法] ( 积木下落过程中,构成积木的方块的坐标是随时在变动着,也代表着场景中方块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:变形键 [变形规则] 一个积木只有几个有限的可变型状,当把其他的型状变完后,再变的话就又会回到原来的形状。

      积木变形是一个循环的过程[核心规则](积木在场景中显示出来是因为指定的方块透明度=0,而透明度=1的方块是看不见颜色的,也就是用黑色方块来显示出积木的形状)(具体变换,那就是根据方块标记的唯一坐标来给指定的方块透明度进行赋值的过程了)因为篇幅问题所以就只列出一部分来说明:注意:*[X,Y]=1/0 表示该坐标的方块alpa值 alpa=1/0参考积木的代号*积木的变形规则可以根据积木的标记来判断变形后的alpa值A_2A_1A:A_2A_1变形前/变形后 输入变形命令 变形后/变形前 [1,N\2 ]=0 [1,N\2 ]=1 [2,N\2 ]=0 [2,N\2 ]=0 [2,N\2 ]=1 [2,N\2+1]=0 [2,N\2+1]=0 [2,N\2+1]=1 [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_2B_1B:C_3C_4C_2C_1C:C_3C_2C_1变形前/变形后 输入变形命令 变形后/变形前 输入变形命令 变形前/变形后 [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优化:变形前/变形后 输入变形命令 变形后/变形前 输入变形命令 变形前/变形后 [1,N\2 ]=0 [1,N\2 ]=1 [2,N\2 ]=0 [1,N\2-1]=0[2,N\2 ]=0 [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 ]=0C_1C_4 输入变形命令 变形前/变形后 输入变形命令 变形前/变形后[1,N\2-1] =1 [2,N\2+1] =0 [2,N\2+1]=1 [1,N\2 ]=0 [1,N\2 ] =1 [3,N\2-1] =0 [3,N\2-1]=1 [2,N\2 ]=0 [2,N\2 ] =1 3,N\2 ] =0 [3,N\2 ]=1 [3,N\2 ]=0 [3,N\2 ] =1 [3,N\2+1] =0 [3,N\2+1]=1 [3,N\2+1]=0 优化: 输入变形命令 变形前/变形后 输入变形命令 变形前/变形后[1,N\2-1] =1 [2,N\2+1] =0 [2,N\2+1]=1 [1,N\2 ]=0 [1,N\2 ] =1 [3,N\2-1] =0 [3,N\2-1]=1 [2,N\2 ]=0 [2,N\2 ] =1 [3,N\2 ] =0 [3,N\2 ]=0 [3,N\2+1] =0 [3,N\2+1]=0 C_3D_2C_4D_1D:E_1E:F_2F_1F:G_3G_2G_4G_1G:移动规则:[操作按键] B_1:左移动键 B_2:右移动键 B_3:下落键[移动规则] 左平移: 积木延水平方向左移一个方块大小的位置 右平移: 积木延水平方向右移一个方块大小的位置 垂直下落: 积木延垂直方向迅速下落[核心规则]第一次平移: 移动后坐标 构成积木的方块系统初始化坐标 [X1,Y1]=0 [X1,Y1]=1 [X1,Y1-1]=0 [X2,Y2]=0 ->左平移命令->[X2,Y2]=1 [X2,Y2-1]=0 [X3,Y3]=0 碰撞检测失败 [X3,Y3]=1 [X3,Y3-1]=0 [X4,Y4]=0 [X4,Y4]=1 , [X4,Y4-1]=0 平移后的坐标再默认赋给初始坐标 移动后坐标构成积木的方块系统初始化坐标[X1,Y1]=0 [X1,Y1]=1 [X1,Y1+1]=0 [X2,Y2]=0 ->右平移命令->[X2,Y2]=1 [X2,Y2+1]=0 [X3,Y3]=0 碰撞检测失败 [X3,Y3]=1 [X3,Y3+1]=0 [X4,Y4]=0 [X4,Y4]=1 ,[X4,Y4+1] =0 平移后的坐标再默认赋给初始坐标 第二次平移: 移动后坐标构成积木的方块默认初始坐标 [。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.