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