Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // msvc2013
- #include <iostream>
- #include <Windows.h>
- #include <conio.h>
- enum DIRECTION {
- A = 65,
- D = 68,
- S = 83,
- W = 87,
- a = 97,
- d = 100,
- s = 115,
- w = 119,
- В = 130,
- Ф = 148,
- Ц = 150,
- Ы = 155,
- в = 162,
- ф = 228,
- ц = 230,
- ы = 235
- };
- COORD move(COORD, unsigned char);
- int main() {
- COORD coord;
- coord.X = 0;
- coord.Y = 0;
- CONSOLE_CURSOR_INFO cursor = { 1, false };
- SetConsoleCursorInfo(GetStdHandle(STD_OUTPUT_HANDLE), &cursor);
- std::cout << '|';
- unsigned char direction;
- while (true) {
- direction = _getch();
- coord = move(coord, direction);
- }
- return 0;
- }
- COORD move(COORD coord, unsigned char direction) {
- bool attemp = false;
- switch (direction) {
- case a: case A: case ф: case Ф:
- if (coord.X) {
- --coord.X;
- attemp = true;
- }
- break;
- case d: case D: case в: case В:
- if (coord.X < 78) {
- ++coord.X;
- attemp = true;
- }
- break;
- case s: case S: case ы: case Ы:
- if (coord.Y < 25) {
- ++coord.Y;
- attemp = true;
- }
- break;
- case w: case W: case ц: case Ц:
- if (coord.Y) {
- --coord.Y;
- attemp = true;
- }
- break;
- default: break;
- }
- if (attemp) {
- system("cls");
- SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), coord);
- std::cout << '|';
- }
- return coord;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement