Huldra

+364
с 2022

Arctic Engine и программирование игр на C++

40 подписчиков
36 подписок

Мне давно хотелось написать учебник по C++, по которому действительно можно научиться делать игры, потому что все известные мне книги не соответствовали моему представлению о прекрасном. Да, конечно, мои вкусы... специфичны. Например, я не считаю, что в goto есть что-то плохое, зато считаю, что поняв, как использовать goto, if и int можно начать пи…

Наконец-то достойная книга по C++
3

Теперь вы можете посмотреть короткое обучающее видео и сделать свой дискретно-событийный симулятор всего за несколько минут:

2

В этой игре не используются массивы, а все состояние хранится прямо на экране, все мины в самом начале игры рисуются звездочками. Но, чтобы игрок не видел, где они находятся, мины рисуются цветом, совпадающим с цветом фона.

8
2
Изучать C++ — легко

Да, история трудоустройства одной моей подруги из предыдущего поста так быстро не закончилась. Загнавшая сама себя в дурацкую ситуацию Анна не сдавалась и продолжала в экстремальных условиях колоссального стресса и горящих сроков поглощать нездоровые объемы кофе и изучать С++.

10
Начинать изучать программирование с C++ — легко

Многие утверждают, что научиться писать на С++ сложно и этому надо учиться много лет, а еще что новичку тяжело найти работу. А я считаю, что на С++ писать очень просто и главное - перестать бояться и сомневаться и начать. Дорогу осилит идущий! Я хочу поделиться с вами историей о том, как одна моя подруга научилась писать на С++. Анна (имя изменено…

29
Игра "Сокобан" — 75 строк на С++

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

3

TL;DR: Дейскстра учился писать код с goto, научился, раскритиковал применение goto, учебные программы усложнили т.к. “так сказал великий Дейкстра”, учить детей программированию стало сложнее.

Польза goto в C++
12

Игра на 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;
10
Змейка - 77 строк на С++

Игра C++ и Arctic Engine, подробнее о нем и о goto-ориентированном C++ читайте в моих предыдущих постах.

3
Продолжаю серию постов с исходниками простых игр на C++ и Arctic Engine
1 ResizeScreen(40, 40); 2 Show(); 3 int i = 0; 4 b: 5 Print("O"); 6 i = i + 1; 7 if (i < 25) { 8 goto b; 9 } 10 i = 0; 11 p: 12 int x = MouseX() / 8; 13 int y = MouseY() / 8; 14 if (IsKey(kKeyMouseLeft)) { 15 goto t; 16 } 17 if (i < 6) { 18 i = i + 1; 19 x = Random32(0, 4); 20 y = Random32(0, 4); 21 goto t; 22 } 23 Show(); 24 goto p; 25 t: 26 int n = 0; 27 l: 28 if (n == 1) { 29 x = x - 1; 30 } 31 if (n == 2) { 32 x = x + 2; 33 } 34 if (n == 3) { 35 x = x - 1; 36 y = y - 1; 37 } 38 if (n == 4) { 39 y = y + 2; 40 } 41 string s = Screen(x, y); 42 if (s == "X") { 43 Paper(0); 44 At(x, y); 45 Print("O"); 46 } 47 if (s == "O") { 48 Paper(14); 49 At(x, y); 50 Print("X"); 51 } 52 n = n + 1; 53 if (n < 5) { 54 goto l; 55 } 56 Show(); 57 goto p;
6
Игра "Лабиринт" - 64 строки на С++

Игра написана при помощи Arctic Engine, скачать его можно по ссылке

7