Java游戏编程原理与实践教程课件 第12章.pptVIP

  • 0
  • 0
  • 约1.01千字
  • 约 7页
  • 2019-07-17 发布于辽宁
  • 举报

Java游戏编程原理与实践教程课件 第12章.ppt

游戏过程仅需要玩家将不断下落的各种形状的方块移动、翻转,如果某一行被方块充满了,那就将些行消掉;而当窗口中无法再容纳下落的方块时,就宣告游戏的结束。 可见俄罗斯方块的需求如下: (1)由移动的方块和不能动的固定方块组成; (2)一行排满消除; (3)能产生多种方块; (4)玩家可以看到游戏的积分和下一方块的形状。 (5)下一方块可以逆时针旋转。 第12章 俄罗斯方块游戏 游戏界面和相关图片素材 12.2 程序设计的思路 12.2.1 俄罗斯方块形状设计 常见的俄罗斯方块拥有7种基本的形状以及他们旋转以后的变形体,具体的形状如图12-2所示: 每种形状都是由不同的黑色小方格组成,在屏幕上只需要显示必要的黑色小方格就可以表现出各种形状,它们数据逻辑可以使用一个4×4的2维数组表示,数组的存储值为0或者1,如果值为1则表示需要显示一个黑色方块,为0则表示不显示。 每种形状逆时针转动就会形成一个新的形状,为了程序处理简单,可以把这些基本形状的变形体都使用二维数组定义好,这样就不需要编写每个方块的旋转函数了。 定义一个二维数组存储⊥字形方块 及所有变形体。 int[][] shapes = { { 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, { 0, 1, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 }, { 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, { 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0 } } 由于二维数组shapes仅能保存一种形状及其变形,所以用三维数组存储7种形状及其变形。 12.2.2 俄罗斯方块游戏面板屏幕 屏幕由20行10列的网格组成,为了存储游戏画面中的已固定方块采用二维数组map,当相应的数组元素值为1则绘制一个黑色小方块。一个俄罗斯方块形状在面板中的显示只需要把面板中相应的单元格绘制为黑色方块即可。 而方块的下落的基本处理方式就是当前方块下移一行的位置,然后根据当前方块的数组的数据和存储的固定方块的面板二维数组map,重新绘制一次屏幕即可,如图12-4所示。所以要使用一个坐标记录当前方块形状所在的行号y和列号x。

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档