一开始我认为我的问题应该被问到,但我没有找到我想要的。
我正在开发的这个iOS应用程序的一个元素是将一个8x8网格分解成俄罗斯方块块(每个块由4个块组成)。我有两个特别的问题:
01/28 @livingtech的版本,我想我实现了你所说的,除了“有一个洞”的意义。我的代码在简单的阶段没有孔,当俄罗斯方块只是两个块(是的,两个正方形,水平或垂直连接),但在3平方俄罗斯方块,我会得到洞。我刚刚测试了1000次跑步,我会得到一个没有洞。所以,我肯定需要一些机制来检查下一个正方形是否是一个单例。
发布于 2013-03-13 03:08:40
我一直在努力为我的比赛做同样的事。虽然我是一个完全的初学者,我使用的是XNA
和C#。
但我尝试的方式是:4x6 grid array
--y123456
X1-000000
X2-000000
X3-000000
X4-000000
这里,
算法
我的设置有点不同。但这是我的随机俄罗斯方块引擎的基本基础。
我还发现,这样做确实有助于有一个白板,并绘制网格和标签与您的坐标。
发布于 2013-01-26 05:24:29
既然你的板是8*8,我想你可以用int64来表示这个板。int64的每个位表示是否填充了特定的网格。
发布于 2013-01-26 07:46:38
实施俄罗斯方块是我的爱好。首先在Windows/C中实现它,然后在Perl/Tk中实现它!最后一次实现是在Obj/Cocoa (Mac)中完成的。在任何情况下,游戏逻辑都是一样的。只有UI才会改变。我分别对待每个小盒子,并有一个二维数组,其中包含每个“设置”盒的存在(和颜色)在板上。我使用的标准板尺寸是10盒宽20箱高。
另外,我会跟踪“掉落”的部分:它的位置和它是什么类型的。在计时器的基础上,试着让碎片掉下来。如果已经设置了“丢弃”部分的任何框,则停止丢弃该段,并将该块框添加到板的“设置”部分。创建一个新的片段,然后重新开始。
这可能不是实现它的最佳方式,但在我的头脑中是有意义的。从纯OO的角度来看,每一个丢弃片段的形状都可以是泛型形状类的子类。重写函数,这些函数检查形状是否可以拖放,形状中单个框的偏移量等等。
https://stackoverflow.com/questions/14533762
复制相似问题