Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "stdafx.h"
- #include <Windows.h>
- #include <stdlib.h>
- #include <iostream>
- #include <conio.h>
- #include <time.h>
- using namespace std;
- int x, y;
- void sound(int v) {
- if ((v == 1) && ((x == 0) || (y == 0) || (x == 45) || (y == 23)))
- Beep(1000, 250);
- if (v == 0)
- Beep(2000, 500);
- }
- void out(char i, char f) {
- system("cls");
- for (int i = 0; i < y; i++)
- cout << endl;
- for (int i = 0; i < x; i++)
- cout << " ";
- for (int j = 0; j < 6; j++)
- cout << char(219);
- cout << endl;
- for (int i = 0; i < x; i++)
- cout << " ";
- printf("%c %c%c %c\n", char(219), i, f, char(219));
- for (int i = 0; i < x; i++)
- cout << " ";
- for (int j = 0; j < 6; j++)
- cout << char(219);
- sound(1);
- }
- int move(int c, char k, char z) {
- bool r;
- switch (c) {
- case 77:
- {r = GetAsyncKeyState(16);
- if (r == true) {
- x = 45;
- r = 0;
- }
- else {
- if (x != 45)
- x++;
- }
- out(k, z);
- r = 0;
- break; }
- case 75:
- { r = GetAsyncKeyState(16);
- if (r == true) {
- x = 0;
- r = 0;
- }
- else {
- if (x != 0)
- x--;
- }
- out(k, z);
- r = 0;
- break; }
- case 80:
- { r = GetAsyncKeyState(16);
- if (r == true) {
- y = 23;
- r = 0;
- }
- else {
- if (y != 23)
- y++;
- }
- out(k, z);
- r = 0; break; }
- case 72:
- { r = GetAsyncKeyState(16);
- if (r == true) {
- y = 0;
- r = false;
- }
- else {
- if (y != 0)
- y--;
- }
- out(k, z);
- r = 0; break; }
- case 224: {
- break;
- }
- case 71: {
- x = 23;
- y = 11;
- out(k, z);
- break;
- }
- case 27: {
- c = _getch();
- if (c == 13) {
- system("cls");
- return 1;
- }
- break;
- }
- default: {
- sound(0);
- break;
- }
- }
- return 0;
- }
- void cursorto(int i, int j)
- {
- COORD curPos;
- curPos.X = x + i;
- curPos.Y = y + j;
- SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), curPos);
- }
- int main()
- {
- HANDLE out_handle = GetStdHandle(STD_OUTPUT_HANDLE);
- COORD crd = { 50, 25 };
- SMALL_RECT src = { 0, 0, crd.X , crd.Y };
- SetConsoleWindowInfo(out_handle, true, &src);
- SetConsoleScreenBufferSize(out_handle, crd);
- srand(time(NULL));
- int i = 1 + rand() % 15;
- SetConsoleTextAttribute(out_handle, i);
- x = 23;
- y = 11;
- char k = char(32);
- char z = char(32);
- out(k, z);
- cursorto(2, 1);
- k = _getch();
- z = _getch();
- out(k, z);
- int c = _getch();
- int q = 0;
- while (q != 1) {
- q = move(c, k, z);
- if (q == 1) {
- return 0;
- }
- cursorto(5, 2);
- c = _getch();
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement