I'm programming a Snake Game in C++ in order to learn more about C ++. I made the game using the paradigms of object-oriented programming, but the design of the drawGame function is not working properly.
Testing the drawGame function, I'm getting this as result:
void Game::drawGame(int fruitxpos, int fruitypos, std::vector<int>& xposition, std::vector<int>& yposition, int snakesize){
system("cls");
int printedflag = 0;
for(int j = 1; j <= ysize; j++){
if(j == 1 || j == ysize){
for(int i = 1; i <= xsize; i++){
std::cout << "#";
}
std::cout << "\n";
}
else{
for(int i = 1; i <= xsize; i++){
if(i == 1 || i == xsize){
std::cout << "#";
}
else{
for(int n = 0; n <= snakesize; n++){
if(i == xposition[n] && j == yposition[n]){
std::cout << "o";
printedflag = 1;
}
else{
printedflag = 0;
}
}
if(!printedflag){
if(i == fruitxpos && j == fruitypos){
std::cout << "F";
}
else{
std::cout << " ";
}
}
}
}
std::cout << "\n";
}
}
}
As you can see, It is printing a blank space after every snake block. Could someone explain me what is wrong?