Wąż nie rośnie po zjedzeniu drugiego pokarmu oraz nie generuje się kolejny.
Wrzucam kod:
#include <iostream>
#include <chrono>
#include <thread>
#include "console.h"
#include "Snake.h"
#include "Food.h"
void check(Board gameBoard,Food *_food, Snake &_snake)
{
if (_food->getCoorX() == _snake.getCoorX() && _food->getCoorY() == _snake.getCoorY())
{
delete _food;
_snake.growBody();
_food = new Food(gameBoard);
}
}
int main()
{
int width, height;
std::cout << "Podaj szerokosc planszy: ";
std::cin >> width;
std::cout << "Podaj wysokosc planszy: ";
std::cin >> height;
Board gameBoard(width, height);
Snake snake(gameBoard);
Food *food = new Food(gameBoard);
for (;;)
{
clear();
gameBoard.drawBoard();
std::chrono::milliseconds timespan(1000);
std::this_thread::sleep_for(timespan);
snake.changeDirection();
snake.move(gameBoard);
check(gameBoard, food, snake);
}
}