# include <iostream>
# include <windows.h>
# include <time.h>
# include <conio.h>
using namespace std;char main_color[] = "color ##";
int snake_size, change_x, change_y, coordinates_x[1000], coordinates_y[1000], food_x = -1, food_y = -1;
char symbol, a[1000][1000];
const int N = 13, M = 17, INTERVAL = 200;
void change_color()
{
char x = rand() % 16, y = rand() % 16;
if (x == y)
++y;
y %= 16;
if (x > 9)
x += 'A' - 10;
else
x += '0';
if (y > 9)
y += 'A' - 10;
else
y += '0';
main_color[6] = x;
main_color[7] = y;
system(main_color);
}
void change_direction()
{
symbol = getch();
switch (symbol)
{
case 'w': if(change_x != 1 || change_y != 0) { change_x = -1; change_y = 0; } break;
case 'a': if(change_x != 0 || change_y != 1) { change_x = 0; change_y = -1; } break;
case 's': if(change_x != -1 || change_y != 0) { change_x = 1; change_y = 0; } break;
case 'd': if(change_x != 0 || change_y != -1) { change_x = 0; change_y = 1; } break;
case 32 : change_color(); break;
default : break;
}
}
void show_table()
{
system("cls");
for (int i = 0; i <= N + 1; ++i)
for (int j = 0; j <= M + 1; ++j)
cout << (i == 0 || j == 0 || i == N + 1 || j == M + 1 ? '#' : a[i][j]) << (j <= M ? "" : "\n");
}
void clear_snake_on_table()
{
for (int i = 1; i <= snake_size; ++i)
a[coordinates_x[i]][coordinates_y[i]] = ' ';
}
void show_snake_on_table()
{
if(change_x == 1 && change_y == 0) a[coordinates_x[1]][coordinates_y[1]] = 'v';
if(change_x == -1 && change_y == 0) a[coordinates_x[1]][coordinates_y[1]] = '^';
if(change_x == 0 && change_y == 1) a[coordinates_x[1]][coordinates_y[1]] = '>';
if(change_x == 0 && change_y == -1) a[coordinates_x[1]][coordinates_y[1]] = '<';
for (int i = 2; i <= snake_size; ++i)
a[coordinates_x[i]][coordinates_y[i]] = '@';
}
bool game_over()
{
for (int i = 2; i <= snake_size; ++i)
if (coordinates_x[1] == coordinates_x[i] && coordinates_y[1] == coordinates_y[i]) return true;
return false;
Комментариев нет:
Отправить комментарий