C++版iwanna1

打印 上一主题 下一主题

主题 645|帖子 645|积分 1935

开头

大家好,我叫这是我58。
步伐

Game.cpp源文件

  1. #define _CRT_SECURE_NO_WARNINGS 1
  2. #include <iostream>
  3. #include <cstring>
  4. #include <fstream>
  5. #include <cstdio>
  6. #include "Player.h"
  7. #include "trigger.h"
  8. using namespace std;
  9. void deadset(int (*deadarr)[3], fstream& fs) {
  10.         int i = 0;
  11.         for (; i < 3; i++) {
  12.                 fs >> (*deadarr)[i];
  13.                 fs.flush();
  14.         }
  15. }
  16. void printstart() {
  17.         cout << "*****    * * *   ***   *   *  *   *   ***      ***    ***     *****   ***     *****  *   *  *****   \033[32;1m* *  ***    * *\033[0m" << endl;
  18.         cout << "  *      * * *  *   *  **  *  **  *  *   *    *      *   *      *    *   *      *    *   *  *     \033[32;1m * *  *      * *\033[0m " << endl;
  19.         cout << "  *      * * *  *****  * * *  * * *  *****    *  **  *   *      *    *   *      *    *****  *****       \033[32;1m* ***\033[0m      " << endl;
  20.         cout << "  *       * *   *   *  *  **  *  **  *   *    *   *  *   *      *    *   *      *    *   *  *           \033[32;1m*   *\033[0m      " << endl;
  21.         cout << "*****     * *   *   *  *   *  *   *  *   *     ***    ***       *     ***       *    *   *  *****        \033[32;1m***\033[0m       " << endl;
  22. }
  23. int main() {
  24.         system("title I WANNA GO TO THE "G"");
  25.         char strmap[22][22] = {
  26.                 'G',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',
  27.                 ' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',
  28.                 ' ',' ',' ',' ',' ',' ','X','X','X',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',
  29.                 ' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','#',
  30.                 ' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',
  31.                 ' ',' ',' ',' ',' ',' ','*','X','*',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',
  32.                 ' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',
  33.                 ' ',' ',' ',' ',' ',' ','*','*','*',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',
  34.                 ' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',
  35.                 ' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','S',' ',
  36.                 'X','X','X','X','X','X','X','X','X','X','X','*','*','*','X','X','X','X','X','X','*',' ',
  37.                 ' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','*',' ','S',
  38.                 '*','*','*','*','*','*','*','*','*',' ',' ',' ',' ',' ',' ',' ',' ',' ','*',' ',' ','*',
  39.                 ' ',' ','X',' ',' ',' ',' ',' ',' ','*','X','*',' ',' ',' ',' ',' ','*',' ',' ',' ',' ',
  40.                 'G',' ',' ',' ',' ','X',' ',' ',' ',' ',' ',' ','*',' ',' ',' ',' ','*',' ',' ',' ',' ',
  41.                 '*','*','*','*','*','*','*',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','*',' ',' ',' ',' ',
  42.                 ' ',' ',' ',' ',' ',' ',' ','*',' ',' ','X',' ',' ',' ',' ',' ',' ','*',' ',' ',' ',' ',
  43.                 ' ',' ',' ',' ',' ',' ',' ',' ','*','*','*','*','*',' ',' ',' ',' ','*',' ',' ',' ',' ',
  44.                 ' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','X','X',' ',' ',' ',' ',' ',' ',' ','*',' ',' ',
  45.                 ' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','X',' ',' ',' ','*','*','*','*',' ',' ',' ',
  46.                 ' ',' ',' ',' ',' ',' ',' ',' ',' ','X',' ',' ',' ','X',' ','*',' ',' ',' ',' ',' ',' ',
  47.                 ' ','X','X','*','X','X','X',' ','X','X','X',' ','X','X','X','*','X','X','X','X','X','X',
  48.         };
  49.         char strmapr[22][22] = { 0 };
  50.         memcpy(strmapr, strmap, sizeof strmap);
  51.         Player p;
  52.         char ch = 0;
  53.         int itrap = -1;
  54.         int ishoot = 0;
  55.         int ibsv = 0;
  56.         fstream fs("s.txt", ios::in);
  57.         fs.flush();
  58.         if ((!fs.is_open()) || fs.eof()) {
  59.                 fs.close();
  60.                 fs.open("s.txt", ios::out);
  61.                 fs << "0 0 0 0";
  62.                 fs.close();
  63.                 fs.open("s.txt", ios::in);
  64.         }
  65.         bool barr[3] = { 0 };
  66.         fs >> ibsv;
  67.         for (ch = 0; ch < 3; ch++) {
  68.                 barr[ch] = (ibsv & (1 << ch));
  69.         }
  70.         trigger t[22] = { trigger(20,3,20,3,0), trigger(16,5,16,6,1),trigger(19,12,20,12,2),trigger(17,13,17,13,3),trigger(17,15,17,16,3),trigger(14,14,14,15,3),trigger(13,16,13,17,3),trigger(15,18,15,19,3),trigger(11,20,11,21,4),trigger(0,16,9,16,6),trigger(8,11,9,13,7),trigger(4,5,7,9,8),trigger(9,6,9,8,9),trigger(3,1,3,3,10),trigger(11,1,11,1,11),trigger(11,3,11,3,12),trigger(13,1,14,1,13),trigger(13,7,15,8,14),trigger(15,11,17,11,15),trigger(16,12,17,12,16),trigger(21,13,21,13,17),trigger(11,8,11,8,18) };
  71.         printstart();
  72.         cout << endl << endl << endl << endl << endl << endl << endl << "\t\t\t\t\t  ";
  73.         system("pause");
  74.         system("cls");
  75.         printstart();
  76.         cout << endl << "              \033[31;1m********\033[0m                          \033[33m********\033[0m                              \033[32;1m********\033[0m" << endl;
  77.         cout << "             \033[31;1m* SAVE 1 *\033[0m                        \033[33m* SAVE 2 *\033[0m                            \033[32;1m* SAVE 3 *\033[0m" << endl;
  78.         cout << "              \033[31;1m********\033[0m                          \033[33m********\033[0m                              \033[32;1m********\033[0m" << endl << endl;
  79.         cout << "游戏内:a左走    d右走    w二段跳,空中一段    z\033[33m存档\033[0m/射弹    r重开    \033[31;1m“X”死\033[0m   “*”墙    \033[31;1m“#”按钮\033[0m,\033[32;1m射就触发机关\033[0m    \033[33m“S”存档\033[0m    \033[32;1m“G”终点\033[0m" << endl <<  "开始界面:1~3选择要玩的存档    d删存档" << endl << endl << endl;
  80.         cin >> ch;
  81.         int deadarr[3] = { 0 };
  82.         deadset(&deadarr, fs);
  83.         while (ch < '1' || ch > '3') {
  84.                 while (rewind(stdin), (ch < '1' || ch > '3') && 'd' != ch) {
  85.                         cout << "\033[31;1m输入错误,请重新输入\033[0m" << endl << endl;
  86.                         cin >> ch;
  87.                         if (ch >= '1' && ch <= '3') {
  88.                                 goto g;
  89.                         }
  90.                 }
  91.                 cout << "\033[31;1m请输入要删除的存档编号(输入错误就不删除存档)\033[0m" << endl << endl;
  92.                 cin >> ch;
  93.                 if (rewind(stdin), ch < '1' || ch > '3') {
  94.                         cout << "\033[31;1m输入错误,不删除存档\033[0m" << endl << endl;
  95.                         cin >> ch;
  96.                         continue;
  97.                 }
  98.                 int index = ch - 1 - '0';
  99.                 (ibsv & (1 << index)) && (ibsv -= (1 << index));
  100.                 barr[index] = 0;
  101.                 fs.close();
  102.                 fs.open("s.txt", ios::trunc | ios::out);
  103.                 deadarr[index] = 0;
  104.                 fs << ibsv;
  105.                 for (int i = 0; i < 3; i++) {
  106.                         fs << " " << deadarr[i];
  107.                 }
  108.                 fs.flush();
  109.                 cout << "\033[32m删除成功!\033[0m" << endl << endl;
  110.                 cin >> ch;
  111.         }
  112.         g:
  113.         int barri = (--ch -= '0');
  114.         system("cls");
  115.         char* cp = (t[0].saveset(barr[barri]) ? &strmap[9][20] : &strmap[21][0]);
  116.         *cp = 'P';
  117.         fs << (char)(ibsv + '0');
  118.         fs.close();
  119.         while ('G' == strmap[0][0]) {
  120.                 char str[100] = "title I WANNA GO TO THE "G" : 似亡 * ";
  121.                 char stra[100] = "";
  122.                 sprintf(stra, "%d", deadarr[barri]);
  123.                 strcat(str, stra);
  124.                 system(str);
  125.                 ' ' == strmap[9][20] && (strmap[9][20] = 'S');
  126.                 ' ' == strmap[11][21] && (strmap[11][21] = 'S');
  127.                 p.sgetxy(X) = (cp - &strmap[0][0]) / 22;
  128.                 p.sgetxy(Y) = (cp - &strmap[0][0]) % 22;
  129.                 p.printmap(strmap);
  130.                 cin >> ch;
  131.                 rewind(stdin);
  132.                 *cp = ' ';
  133.                 switch (ch) {
  134.                 case 'a':
  135.                         p.left_move(&cp);
  136.                         break;
  137.                 case 'd':
  138.                         p.right_move(&cp);
  139.                         break;
  140.                 case 'w':
  141.                         p.Djump(&cp);
  142.                         break;
  143.                 case 'z':
  144.                         p.shoot(ishoot, &cp);
  145.                         break;
  146.                 case 'r':
  147.                         p.reset(&cp, &strmap, &strmapr, &t, deadarr[barri]);
  148.                         break;
  149.                 default:
  150.                         break;
  151.                 }
  152.                 for (int i = 0; i < 22; i++) {
  153.                         t[i].check(p.sgetxy(X), p.sgetxy(Y), &strmap, &strmapr, p, itrap, &cp, ch, &t, deadarr[barri]);
  154.                 }
  155.                 itrap > 0 && itrap--, !itrap && (strmap[14][5] = ' ', strmap[15][5] = 'X');
  156.                 p.upOrDown(&cp);
  157.                 p.shootmove(&strmap, barri, ibsv);
  158.                 p.rejump(&cp);
  159.                 if ('X' == *cp) {
  160.                         p.gameover(&cp, &strmap, &strmapr, &t, deadarr[barri]);
  161.                 }
  162.                 *cp = 'P';
  163.                 ishoot > 0 && ishoot--;
  164.                 system("cls");
  165.                 fs.open("s.txt", ios::trunc | ios::out);
  166.                 fs << (char)(ibsv + '0');
  167.                 for (int i = 0; i < 3; i++) {
  168.                         sprintf(str, "%d", deadarr[i]);
  169.                         fs << " " << str;
  170.                 }
  171.                 fs.close();
  172.         }
  173.         system("color 0A");
  174.         cout << "恭喜你,你赢了,似了" << deadarr[barri] << "次" << endl;
  175.         fs.close();
  176.         return 0;
  177. }
