zoukankan      html  css  js  c++  java
  • 跑酷天堂C++小黑框版

    上:跳跃

    左右:行走

      1 #include <bits/stdc++.h>
      2 #include <windows.h>
      3 #include <conio.h>
      4 
      5 using namespace std;
      6 
      7 char mmp[1001][1001] = {"                                                                                                                                                                                                        ",
      8                         "                                                                                                                                                                                                        ",
      9                         "                                                                                   ###                            #  #  #  #  #  #  #  ###         ####                              ###                ",
     10                         "                                                                                                             ##                              ####          ###  # # # #  ###     ##                      ",
     11                         "                                                                 ##         #####         ####                                                                                             ###          ",
     12                         "                                                                       ##                              ##                                                                                               ",
     13                         "                                                                                                ####                                                                                                    ",
     14                         "                                                                                                                                                                                               ###      ",
     15                         "                                                            ##                                                                                                                                          ",
     16                         "                                                                                                                                                                                                    ####",
     17                         "                                                                                                                                                                                                        ",
     18                         "                                      ##              ###                                                                                                                                               ",
     19                         "                          ##                   ####                                                                                                                                                     ",
     20                         "                  ###           ####                                                                                                                                                                    ",
     21                         "         ###                             ##                                                                                                                                                             ",
     22                         "                                                                                                                                                                                                        ",
     23                         "  O                                                                                                                                                                                                     ",
     24                         "#####                                                                                                                                                                                                   ",
     25                         "#####                                                                                                                                                                                                   ",
     26                         "#####                                                                                                                                                                                                   "
     27                        };//20 * 200;
     28 
     29 char putmmp[20][16];
     30 
     31 int jump[20] = {0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, -1, 0, -1, 0, -1, 0, -1};
     32 
     33 int main() {
     34 
     35     char ch;
     36     
     37     bool t = 1;
     38 
     39     int x = 16, y = 2, delayjump = 0;
     40     
     41     SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_RED | FOREGROUND_GREEN);
     42     
     43     while (1) {
     44 
     45         Sleep(40);
     46 
     47         if (y - 7 < 0) {
     48 
     49             for (register int i = 0; i < 20; i++) {
     50 
     51                 for (register int j = 0; j < 15; j++) {
     52 
     53                     putmmp[i][j] = mmp[i][j];
     54 
     55                 }
     56 
     57             }
     58 
     59         } else if (y + 7 > 199) {
     60 
     61             for (register int i = 0; i < 20; i++) {
     62 
     63                 int k = 14;
     64 
     65                 for (register int j = 199; j >= 85; j--, k--) {
     66 
     67                     putmmp[i][k] = mmp[i][j];
     68 
     69                 }
     70 
     71             }
     72 
     73         } else {
     74 
     75             for (register int i = 0; i < 20; i++) {
     76 
     77                 int k = 0;
     78 
     79                 for (register int j = y - 7; j <= y + 7; j++, k++) {
     80 
     81                     putmmp[i][k] = mmp[i][j];
     82 
     83                 }
     84 
     85             }
     86 
     87         }
     88         
     89         HANDLE hout;
     90         COORD coord;
     91         coord.X=0;
     92         coord.Y=0;
     93         hout=GetStdHandle(STD_OUTPUT_HANDLE);
     94         SetConsoleCursorPosition(hout,coord);
     95         
     96         for (register int i = 0; i < 20; i++) {
     97             
     98             bool t = 0;
     99             
    100             for (register int j = 0; j < 15; j++) {
    101                 
    102                 if (putmmp[i][j] == 'O') {
    103                     
    104                     t = 1;
    105                     
    106                 }
    107                 
    108             }
    109             
    110             if (t) {
    111                 
    112                 for (register int j = 0; j < 15; j++) {
    113                     
    114                     if (putmmp[i][j] == 'O') {
    115                         
    116                         SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_RED);
    117                         putchar('O');
    118                         SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_RED | FOREGROUND_GREEN);
    119                         
    120                     } else {
    121                         
    122                         putchar(putmmp[i][j]);
    123                         
    124                     }
    125                     
    126                 }
    127                 
    128                 putchar('
    ');
    129                 
    130             } else {
    131                 
    132                 puts(putmmp[i]);
    133                 
    134             }
    135             
    136         }
    137         SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE);
    138         printf("%d %d
    ", x, y);
    139         SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_RED | FOREGROUND_GREEN);
    140 
    141         if (delayjump > 0) {
    142 
    143             if (delayjump > 8 && (x + jump[delayjump] == -1 || mmp[x + jump[delayjump]][y] == '#')) {
    144 
    145                 delayjump = 5;
    146 
    147             } else {
    148                 
    149                 if (delayjump <= 8 && x + jump[delayjump] == 19) {
    150                     
    151                     mmp[x][y] = ' ';
    152                     x = 16, y = 2;
    153                     mmp[x][y] = 'O';
    154                     
    155                 }
    156                 
    157                 if (delayjump <= 8 && (x + jump[delayjump] == 20 || mmp[x + jump[delayjump]][y] == '#')) {
    158 
    159                     delayjump = 0;
    160 
    161                 } else {
    162 
    163                     mmp[x][y] = ' ';
    164                     x += jump[delayjump];
    165                     mmp[x][y] = 'O';
    166                     delayjump--;
    167 
    168                 }
    169 
    170             }
    171 
    172 
    173         }
    174         
    175         if (!delayjump) {
    176             
    177             if (x + 1 == 20) {
    178                 
    179                 mmp[x][y] = ' ';
    180                 x = 16, y = 2;
    181                 mmp[x][y] = 'O';
    182                 
    183             }
    184             
    185             if (mmp[x + 1][y] == ' ' && x < 19 && t) {
    186                 
    187                 t = !t;
    188                 mmp[x][y] = ' ';
    189                 x++;
    190                 mmp[x][y] = 'O';
    191                 
    192             } else {
    193                 
    194                 t = !t;
    195                 
    196             }
    197             
    198         }
    199 
    200         if (kbhit()) {
    201 
    202             ch = getch();
    203 
    204             switch(ch) {
    205 
    206                 case 27 :
    207 
    208                     exit(0);
    209 
    210                     break;
    211 
    212                 case -32 :
    213 
    214                     ch = getch();
    215 
    216                     switch(ch) {
    217 
    218                         case 75 :
    219 
    220                             if (y > 0 && mmp[x][y - 1] == ' ') {
    221 
    222                                 mmp[x][y] = ' ';
    223                                 y--;
    224                                 mmp[x][y] = 'O';
    225 
    226                             }
    227 
    228                             break;
    229 
    230                         case 77 :
    231 
    232                             if (y < 199 && mmp[x][y + 1] == ' ') {
    233 
    234                                 mmp[x][y] = ' ';
    235                                 y++;
    236                                 mmp[x][y] = 'O';
    237 
    238                             }
    239 
    240                             break;
    241 
    242                         case 72 :
    243 
    244                             if (!delayjump && mmp[x + 1][y] == '#') {
    245 
    246                                 delayjump = 18;
    247 
    248                             }
    249 
    250                             break;
    251 
    252                     }
    253 
    254                     break;
    255 
    256             }
    257 
    258         }
    259 
    260     }
    261 
    262     return 0;
    263 
    264 }

     自动版:

      1 #include <bits/stdc++.h>
      2 #include <conio.h>
      3 #include <windows.h>
      4 
      5 using namespace std;
      6 
      7 char mmp[1001][1001] = {"                                                                                                    ",
      8                         "                                                                                                    ",
      9                         "                                              ####                                                  ",
     10                         "                                              #                                                     ",
     11                         "                                            ###         ###                 #####                   ",
     12                         "                                      ####                                           ####           ",
     13                         "                                      #                       ###     ###                           ",
     14                         "                  ####               ##                                                     ####    ",
     15                         "O         ####               ######                                                                 ",
     16                         "#####                                                                                              #"
     17                        };
     18 
     19 char putmmp[101][101];
     20 int jp[9] = {0, 1, 0, 1, 0, 1, 0, 1, 1};
     21 
     22 int main() {
     23 
     24     SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_RED | FOREGROUND_GREEN);
     25 
     26     int x = 8, y = 0, dj = 0, tick = 0;
     27 
     28     int clock2 = clock();
     29 
     30     while (1) {
     31 
     32         int clock1 = clock();
     33         clock2 = clock1;
     34 
     35         while (clock1 - clock2 <= 70) {
     36 
     37             Sleep(10);
     38             clock1 = clock();
     39 
     40         }
     41 
     42 
     43         if (y < 7) {
     44 
     45             for (register int i = 0; i < 10; i++) {
     46 
     47                 for (register int j = 0; j < 15; j++) {
     48 
     49                     putmmp[i][j] = mmp[i][j];
     50 
     51                 }
     52 
     53             }
     54 
     55         } else if (y > 92) {
     56 
     57             for (register int i = 0; i < 10; i++) {
     58 
     59                 for (register int j = 84, k = 0; j < 100; j++, k++) {
     60 
     61                     putmmp[i][k] = mmp[i][j];
     62 
     63                 }
     64 
     65             }
     66 
     67         } else {
     68 
     69             for (register int i = 0; i < 10; i++) {
     70 
     71                 for (register int j = y - 7, k = 0; j < y + 7; j++, k++) {
     72 
     73                     putmmp[i][k] = mmp[i][j];
     74 
     75                 }
     76 
     77             }
     78 
     79         }
     80 
     81         HANDLE hout;
     82         COORD coord;
     83         coord.X=0;
     84         coord.Y=0;
     85         hout=GetStdHandle(STD_OUTPUT_HANDLE);
     86         SetConsoleCursorPosition(hout,coord);
     87 
     88         for (register int i = 0; i < 10; i++) {
     89 
     90             if (i ^ x) {
     91 
     92                 puts(putmmp[i]);
     93 
     94             } else {
     95 
     96                 for (register int j = 0; j < 15; j++) {
     97 
     98                     if (putmmp[i][j] == 'O') {
     99 
    100                         SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_GREEN);
    101 
    102                         putchar('O');
    103 
    104                         SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_RED | FOREGROUND_GREEN);
    105 
    106                     } else {
    107 
    108                         putchar(putmmp[i][j]);
    109 
    110                     }
    111 
    112                 }
    113 
    114                 putchar('
    ');
    115 
    116             }
    117 
    118         }
    119 
    120         printf("%d
    ", y);
    121 
    122         if (kbhit()) {
    123 
    124             char ch = getch();
    125 
    126             if (ch == ' ' && (mmp[x + 1][y] == '#' || mmp[x + 1][y - 1] == '#')) {
    127 
    128                 dj = 8;
    129 
    130             }
    131 
    132             if (ch == 27) {
    133 
    134                 exit(0);
    135 
    136             }
    137 
    138         }
    139 
    140         if (dj > 0) {
    141 
    142             if (x - jp[dj] >= 0 && mmp[x - jp[dj]][y] == ' ') {
    143 
    144                 mmp[x][y] = ' ';
    145                 x -= jp[dj];
    146                 mmp[x][y] = 'O';
    147 
    148                 dj--;
    149 
    150             } else {
    151 
    152                 dj = 0;
    153 
    154             }
    155 
    156         } else {
    157 
    158             if (x == 9) {
    159 
    160                 mmp[x][y] = ' ';
    161                 x = 8, y = 0;
    162                 mmp[x][y] = 'O';
    163                 y--;
    164 
    165             } else {
    166 
    167                 if (mmp[x + 1][y] == ' ') {
    168 
    169                     if (tick % 2 == 0) {
    170 
    171                         mmp[x][y] = ' ';
    172                         x++;
    173                         mmp[x][y] = 'O';
    174 
    175                     }
    176 
    177                 }
    178 
    179             }
    180 
    181         }
    182 
    183         mmp[x][y] = ' ';
    184         y++;
    185         if (mmp[x][y] == '#') {
    186 
    187             y--;
    188 
    189         }
    190         if (y == 100) {
    191 
    192             y = 0;
    193 
    194             for (register int i = 0; i < 10; i++) {
    195 
    196                 putmmp[i][15] = ' ';
    197 
    198             }
    199 
    200         }
    201         mmp[x][y] = 'O';
    202         tick++;
    203 
    204     }
    205 
    206     return 0;
    207 
    208 }

    转载请注明©Ice_watermelon233

  • 相关阅读:
    C#模拟键盘登录网站
    利用c#开发一个telnet unix服务器或者防火墙的小工具(转)
    Fckeditor XML Request error:internal server error (500) 一例
    CSS格式模板
    TFS 2008: Message that "solution not currently configured for integrated source control in Visual Studio"
    学习笔记Javascript事件Event、IE浏览器下的拖拽效果
    学习笔记验证控件
    学习笔记Socket编程、任务栏图标和MD5散列算法
    学习笔记Web服务、Remoting、WCF (上) Web服务
    学习笔记Web服务、Remoting、WCF (下) Remoting and WCF
  • 原文地址:https://www.cnblogs.com/Ice-watermelon233/p/ParkourGame_C_with_class.html
Copyright © 2011-2022 走看看