Advertisement
Guest User

Maze Game

a guest
May 15th, 2015
376
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 4.82 KB | None | 0 0
  1. #include <iostream>
  2. #include <windows.h>
  3. #include <limits.h>
  4. #include <ctime>
  5. using namespace std;
  6. char Map[30][30] = {"#############################",
  7.                     "#  #     c         ####     #",
  8.                     "#    ##       c    #        #",
  9.                     "# ## #  c          ##       #",
  10.                     "#    #   ####        c      #",
  11.                     "#  ###        c             #",
  12.                     "#            *       c      #",
  13.                     "# #        c c c            #",
  14.                     "# #        c @ c          c #",
  15.                     "#          c c c            #",
  16.                     "# # # c #          ##       #",
  17.                     "#c   ##### c     ########   #",
  18.                     "#  ##################  c    #",
  19.                     "#   c     #   !   c #       #",
  20.                     "#     ####### ######        #",
  21.                     "#           #  #       c    #",
  22.                     "#     c      # ##           #",
  23.                     "#     c      #     c        #",
  24.                     "#############################"};
  25. int Level = 1, y, x, y2, x2, coins;
  26. bool stopgame = false;
  27. int main() {
  28.     COORD newpos = {0,0};
  29.     SetConsoleTitle("The Maze");
  30.     HANDLE out = GetStdHandle(STD_OUTPUT_HANDLE); CONSOLE_CURSOR_INFO cursorInfo; GetConsoleCursorInfo(out, &cursorInfo); cursorInfo.bVisible = false; SetConsoleCursorInfo(out, &cursorInfo);
  31.     while (stopgame == false){
  32.             cout << endl;
  33.         for (y = 0; y < 20; y++)
  34.         cout << "\t\t\t   " << Map[y] << endl;
  35.             cout << "\t\t @ - you | c - coins | # - wall | ! - next level \n";
  36.             cout << "\t\t\t\t      Coins: " << coins << endl << endl;
  37.         for (y = 0; y < 30; y++){
  38.             for (int x = 0; x < 30; x++){
  39.                 switch (Map[y][x]){
  40.                     case '@': {
  41.                         if(GetAsyncKeyState(VK_UP) & SHRT_MAX) {
  42.                             y2 = (y - 1);
  43.                             switch (Map[y2][x]) {
  44.                                 case ' ' : {
  45.                                     Map[y][x] = ' ';
  46.                                     y -= 1;
  47.                                     Map[y2][x] = '@';
  48.                                     break;
  49.                                 }
  50.                                 case '!' : Level = 2;
  51.                                     break;
  52.                                 case 'c' : {
  53.                                     Map[y][x] = ' ';
  54.                                     y -= 1;
  55.                                     Map[y2][x] = '@';
  56.                                     coins = coins + 10;
  57.                                     break;
  58.                                 }
  59.                             }
  60.                         }
  61.                         if(GetAsyncKeyState(VK_DOWN) & SHRT_MAX) {
  62.                             y2 = (y+1);
  63.                             switch (Map[y2][x]) {
  64.                                 case ' ' : {
  65.                                     Map[y][x]=' ';
  66.                                     y+=1;
  67.                                     Map[y2][x]='@';
  68.                                     break;
  69.                                 }
  70.                                 case '!' : Level=2;
  71.                                     break;
  72.                                 case 'c' : {
  73.                                     Map[y][x] = ' ';
  74.                                     y += 1;
  75.                                     Map[y2][x] = '@';
  76.                                     coins = coins + 10;
  77.                                     break;
  78.                                 }
  79.                             }
  80.                         }
  81.                         if(GetAsyncKeyState(VK_RIGHT) & SHRT_MAX) {
  82.                             x2 = (x+1);
  83.                             switch (Map[y][x2]) {
  84.                                 case ' ' : {
  85.                                     Map[y][x]=' ';
  86.                                     x+=1;
  87.                                     Map[y][x2]='@';
  88.                                     break;
  89.                                 }
  90.                                 case '!' : Level=2;
  91.                                     break;
  92.                                 case 'c' : {
  93.                                     Map[y][x]=' ';
  94.                                     x+=1;
  95.                                     Map[y][x2]='@';
  96.                                     coins = coins + 10;
  97.                                     break;
  98.                                 }
  99.                             }
  100.                         }
  101.                         if(GetAsyncKeyState(VK_LEFT) & SHRT_MAX) {
  102.                             x2 = (x-1);
  103.                             switch (Map[y][x2]) {
  104.                                 case ' ' : {
  105.                                     Map[y][x] = ' ';
  106.                                     x -= 1;
  107.                                     Map[y][x2] = '@';
  108.                                     break;
  109.                                 }
  110.                                 case '!': Level = 2;
  111.                                     break;
  112.                                 case 'c': {
  113.                                     Map[y][x] = ' ';
  114.                                     x -=1 ;
  115.                                     Map[y][x2] = '@';
  116.                                     coins = coins + 10;
  117.                                     break;
  118.                                 }
  119.                             }
  120.  
  121.                         }
  122.                         break;
  123.                     }
  124.                 }
  125.             }
  126.         }
  127.         SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), newpos);
  128.         Sleep(20);
  129.     }
  130.     return 0;
  131. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement