Question

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;


}
Was it helpful?

Solution

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 couts, then have another loop to generate the spacing to move the car sideways.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top