GotoXY (64,9); cout <<"P: Pause" <
GotoXY (64,10); cout <<"S: Start" <
GotoXY (64,11); cout <<"L: Level" <
GotoXY (64,13); printf ("% c", 24); cout <<": Wwerx" <
GotoXY (64,14); printf ("% c", 25); cout <<": Wniz" <
GotoXY (64,15); printf ("% c", 27); cout <<": Wlewo" <
GotoXY (64,16); printf ("% c", 26); cout <<": Wprawo" <
{
SetColor (LightMagenta , Pink);
GotoXY (2,2);
int m = 0;
for (m = 0; m <60; m + +)
{
printf ("*");
}
}
В
{
GotoXY (2,24);
int m = 0;
for (m = 0; m <60; m + +)
{
printf ("*");
}
}
{
GotoXY (2,3); cout <<"*" <
GotoXY (2,4); cout <<"*" <
GotoXY (2,5); cout <<"*" <
GotoXY (2,6); cout <<"*" <
GotoXY (2,7); cout <<"*" <
GotoXY (2,8); cout <<"*" <
GotoXY (2,9); cout <<"*" <
GotoXY (2,10); cout <<"*" <
GotoXY (2,11); cout <<"*" <
GotoXY (2,12); cout <<"*" <
GotoXY (2,13); cout <<"*" <
GotoXY (2,14); cout <<"*" <
GotoXY (2,15); cout <<"*" <
GotoXY (2,16); cout <<"*" <
GotoXY (2,17); cout <<"*" <
GotoXY (2,18); cout <<"*" <
GotoXY (2,19); cout <<"*" <
GotoXY (2,20); cout <<"*" <
GotoXY (2,21); cout <<"*" <
GotoXY (2,22); cout <<"*" <
GotoXY (2,23); cout <<"*" <
}
{
GotoXY (61,3); cout <<"*" <
GotoXY (61,4); cout <<"*" <
GotoXY (61,5); cout < ; <"*" <
GotoXY (61,6); cout <<"*" <
GotoXY (61,7); cout <<"*" <
GotoXY (61,8); cout <<"*" <
GotoXY (61,9); cout <<"*" <
GotoXY (61,10); cout <<"*" <
GotoXY (61,11); cout <<"*" <
GotoXY (61,12); cout <<"*" <
GotoXY (61,13); cout <<"*" <
GotoXY (61,14); cout <<"*" <
GotoXY (61,15); cout <<"*" <
GotoXY (61,16); cout <<"*" <
GotoXY (61,17); cout <<"*" <
GotoXY (61,18); cout <<"*" <
GotoXY (61,19); cout <<"*" <
GotoXY (61,20); cout <<"*" <
GotoXY (61,21); cout <<"*" <
GotoXY (61,22); cout <<"*" <
GotoXY (61,23); cout <<"*" <
}
}
// Функція яка рухає і малює
enum {KONEC, STENA, PLUS, MOVE};
int Move (Game & g)
{
int & n = g.gaduka.PCount;
COORD head = g.gaduka.t [n - 1];// голова
COORD tail = g.gaduka.t [0];// Хвіст
COORD next;
next.X = head.X + g.dx;
next.Y = head.Y + g.dy;// перевірка наступній точки у напрямку
if (next.X <3 | | next.Y <3 | | next.X> 60 | | next.Y> 23)// Не вперлася чи в стіну?
В В
return STENA;
if (n> 4)
{
for (int i = 0; i
if (next.X == g.gaduka.t [i]. X && next.Y == g.gaduka.t [i]. Y)// Не наїхали чи на себе?
return KONEC;
}
В
if (next.X == g.jabloko.X && Next.Y == g.jabloko.Y)
{
COORD * temp = new COORD [ + + N];// новий масив більший на 1
for (int i = 0; i
temp [i] = g.gaduka.t [i];// перекопіруем
temp [n - 1] = next;// додаємо одну
delete [] g.gaduka.t;
g.gaduka.t = temp;
В
SetConsoleCursorPosition (hConsole, head);
SetConsoleTextAttribute (hConsole, 0x0a);// закрашиваем яблуко яке сіли p> printf ("*");
SetConsoleCursorPosition (hConsole, next);
SetConsoleTextAttribute (hConsole, 0x0a);
printf ("% c", 1);
PlusJabloko (g);
return PLUS;
}
В
for (int i = 0; i
g.gaduka.t [i] = g.gaduka.t [i + 1];
g.gaduka.t [n - 1] = next;
SetConsoleCursorPosition (hConsole, tail) ;//зафарбовуємо хвостик
printf ("");
В
SetConsoleCursorPosition (hConsole, head);
SetConsoleTextAttribute (hConsole, 0x0a) ;//фарбуємо хвіст змії в зелений колір
printf ("*");
SetConsoleCursorPosition (hConsole, next);
SetConsoleTextAttribute (hConsole, 0x0f);// Фарбуємо курсор у білий колір (голову змії)
printf ("% c", 1);
В
return MOVE;
}
void main ()
{
hConsole = GetStdHandle (STD_OUTPUT_HANDLE);// Отримуємо дескриптор консолі
int key = 0, count = 0;
bool Pause = false;
Game g;
skorostGame (g);
STENA_2 ();
srand (time (0));
bool pause = false;
while (key! = 27)
{
wh...