0

我在做 Nim 游戏程序时遇到了一些麻烦。到目前为止,我有一个显示管道金字塔的程序。它看起来像这张图片上的“起始位置”金字塔。

http://www.mathsisfun.com/puzzles/images/b-nim.gif

无论如何,我在移动时遇到了麻烦,每当我尝试移动时,我的光标都会以完全不稳定的方式移动。这将使游戏完全无法玩。我不确定这是否是我的计数变量的问题,甚至是我完全丢失的一些较小的东西,无论如何这就是我所拥有的:

   #include <stdlib.h>

   int     nim()
   {
     char   *tab;

     if ((tab = malloc(sizeof(char) * 20 + 4)) == NULL)
       return (-1);
     tab = "   |   \n  |||   \n ||||| \n |||||||\n"; /* this is indeed a nasty way to do it :P */
     putstr(tab);
   }

   int     move_normally()
   {
     char  bffr[10];
     int   x;
     int   y;

     x = 0;
     y = 0;
     while (42 && x <= 6 && y <= 3)
       {
         read(0, bffr, 10);
         putstr(tgoto(tgetstr("cm", NULL), x, y);
         if (bffr[2] == 66 && y <= 3 && x <= 6)
           y++
         else if (bffr[2] == 65 && x <= 6 && y <= 3 && (y - 1) >= 0)
           y = y - 1;
         else if (bffr[2] == 67 && x <= 6 && y <= 3)
           x++
         else if (bffr[2] == 68 && x <= 6 && y <= 3 && (x - 1) >= 0)
           x++
       } 
   }

那么,我在这里缺少什么吗?其他一切都几乎完美无缺,我无法理解为什么这会带来麻烦。另外,还有其他方法可以做到这一点吗?我对任何替代方式持开放态度。

4

0 回答 0