我有一个大学项目,使用动态分配的板来创建俄罗斯方 block ,该板用 .
表示空白部分。我想用它们的每个部分单独创建 block ,例如
O
O O O
俄罗斯方 block 中的 block 将在二维动态分配矩阵中描述,如下所示:
tablo[0][((distX/2)-1)] = 'O';
/*tablo stands for board(the 2d allocated matrix) and '(distX/2)-1' was
used to start the block from top center of the board */
printf("\n");
for(i=0;i<3;i++)
{
tablo[1][((distX/2)-1)+i] = 'O';
}
所以我的问题是:
这样有效率吗?
还有另一种方法可以制作方 block 并将它们移动到棋盘内吗 哪个矩阵更简单?
对于我的方 block 解决方案,我很难找到让它们像整体一样掉落的方法,就像画俄罗斯方 block 一样。
另外,我被告知要包括一个硬模式,俄罗斯方 block 从棋盘上的一些 block 或 block 部分开始,这对我的解决方案来说是困难的。
这是我第一次发帖,所以如果您需要有关我的问题的更多信息,请告诉我。感谢您的宝贵时间。
最佳答案
这里是一个用c实现的俄罗斯方 block 游戏的例子
http://www.gladir.com/CODER/TURBOC/tetris.htm
在第一个链接中,形状存储在单独的二维数组中 并添加到代表棋盘游戏的矩阵中。 - 与您的想法相同的原则-。 我认为这种架构可能适合您的需求,因为它有点像让您的 分开的部分,将以 OO 语言表示,具有来自同一父类 Shape 的不同对象 - 例如 -。
这里是另一个类似 c 的俄罗斯方 block 的例子,它看起来比 第一个链接,但它可能会有所帮助。
http://www.c.happycodings.com/Games_and_Graphics/code32.html
关于c - C中的俄罗斯方 block ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23288748/