Урок 6.3 (2К)
Тема урока: «Основы консольной разработки игр на языке С++»
Лекция:
https://quizizz.com/join?gc=90701338
Контрольные вопросы:
Глобальные переменные это: ________
Урок 6.3 (2К)
Тема урока: «Основы консольной разработки игр на языке С++»
Лекция:
https://quizizz.com/join?gc=90701338
Контрольные вопросы:
Глобальные переменные это: ________
Урок 6.2 (2К)
Лекция:
https://quizizz.com/join?gc=76525664
Видео:
https://disk.yandex.ru/i/FIWv7oE_AwvebQ
Контрольные вопросы:
Урок 6.1
Тема урока: «Олимпиада»
Лекция:
Видео с уроков Яндекс.Учебника
Видео:
https://disk.yandex.ru/i/qXHJh1i_F_g3bw
#include <iostream>
#include <conio.h>
using namespace std;
char player;
char block;
char** map;
const int map_size = 10;
int x_player = 1;
int y_player = 1;
bool end_game = 0;
std::string pauseScreen = "#########################################\n#\t\t\t\t\t#\n#\t\t\t\t\t#\n#\t\tPause\t\t\t#\n#\t\t\t\t\t#\n#\t\t\t\t\t#\n#########################################\n";
static void InitializateComponent()
{
player = '@';
block = '#';
map = new char* [map_size];
for (int i = 0; i < map_size; ++i)
{
map[i] = new char[map_size];
for (int n = 0; n < map_size; ++n)
{
map[i][n] = ' ';
}
}
for (int i = 0; i < map_size; ++i)
{
map[0][i] = '#';
map[map_size - 1][i] = '#';
map[i][0] = '#';
map[i][map_size - 1] = '#';
}
map[8][3] = '#';
map[7][3] = '#';
map[6][3] = '#';
map[6][4] = '#';
map[6][6] = '#';
map[6][7] = '#';
map[7][7] = '#';
map[8][7] = '#';
map[3][1] = '#';
map[3][2] = '#';
map[1][2] = '#';
map[4][4] = '#';
map[4][5] = '#';
map[4][6] = '#';
map[4][7] = '#';
map[4][8] = '#';
map[8][5] = '&';
}
static void OutputMap()
{
system("clear");
for (int i = 0; i < map_size; ++i)
{
for (int n = 0; n < map_size; ++n)
{
if (i == y_player && n == x_player)printf("%c ", player);
else printf("%c ", map[i][n]);
}
printf("\n");
}
}
static void ScreenPause()
{
system("clear");
cout << pauseScreen;
char input = 0;
while (input != 'p')scanf("%c", &input);
}
static void MovePlayer(char input)
{
if (end_game)return;
switch (input)
{
case 'd': case 'D':
{
(map[y_player][x_player + 1] != '#') ? ++x_player : 0;
} break;
case 'a': case 'A':
{
(map[y_player][x_player - 1] != '#') ? --x_player : 0;
} break;
case 's': case 'S':
{
(map[y_player + 1][x_player] != '#') ? ++y_player : 0;
} break;
case 'w': case 'W':
{
(map[y_player - 1][x_player] != '#') ? --y_player : 0;
} break;
case 'p': case 'P': ScreenPause(); break;
case 'q': case 'Q': end_game = true; break;
default: cout << "Ошибка ввода" << endl;
}
}
void WinScreen()
{
end_game=true;
printf("Ты победил!");
}
int main()
{
setlocale(LC_ALL, "ru");
InitializateComponent();
OutputMap();
char input = 0;
while (!end_game)
{
scanf("%c", &input);
MovePlayer(input);
OutputMap();
if(y_player==8&&x_player==5) WinScreen();
}
return 0;
}