大名鼎鼎的俄罗斯方块 Tetris 的各种游戏乐趣和设计分析自然不需我赘述,仅在次分析其核心循环的工作机制.
系统随机产生方块 → 方块下落 同时玩家操作移动/旋转 → 方块落地,若某行被填满则消除,若超出上限则GAMEOVER
看上去好像很简单,我们只要把上述机制在UNITY中用计算机语言实现,可以说游戏的基本功能就都实现了.
按照序中所述,我们不使用瀑布开发流程,也就是在这一步里,我们只要能理解上述基本流程就可以了,甚至不需要去进一步分析整理,
就可以直接进入下一个制作阶段
① 系统随机产生方块
在这个功能描述里,我们可以看到,基本上分成1.系统 2.随机生成 3.方块 这个三个部分,其中系统应该是我们要做的整个游戏的当前要制作的部分的整体描述,
也可以说是我们要输出的结果,所以暂且不考虑,而随机生成的目标是方块,也就是说,我们首先要有方块才能进行随机生成.
分析需求之后,我们可以知道,要做的第一件事情就是 定义方块
首先我们来看一下,经典俄罗斯方块:
分析以上七种方块,可知:俄罗斯方块是由4个一样大小的正方形结合而成的.
所以我们在定义方块之前应该先有正方形,在此处,因为我们在不同的方块中准备使用完全相同的正方形,所以可以将其视为一个整体,暂不继续追求正方形的定义.
而后就是正方的结合方式,当我们把正方形视为一个基本单位时,就可以建立基于正方形的坐标系,来描述上述几个图形,示例如下:
0,0 | 1,0 | 2,0 | 3,0 |
0,0 | ||
0,1 | 1,1 | 2,1 |