复制代码
Player.h头文件

  1. #pragma once
  2. #include <iostream>
  3. #include <vector>
  4. #include "trigger.h"
  5. using namespace std;
  6. #define JUMPHIGH 3
  7. enum XY {
  8.         X,
  9.         Y,
  10. };
  11. struct trir {
  12.         char* cp;
  13.         bool b;
  14.         int iy;
  15. };
  16. class Player {
  17. private:
  18.         int ix;
  19.         int iy;
  20.         int ijh;
  21.         int ij;
  22.         bool blr;
  23.         vector<trir> v;
  24. public:
  25.         friend class trigger;
  26.         Player();
  27.         void printmap(const char strmap[22][22]);
  28.         void Djump(char** cpp);
  29.         void left_move(char** cpp);
  30.         void right_move(char** cpp);
  31.         int& sgetxy(XY xymode);
  32.         void upOrDown(char** cpp);
  33.         void gameover(char** cpp, char(*strmap)[22][22], const char(*strmapr)[22][22], trigger(*tarr)[22], int& idead);
  34.         void reset(char** cpp, char(*strmap)[22][22], const char(*strmapr)[22][22], trigger(*tarr)[22], int& idead);
  35.         void rejump(char** cp);
  36.         void shoot(int& i, char** cpp);
  37.         void shootmove(const char (*strmap)[22][22], int barri, int& ibsv);
  38. };
