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++
}
}
それで、私がここに欠けているものはありますか?他のすべてはほぼ完全に機能し、これが問題を引き起こしている理由を理解できません。また、これを行う他の方法はありますか?私はあらゆる代替方法を受け入れます。