So my project is to make a text based pole position game in c++. My counter does not seem to be working. it only counts up but never back down. Right now i am only worrying about moving side to side. This is my code:
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;
}
A line like this if (counter = 0)
will set counter to zero, not test if it's zero. You need to use if (counter == 0)
instead.
A more general comment is that you should never have this much repeated source code - you could use a loop to get rid of all those blank line cout
s, then have another loop to generate the spacing to move the car sideways.