俄罗斯方块在C中

时间:2014-04-25 09:06:40

标签: c tetris

我有一个大学项目,使用动态分配的板来创建俄罗斯方块,该板代表.的空白部分。我想单独创建每个块的块,例如

O
O O O 
俄罗斯方块中的

块将在2d动态分配矩阵中描述:

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';
}

所以我的问题是:

  • 这样有效吗?

  • 是否有另一种方法可以制作块并将其移动到板内 矩阵更容易吗?

通过我的积木解决方案,我有点难以找到让它们像整体一样掉落的方法,就像绘制俄罗斯方块一样。

另外,我被告知要包括一个硬模式,俄罗斯方块开始时,我的解决方案很难解决板上的某些块或块部件。

这是我的第一次发帖,请告诉我您是否需要有关我的问题的更多信息。谢谢你的时间。

1 个答案:

答案 0 :(得分:0)

以下是在c

中实施的俄罗斯方块游戏的示例

http://www.gladir.com/CODER/TURBOC/tetris.htm

在第一个链接中,形状存储在分离的二维数组中 并添加到代表棋盘游戏的矩阵中。 - 同样的原则作为你的想法 - 。 我认为这种架构可能符合您的需求,因为它有点像您的需求 片段分开,用OO语言表示,不同的对象来自同一个父classe Shape -for instance - 。

这是俄罗斯方块的另一个例子,就像在c中一样,它看起来比较混乱 第一个链接,但它可能有所帮助。

http://www.c.happycodings.com/Games_and_Graphics/code32.html