复制代码
Player.cpp源文件

  1. #include <iostream>
  2. #include <algorithm>
  3. #include <cstring>
  4. #include <fstream>
  5. #include "trigger.h"
  6. #include "Player.h"
  7. #include "Cmp.h"
  8. using namespace std;
  9. Player::Player(){
  10.         ij = 2;
  11.         ijh = 0;
  12.         blr = 1;
  13. }
  14. bool MSB = false;
  15. bool MSBa = false;
  16. bool MSBb = false;
  17. bool MSBc = false;
  18. bool MSv = false;
  19. void Player::printmap(const char strmap[22][22]) {
  20.         int i = 0;
  21.         int ia = 0;
  22.         for (; i < 22; i++) {
  23.                 for (ia = 0; ia < 22; ia++) {
  24.                         cout << "\033[" << ('G' == strmap[i][ia] ? "32;1m" : 'X' == strmap[i][ia] ? "31;1m" : '#' == strmap[i][ia] ? trigger::MSB ? "32;1m" : "31;1m" : 'S' == strmap[i][ia] ? ((!trigger::MSv) || 21 == ia) ? "33m" : "33;1m" : '@' == strmap[i][ia] ? "33m" : "0m") << strmap[i][ia] << "\033[0m";
  25.                 }
  26.                 cout << "|" << endl;
  27.         }
  28.         cout << "----------------------@" << endl;
  29. }
  30. void Player::Djump(char** cpp) {
  31.         switch (ij) {
  32.         case 2:
  33.                 ((21 == ix || '*' == (*cpp)[22] || '#' == (*cpp)[22]) && (ij = 1, ijh = JUMPHIGH), (21 != ix && '*' != (*cpp)[22] && '#' != (*cpp)[22]) && (ij = 0, ijh = JUMPHIGH));
  34.                 break;
  35.         case 1:
  36.                 ((21 == ix || '*' == (*cpp)[22] || '#' == (*cpp)[22]) && (ij = 2), (21 != ix && '*' != (*cpp)[22] && '#' != (*cpp)[22]) && (ij = 0, ijh = JUMPHIGH));
  37.                 break;
  38.         default:
  39.                 rejump(cpp);
  40.                 ((21 == ix || '*' == (*cpp)[22] || '#' == (*cpp)[22]) && (ij = 1, ijh = JUMPHIGH), (21 != ix && '*' != (*cpp)[22] && '#' != (*cpp)[22]) && (ij = 0));
  41.                 break;
  42.         }
  43. }
  44. void Player::left_move(char** cpp) {
  45.         (iy && '*' != *(*cpp - 1) && '#' != *(*cpp - 1) && ((*cpp)--));
  46.         blr = false;
  47. }
  48. void Player::right_move(char** cpp) {
  49.         21 != iy && '*' != *(*cpp + 1) && '#' != *(*cpp + 1) && ((*cpp)++);
  50.         blr = true;
  51. }
  52. int& Player::sgetxy(XY xymode) {
  53.         return xymode ? iy : ix;
  54. }
  55. void Player::upOrDown(char** cpp) {
  56.         if (ijh > 0 && ix && '*' != (*cpp)[-22] && '#' != (*cpp)[-22]) {
  57.                 ijh--, *cpp -= 22;
  58.         }
  59.         else if ('*' != (*cpp)[22] && '#' != (*cpp)[22] && (!ix || '*' == (*cpp)[-22] || '#' == (*cpp)[-22])) {
  60.                 ijh = 0, *cpp += 22;
  61.         }
  62.         else if ('*' != (*cpp)[22] && '#' != (*cpp)[22] && 21 != ix) {
  63.                 *cpp += 22;
  64.         }
  65. }
  66. void Player::gameover(char** cpp, char (*strmap)[22][22], const char (*strmapr)[22][22], trigger(*tarr)[22], int& idead) {
  67.         char ch = 0;
  68.         system("cls");
  69.         ' ' == (*strmap)[9][20] && ((*strmap)[9][20] = 'S');
  70.         printmap(*strmap);
  71.         cout << "\033[31;1m游戏结束 请按r键重新开始\033[0m" << endl;
  72.         while (ch - 'r') {
  73.                 cin >> ch;
  74.                 rewind(stdin);
  75.                 system("cls");
  76.                 if (ch - 'r') {
  77.                         printmap(*strmap);
  78.                         cout << "\033[31;1m游戏结束 请按r键重新开始\033[0m" << endl;
  79.                 }
  80.         }
  81.         reset(cpp, strmap, strmapr, tarr, idead);
  82. }
  83. void Player::reset(char** cpp, char(*strmap)[22][22], const char(*strmapr)[22][22], trigger(*tarr)[22], int& idead) {
  84.         idead++;
  85.         trigger::MSv && (*cpp = &((*strmap)[9][20]), ix = 9, iy = 20), trigger::MSv || (*cpp = &((*strmap)[21][0]), ix = 21, iy = 0);
  86.         trigger::MSB = false;
  87.         MSBa = false;
  88.         MSBb = false;
  89.         MSBc = false;
  90.         blr = true;
  91.         int i = 0;
  92.         memcpy(*strmap, *strmapr, sizeof(*strmapr));
  93.         for (; i < 22; i++) {
  94.                 (*tarr)[i].MBt = false;
  95.         }
  96.         v.clear();
  97.         rejump(cpp);
  98. }
  99. void Player::rejump(char** cpp) {
  100.         (21 == ix || '*' == (*cpp)[22]) && (ij = 2);
  101. }
  102. void Player::shoot(int& i, char** cpp) {
  103.         if ((!i) && (iy && blr || 21 != iy && (!blr))) {
  104.                 v.push_back({*cpp, blr, iy});
  105.                 i = 3;
  106.         }
  107. }
  108. void Player::shootmove(const char(*strmap)[22][22], int barri, int& ibsv) {
  109.         for (vector<trir>::iterator it = v.begin();v.end()!=it;it++) {
  110.                 (' ' == *it->cp || '@' == *it->cp) && (*it->cp = ' ');
  111.                 '#' == *it->cp && (trigger::MSB = true);
  112.                 if (&((*strmap)[9][20]) == it->cp) {
  113.                         trigger::MSv = true;
  114.                         (!(ibsv & (1 << barri))) && (ibsv += (1 << barri));
  115.                 }
  116.                 if ('*' == *it->cp || '#' == *it->cp || (!it->iy && (!it->b)) || (21 == it->iy && it->b)) {
  117.                         it->iy = -1;
  118.                 }
  119.                 if (0 <= it->iy) {
  120.                         it->cp -= (1 - it->b * 2);
  121.                         it->iy -= (1 - it->b * 2);
  122.                         (' ' == *it->cp || '@' == *it->cp) && (*it->cp = '@');
  123.                 }
  124.         }
  125.         sort(v.begin(), v.end(), cmp());
  126.         while ((!v.empty()) && 0 > v.begin()->iy) {
  127.                 v.erase(v.begin());
  128.         }
  129. }
复制代码
trigger.h头文件

  1. #pragma once
  2. #include <iostream>
  3. #include "Player.h"
  4. using namespace std;
  5. class trigger {
  6. private:
  7.         int MISX;
  8.         int MISY;
  9.         int MIEX;
  10.         int MIEY;
  11.         int Mtrig;
  12.         bool MBt;
  13.         static bool MSB;
  14.         static bool MSBa;
  15.         static bool MSBb;
  16.         static bool MSBc;
  17.         static bool MSv;
  18. public:
  19.         friend class Player;
  20.         trigger(int istartx, int istarty, int iendx, int iendy, int trig) :MISY(istarty), MIEX(iendx), MIEY(iendy), MISX(istartx), Mtrig(trig), MBt(false) {}
  21.         void check(int ix, int iy, char(*strmap)[22][22], const char(*strmapr)[22][22], Player& p, int& ii, char** cpp, char ch, trigger(*tarr)[22], int& idead);
  22.         bool saveset(bool b);
  23. };
复制代码
trigger.cpp源文件

  1. #include <iostream>
  2. #include "trigger.h"
  3. #include <string>
  4. #include "Player.h"
  5. using namespace std;
  6. bool trigger::MSB = false;
  7. bool trigger::MSBa = false;
  8. bool trigger::MSBb = false;
  9. bool trigger::MSBc = false;
  10. bool trigger::MSv = false;
  11. void trigger::check(int ix, int iy, char (*strmap)[22][22], const char (*strmapr)[22][22],Player& p, int& ii, char** cpp, char ch, trigger(*tarr)[22], int& idead) {
  12.         int i = 0;
  13.         if (MISX <= ix && ix <= MIEX && MISY <= iy && iy <= MIEY && (Mtrig - 4 && Mtrig - 8 && Mtrig - 16 && Mtrig - 18 ? (!MBt) : 1)) {
  14.                 switch (MBt = true, Mtrig) {
  15.                 case 0:
  16.                         (*strmap)[21][3] = 'X';
  17.                         p.gameover(cpp, strmap, strmapr, tarr, idead);
  18.                         break;
  19.                 case 1:
  20.                         for (i = 16; i < 21; i++) {
  21.                                 (*strmap)[i][6] = 'X';
  22.                         }
  23.                         break;
  24.                 case 2:
  25.                         for (i = 18; i < 22; i++) {
  26.                                 if ('X' == (*strmap)[i][13]) {
  27.                                         (*strmap)[i][13] = ' ';
  28.                                 }
  29.                                 else {
  30.                                         (*strmap)[i][13] = 'X';
  31.                                 }
  32.                         }
  33.                         break;
  34.                 case 3:
  35.                         for (i = MISX; i <= MIEX; i++) {
  36.                                 for (int ia = MISY; ia <= MIEY; ia++) {
  37.                                         (*strmap)[i][ia] = 'X';
  38.                                 }
  39.                         }
  40.                         p.gameover(cpp, strmap, strmapr, tarr, idead);
  41.                         break;
  42.                 case 4:
  43.                         if ('z' == ch) {
  44.                                 (*strmap)[13][19] = 'L';
  45.                                 (*strmap)[13][20] = 'O';
  46.                                 (*strmap)[13][21] = 'L';
  47.                                 p.gameover(cpp, strmap, strmapr, tarr, idead);
  48.                         }
  49.                         break;
  50.                 case 6:
  51.                         if (!MSB) {
  52.                                 for (i = 0; i < 10; i++) {
  53.                                         (*strmap)[i][15] = 'X';
  54.                                 }
  55.                         }
  56.                         break;
  57.                 case 7:
  58.                         for (i = 8; i < 10; i++) {
  59.                                 (*strmap)[i][10] = '*';
  60.                                 (*strmap)[i][14] = '*';
  61.                         }
  62.                         for (; i < 15; i++) {
  63.                                 (*strmap)[7][i] = '*';
  64.                         }
  65.                         break;
  66.                 case 8:
  67.                         ((!MSBa) && '*' == (*cpp)[22]) && ((*cpp)[22] = 'X');
  68.                         break;
  69.                 case 9:
  70.                         MSBa = true;
  71.                         for (i = 6; i < 9; i++) {
  72.                                 (*strmap)[10][i] = '*';
  73.                         }
  74.                         break;
  75.                 case 10:
  76.                         for (i = 1; i < 4; i++) {
  77.                                 (*strmap)[4][i] = '*';
  78.                         }
  79.                         break;
  80.                 case 11:
  81.                 {
  82.                         string str = "LOL LOL";
  83.                         char* cpa = &((*strmap)[11][2]);
  84.                         char* cpb = &(str[0]);
  85.                         for (i = 0; i < 7; i++, cpa++, cpb++) {
  86.                                 *cpa = *cpb;
  87.                         }
  88.                         MSBb = true;
  89.                 }
  90.                 break;
  91.                 case 12:
  92.                         (*strmap)[11][0] = 'G';
  93.                         (*strmap)[14][0] = ' ';
  94.                         break;
  95.                 case 13:
  96.                         (*strmap)[11][0] = 'G';
  97.                         (*strmap)[13][0] = ' ';
  98.                         (*strmap)[13][5] = 'X';
  99.                         (*strmap)[13][2] = ' ';
  100.                         (*strmap)[15][5] = '*';
  101.                         for (i = 16; i < 21; i++) {
  102.                                 (*strmap)[i][0] = 'L';
  103.                                 (*strmap)[i][1] = 'O';
  104.                                 (*strmap)[i][2] = 'L';
  105.                         }
  106.                         break;
  107.                 case 14:
  108.                         ii = 10;
  109.                         break;
  110.                 case 15:
  111.                         MSBc = true;
  112.                         for (i = 10; i < 13; i++) {
  113.                                 (*strmap)[14][i] = 'X';
  114.                         }
  115.                         (*strmap)[13][10] = '*';
  116.                         for (i = 0; i < 11; i++) {
  117.                                 (*strmap)[10][i] = '*';
  118.                         }
  119.                         if (*cpp == &((*strmap)[14][12])) {
  120.                                 p.gameover(cpp, strmap, strmapr, tarr, idead);
  121.                         }
  122.                         break;
  123.                 case 16:
  124.                         if (MSBc) {
  125.                                 (*strmap)[14][10] = ' ';
  126.                                 (*strmap)[14][11] = ' ';
  127.                                 '*' == (*cpp)[22] && ((*cpp)[22] = 'X');
  128.                         }
  129.                         break;
  130.                 case 17:
  131.                         (*strmap)[21][13] = 'X';
  132.                         break;
  133.                 case 18:
  134.                         if (MSBb) {
  135.                                 *cpp = &((*strmap)[11][7]);
  136.                                 (*strmap)[11][8] = '*';
  137.                                 MSBb = false;
  138.                         }
  139.                         break;
  140.                 default:
  141.                         break;
  142.                 }
  143.         }
  144. }
  145. bool trigger::saveset(bool b) {
  146.         MSv = b;
  147.         return MSv;
  148. }
复制代码
Cmp.h头文件

  1. #pragma once
  2. #include <iostream>
  3. #include <vector>
  4. #include "Player.h"
  5. using namespace std;
  6. class cmp {
  7. public:
  8.         bool operator()(trir t, trir ta);
  9. };
复制代码
Cmp.cpp源文件

  1. #include <iostream>
  2. #include <vector>
  3. #include "Cmp.h"
  4. #include "Player.h"
  5. using namespace std;
  6. bool cmp::operator()(trir t, trir ta) {
  7.         return t.iy < ta.iy;
  8. }
复制代码
C++版iwanna2

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

宝塔山

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表