"Трон" для двух игроков — 72 строки на С++

Игра на C++ и Arctic Engine, подробнее о нем и о goto-ориентированном C++ читайте в предыдущих постах. Для создания игр на C++ нужно знать всего 3 ключевых слова.

1 a: 2 Clear(); 3 int x1 = 10; 4 int y1 = 10; 5 int x2 = 246; 6 int y2 = 10; 7 int vx1 = 0; 8 int vy1 = 1; 9 int vx2 = 0; 10 int vy2 = 1; 11 s: 12 Ink(8); 13 Plot(0,0); 14 Draw(255,0); 15 Draw(255,143); 16 Draw(0,143); 17 Draw(0,0); 18 if (IsKey("a")) { 19 vx1 = -1; 20 vy1 = 0; 21 } 22 if (IsKey("d")) { 23 vx1 = 1; 24 vy1 = 0; 25 } 26 if (IsKey("w")) { 27 vx1 = 0; 28 vy1 = 1; 29 } 30 if (IsKey("s")) { 31 vx1 = 0; 32 vy1 = -1; 33 } 34 if (IsKey(4)) { 35 vx2 = -1; 36 vy2 = 0; 37 } 38 if (IsKey(5)) { 39 vx2 = 1; 40 vy2 = 0; 41 } 42 if (IsKey(6)) { 43 vx2 = 0; 44 vy2 = 1; 45 } 46 if (IsKey(7)) { 47 vx2 = 0; 48 vy2 = -1; 49 } 50 x1=x1+vx1; 51 y1=y1+vy1; 52 x2=x2+vx2; 53 y2=y2+vy2; 54 if (Point(x1, y1) != 0) { 55 At(8,10); 56 Print("Blue player wins!"); 57 Input(); 58 goto a; 59 } 60 if (Point(x2, y2) != 0) { 61 At(8,10); 62 Print("Red player wins!"); 63 Input(); 64 goto a; 65 } 66 Ink(1); 67 Plot(x1, y1); 68 Ink(5); 69 Plot(x2, y2); 70 Sleep(0.05); 71 Show(); 72 goto s;
1010
51 комментарий

Нет, честно, goto это противозаконно

5
Ответить
Автор

Вот конкретно этой игре как поможет замена goto на что-то другое?

Ответить

Вижу яндере код, ты ебанутый?

Ответить

Ладно, извеняюсь что быканул, почитал твои предыдущие посты.
Если хочешь уменьшить количество строк, попробуй заменить эти if стэйтменты для считывания ввода, одним switch.

4
Ответить

C++ учил еще во времена одноядерных процессоров. Что за фигня така без функии main, подключения библиотек и операторами из Бейсика?

1
Ответить

идея авторки это "с++ — детям!".

2
Ответить
Автор

main и вся инициализация написаны в main.сpp, посреди которого стоит #includecode.inc
Это позволяет первые несколько программ писать собственно игры, а не бороться с подключением библиотек и типами аргументов main

1
Ответить