Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream> // cin, cout
- #include <clocale> // поддержка русского языка
- #include <conio.h> // _getch()
- #include <stdlib.h> // поддержка функции очистки экрана system("cls")
- using namespace std;
- int main()
- {
- setlocale(LC_CTYPE,"Russian"); // установка русского языка
- char act; // переменная для хранения ввода пользователя
- int ch; // ввод пользователя приведённый к типу int
- int x = 0; // две переменные для хранения координат пользователя
- int y = 0;
- char map[15][20]; // двумерный массив для хранения игровой карты
- // блок инициализации массива
- // внешний цикл отвечает за строки
- for (int i = 0; i< 15; i++)
- {
- // внутренний цикл отвечает за столбцы
- for (int j = 0; j< 20; j++)
- {
- map[i][j] = ' ';
- }
- }
- map[0][0] = 'Т'; // помещаем игровой персонаж в начало координат
- while (1)
- {
- system("cls"); // вызов функции очистки экрана
- for (int i = 0; i < 15; i++)
- {
- for (int j = 0; j < 20; j++)
- {
- cout << map[i][j]; // в циклах поэлементно выводится массив
- }
- cout << "\n"; // переход на новую строку после каждого "ряда"
- }
- act = _getch();
- ch = static_cast<int>(act);
- switch (static_cast<int>(act))
- {
- case -32:
- break;
- case 27:
- exit(0);
- break;
- case 75:
- map[x][y] = ' '; // "Убираем" объект со старой координаты
- y--; // изменяем координаты
- map[x][y] = 'Т'; // "рисуем" объект на новом месте
- break;
- case 77:
- map[x][y] = ' ';
- y++;
- map[x][y] = 'Т';
- break;
- case 80:
- map[x][y] = ' ';
- x++;
- map[x][y] = 'Т';
- break;
- case 72:
- map[x][y] = ' ';
- x--;
- map[x][y] = 'Т';
- break;
- }
- } // конец цикла while
- _getch();
- return 0;
- }
Add Comment
Please, Sign In to add comment