gpt4 book ai didi

c - C中的俄罗斯方 block

转载 作者:太空宇宙 更新时间:2023-11-04 00:06:12 26 4
gpt4 key购买 nike

我有一个大学项目,使用动态分配的板来创建俄罗斯方 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/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com