Main.cpp 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. #include <iostream>
  2. #include <windows.h>
  3. #include <conio.h>
  4. #include "Const.h"
  5. int main()
  6. {
  7. struct Field field;
  8. struct Snake snake;
  9. struct Game game;
  10. struct Food food;
  11. init_game(field, snake, game, food);
  12. _getch(); // ожидание отклика игрока
  13. system("cls");//полная очистка консоли
  14. #define Auto
  15. //#define Hand
  16. while (game.game_on)
  17. {
  18. setCursorPosition(0, 0);
  19. //system("cls");//полная очистка консоли
  20. #if defined Auto
  21. if (_kbhit())
  22. {
  23. handle_cmd(snake, game);
  24. }
  25. //else { continue; }
  26. #elif defined Hand
  27. handle_cmd(snake, game);
  28. #else
  29. std::cout << "Select mode!" << std::endl;
  30. #endif
  31. clear_snake(field, snake);//Очищается позиция змейки на поле
  32. check_eating(snake, food);//Выполняется проверка того, что змейка съела еду.
  33. //set_food(field, food);//Генерируется значение еды и устанавливается в игровом поле.
  34. move_snake(snake);//смещаем положение головы змейки в массиве змейки
  35. check_snake(field, snake);//проверка на столкновение с границей поля
  36. set_snake(field, snake);//Змейка устанавливается в игровом поле
  37. print_field(field, food.score);//печать
  38. game.game_on = check_game(field, snake, food);//проверка на конец игры
  39. set_food(field, food);//Генерируется значение еды и устанавливается в игровом поле.
  40. Sleep(game.timeout);//ожидание
  41. }
  42. game_over(field, snake, food);
  43. return 0;//код завершения приложения
  44. }