VB.NET开发游戏第11-15章方块固定逻辑与二维数组操作
方块固定到游戏面板上的逻辑,其实就是用一个二维数组把当前下落的方块“写死”在背景里,方便后续重绘。MoveBlockToPile()
这个方法干的就是这事儿,思路挺清晰:遍历方块形状数组,挨个映射到pile
这个全局数组上。写法简单直白,效率也还不错。
方式上没太多花里胡哨的东西,重点就在坐标计算上,fx
、fy
就是把局部位置映射到全局位置,这种逻辑在写俄罗斯方块、消消乐类游戏里挺常见。如果你也是在搞类似的小游戏,不妨参考这个方法改一改。
另外,写完这个函数后面还跟着两步操作,一个是CheckForLines()
——检测是否有可消除的行;另一个是CheckForGameOver()
,判断游戏是否结束。看得出来作者思路比较清楚,流程也合理,逻辑一目了然。
如果你还在琢磨二维数组怎么高效操作,可以顺手看看下面这几个链接:有排序的、有指针操作的、还有动态生成的。都是一些比较常用的技巧,结合起来用,效率能拉满。
如果你正好在用VB.NET
写游戏逻辑,不妨把pile
数组这套结构搬到自己项目里试试,改一改就能用,开发效率提升不止一点点。
1.31MB
文件大小:
评论区