所以我的项目是用c ++制作一个基于文本的杆位游戏。我的柜台似乎没有起作用。它只会计数,但永远不会退缩。现在我只是担心左右移动。这是我的代码:
void move(){
system("cls");
//movement testing
char move = 'l';
int posX = 10;
int posY = 0;
int counter = 1;
while (true){
if (move == 'l')
counter = counter +1;
else if (move == 'j')
counter = counter -1;
if (counter = 0){
counter = 0;
cout <<endl;
cout <<endl;
cout <<endl;
cout <<endl;
cout <<endl;
cout <<endl;
cout <<endl;
cout <<endl;
cout <<endl;
cout <<endl;
cout <<endl;
cout <<endl;
cout <<endl;
cout <<endl;
cout <<endl;
cout <<endl;
cout <<" | ____ "<< endl;
cout <<" | _[THIS]_ "<< endl;
cout <<" | [IS A CAR] "<< endl;
cout <<" | O||[]___[]||O "<< endl;
cout <<"_______________________________________________________________________________" <<endl;
cout << "Current Position = [" << posX << ","<<posY << "] <Enter a move>";
cin >> move;
}
if (counter = 1){
system("cls");
cout <<endl;
cout <<endl;
cout <<endl;
cout <<endl;
cout <<endl;
cout <<endl;
cout <<endl;
cout <<endl;
cout <<endl;
cout <<endl;
cout <<endl;
cout <<endl;
cout <<endl;
cout <<endl;
cout <<endl;
cout <<endl;
cout <<" | ____ "<< endl;
cout <<" | _[THIS]_ "<< endl;
cout <<" | [IS A CAR] "<< endl;
cout <<" | O||[]___[]||O "<< endl;
cout <<"_______________________________________________________________________________" <<endl;
cout << "Counter = [" << counter << "] <Enter a move>";
cin >> move;
}
if (counter = 2){
system("cls");
cout <<endl;
cout <<endl;
cout <<endl;
cout <<endl;
cout <<endl;
cout <<endl;
cout <<endl;
cout <<endl;
cout <<endl;
cout <<endl;
cout <<endl;
cout <<endl;
cout <<endl;
cout <<endl;
cout <<endl;
cout <<endl;
cout <<" | ____ "<< endl;
cout <<" | _[THIS]_ "<< endl;
cout <<" | [IS A CAR] "<< endl;
cout <<" | O||[]___[]||O "<< endl;
cout <<"_______________________________________________________________________________" <<endl;
cout << "Counter = [" <<counter << "] <Enter a move>";
cin >> move;
}
if (counter = 3){
system("cls");
cout <<endl;
cout <<endl;
cout <<endl;
cout <<endl;
cout <<endl;
cout <<endl;
cout <<endl;
cout <<endl;
cout <<endl;
cout <<endl;
cout <<endl;
cout <<endl;
cout <<endl;
cout <<endl;
cout <<endl;
cout <<endl;
cout <<" | ____ "<< endl;
cout <<" | _[THIS]_ "<< endl;
cout <<" | [IS A CAR] "<< endl;
cout <<" | O||[]___[]||O "<< endl;
cout <<"_______________________________________________________________________________" <<endl;
cout << "Counter = [" <<counter << "] <Enter a move>";
cin >> move;
}
if (counter = 4){
system("cls");
cout <<endl;
cout <<endl;
cout <<endl;
cout <<endl;
cout <<endl;
cout <<endl;
cout <<endl;
cout <<endl;
cout <<endl;
cout <<endl;
cout <<endl;
cout <<endl;
cout <<endl;
cout <<endl;
cout <<endl;
cout <<endl;
cout <<" | ____ "<< endl;
cout <<" | _[THIS]_ "<< endl;
cout <<" | [IS A CAR] "<< endl;
cout <<" | O||[]___[]||O "<< endl;
cout <<"_______________________________________________________________________________" <<endl;
cout << "Counter = [" <<counter << "] <Enter a move>";
cin >> move;
}
if (counter = 5){
system("cls");
cout <<endl;
cout <<endl;
cout <<endl;
cout <<endl;
cout <<endl;
cout <<endl;
cout <<endl;
cout <<endl;
cout <<endl;
cout <<endl;
cout <<endl;
cout <<endl;
cout <<endl;
cout <<endl;
cout <<endl;
cout <<endl;
cout <<" | ____ "<< endl;
cout <<" | _[THIS]_ "<< endl;
cout <<" | [IS A CAR] "<< endl;
cout <<" | O||[]___[]||O "<< endl;
cout <<"_______________________________________________________________________________" <<endl;
cout << "Counter = [" <<counter << "] <Enter a move>";
cin >> move;
}
if (counter = 6){
system("cls");
cout <<endl;
cout <<endl;
cout <<endl;
cout <<endl;
cout <<endl;
cout <<endl;
cout <<endl;
cout <<endl;
cout <<endl;
cout <<endl;
cout <<endl;
cout <<endl;
cout <<endl;
cout <<endl;
cout <<endl;
cout <<endl;
cout <<" | ____ "<< endl;
cout <<" | _[THIS]_ "<< endl;
cout <<" | [IS A CAR] "<< endl;
cout <<" | O||[]___[]||O "<< endl;
cout <<"_______________________________________________________________________________" <<endl;
cout << "Counter = [" <<counter << "] <Enter a move>";
cin >> move;
}
if (counter = 7){
system("cls");
cout <<endl;
cout <<endl;
cout <<endl;
cout <<endl;
cout <<endl;
cout <<endl;
cout <<endl;
cout <<endl;
cout <<endl;
cout <<endl;
cout <<endl;
cout <<endl;
cout <<endl;
cout <<endl;
cout <<endl;
cout <<endl;
cout <<" | ____ "<< endl;
cout <<" | _[THIS]_ "<< endl;
cout <<" | [IS A CAR] "<< endl;
cout <<" | O||[]___[]||O "<< endl;
cout <<"_______________________________________________________________________________" <<endl;
cout << "Counter = [" <<counter << "] <Enter a move>";
cin >> move;
}
if (counter = 8){
system("cls");
cout <<endl;
cout <<endl;
cout <<endl;
cout <<endl;
cout <<endl;
cout <<endl;
cout <<endl;
cout <<endl;
cout <<endl;
cout <<endl;
cout <<endl;
cout <<endl;
cout <<endl;
cout <<endl;
cout <<endl;
cout <<endl;
cout <<" | ____ "<< endl;
cout <<" | _[THIS]_ "<< endl;
cout <<" | [IS A CAR] "<< endl;
cout <<" | O||[]___[]||O "<< endl;
cout <<"_______________________________________________________________________________" <<endl;
cout << "Counter = [" <<counter << "] <Enter a move>";
cin >> move;
}
if (counter = 9){
system("cls");
cout <<endl;
cout <<endl;
cout <<endl;
cout <<endl;
cout <<endl;
cout <<endl;
cout <<endl;
cout <<endl;
cout <<endl;
cout <<endl;
cout <<endl;
cout <<endl;
cout <<endl;
cout <<endl;
cout <<endl;
cout <<endl;
cout <<" | ____ "<< endl;
cout <<" | _[THIS]_ "<< endl;
cout <<" | [IS A CAR] "<< endl;
cout <<" | O||[]___[]||O "<< endl;
cout <<"_______________________________________________________________________________" <<endl;
cout << "Counter = [" <<counter << "] <Enter a move>";
cin >> move;
}
else
counter = counter - 1;
//cout << posX << ","<<posY <<endl;
}
答案 0 :(得分:2)
像这样if (counter = 0)
的行会将counter设置为零,如果它为零则不测试。您需要改为使用if (counter == 0)
。
更一般的评论是你永远不应该有这么多重复的源代码 - 你可以使用一个循环去除所有那些空行cout
,然后有另一个循环来生成移动的空格车侧身。