C++跑酷闯关游戏2.0
这次迎来了大更新,地图增多,玩法改版,你造吗?
以下为源码
#undef UNICODE
#undef _UNICODE
#include <iostream>
#include <iomanip>
#include <string>
#include <cstdlib>
#include <ctime>
#include <windows.h>
#include <conio.h>
#include <fstream>
#include <stdio.h>
#include <algorithm>
#include <D:\b_game.h>
using namespace std;
using namespace _game;
using std::cout;
using std::cin;
const long long dts = 11;
long long wj1x, wj1y, wj2x, wj2y, wj3x, wj3y, wj4x, wj4y, cs = 0, dtbh, sy, runs, cgjd = 1, y_1x, y_1y, y_2x, y_2y, y_3x, y_3y, y_4x, y_4y;
cdhs cddx;
bool f = 1, t1 = 1, t2 = 1, t3 = 1, t4 = 1, cxjs = 1, hyflag = 1;
long long csx[dts + 1] = {0,18,18,18,14,1,3,1,3,18,1,18
};
long long csy[dts + 1] = {0,1,1,1,1,1,1,1,37,1,1,1
};
string dtm[dts + 1] = {"空地图","新手练习","蹦床天地","信仰之跃","生死双道","天空跳床","小心暗刺","转来转去","9 9 加 6","天空尖刺","天空之跃","扭曲虫洞"
};
string dt[dts + 1][21] = {{" ",//" "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," ",},{" =",//" ="," ="," ="," ="," ="," ="," ="," ="," ="," ="," ="," ="," ="," ==================="," ="," ==== ="," = ="," < > = $="," ==== ====^^^^==================- ======= ="," ="},{" ",//" = < "," = < "," = < $ "," = < "," = < "," --- < "," = "," ======-=====-===---=----=-=----========-======="," "," "," --- "," "," "," "," "," "," "," "," ---------------------------------------------------------------------------"," "},{" ",//" "," "," == === "," = = "," = = "," = $ = "," = = "," = = - "," = "," -== = "," = "," == = "," === =- "," == = "," ==== = "," === = "," == = "," === == "," = === ======-"," ",},{" ",//" "," "," == === == "," === === < "," == < "," < "," == ==^^^^^^^^^^^== < "," ====== < "," == === ======= < "," ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^< "," == < "," < "," == < "," ^ $"," ========> <=== === === == = === = == === ==== ^ ==== === == = == = ====="," "," "," "," "," ",},{" ",//" < "," < "," < "," < "," < "," < --- "," < == "," < "," < = --- "," < = "," < = "," < = "," < = "," < = "," < = --- "," < = $"," = "," =====---------=^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^"," "," "},{" ",//" ="," ="," ="," ====^=====^=====^=====^=====^=====^=====^=====^=====^=====^=====^=====^== ="," ="," ========== <> ="," = <> <> ="," ==============================^^^^^^^^^^^^=============================^="," < ="," < == == ="," < = = ="," ^^^ < = = ="," < = = ="," < = = ="," ^^^^< = = ="," < = = ="," < = = ="," = = ="," ============== ===== $="," ="},{" ",//" < ="," < ="," < ="," < ============================= ="," < = = = = ="," < = = = = ===================== ="," < = == = $= == = = == ="," < = = = = = = = ="," < = == ^^^^== = == = ==="," < = = = ^^^^^= = = === === ="," < == = =============== = = ="," < = =^^ = = == ="," < = =========================== = === ="," < = = = ="," < ^ =============================== = ="," < => ==== ="," ==> ==="," ==================================================================== ="," ="," ="},{" ",//" > < = = "," > < = = "," = > < = = = "," ^^^^ = > === < = == = "," <= > = =^ = === = "," < = < < =$ = "," < = ^^^^^^^^^^^^^^^ < = === "," ^^^< = ^^ =^^^^^^^^== = "," < = ======== ^ ============= = "," < = ==== === <^ = "," < ======^^^^^^^^^^^^^ > ^^ ================ "," < ^^^^ "," ^^^^ < == == "," < = "," < = == "," ==== ^^^ = "," = == "," ========== ======= "," "," "},{" = < < ",//" = < < "," = < < "," = < < "," = < <$ "," < = <> < < "," ====== < = <> < < "," < = ^--^ ^--^ <> ^ < < "," < = <> < < "," < = <> < < "," < = <> < < "," --- < = ^--^ <> ^ < < --"," = < = <> < < "," = < = <> < < "," = < = <> < < "," ^^^^^^ < = <> ^ < < "," --- < = -- <> "," < < <> "," < < <> "," ===------------------------------------------------------------------------"," ",},{" = ",//" = "," = "," = "," = "," = "," = "," = "," = "," = "," = "," = = = "," = "," = "," = === "," = === "," = $ "," = =- "," === "," ===== - "," ",},{" ",//" $ "," "," ====== "," =- ==================== "," ==== = = "," = ======= = == =============================="," = ==== = = == ===== = = = = = = = "," = ========== =^ = = = = = = = = = = = "," = = = = = ====================================== "," = = = = = = "," = = == = ^ = = = <> "," = = ===== = = = = < ^ <^> "," = = == ^ = = ^= ===================================-"," = = = = = = == "," = = ==== = ^= = < = "," =-==== = ^ = = = ===================================== "," = = = "," = = = "," == = ===^== =^ ===-====-======================================-"," ",}
};
//基础函数
void csh()
{f = 1, t1 = 1, t2 = 1, t3 = 1, t4 = 1;cs = 0;return;
}
void gb()
{CONSOLE_CURSOR_INFO cursor;cursor.bVisible = FALSE;cursor.dwSize = sizeof(cursor);HANDLE handle = GetStdHandle(STD_OUTPUT_HANDLE);SetConsoleCursorInfo(handle, &cursor);return;
}
void out();
void in();
void lx();
void bd();
void gx();
void yl();
//页面函数
void zym();
void yxym();
void smym();
void szsmym();
void wpsmym();
void yxjqym();
void yxbbsm();
//模式函数
void youxi();
void suij();
void cg();
int main()
{system("mode con cols=76 lines=20");system("title 跑酷");cout << "加载中...";srand(time(0));yanse(240);ycbj();gb();hyflag = 1;cddx.in(cgjd, "闯关进度.binggan");system("cls");while (cxjs){zym();system("cls");}cddx.out(cgjd, "闯关进度.binggan");return 0;
}
void zym()
{yanse(240);char s;system("cls");gs(5, 32, "跑酷");gs(2, 0, "");gs(1, 30, "退出");gs(2, 30, "开始游戏");gs(2, 30, "游戏说明");gs(2, 30, "游戏存档");// if (hyflag)// {// MessageBox(0, "欢迎来到跑酷\n\n制作:饼干", "系统", MB_OK);// hyflag = 0;// }while (1){long long h = sbwz().h, l = sbwz().l;if (h == 9 && 31 <= l && l <= 34)//{if (axj(z_sb)){s = '0';break;}else{ydgb(9, 34);cout << "\b\b\b";yanse(7);cout << "退出";}}else{ydgb(9, 34);cout << "\b\b\b";yanse(240);cout << "退出";}if (h == 11 && 31 <= l && l <= 38)//{if (axj(z_sb)){s = '1';break;}else{ydgb(11, 38);cout << "\b\b\b\b\b\b\b";yanse(7);cout << "开始游戏";}}else{ydgb(11, 38);cout << "\b\b\b\b\b\b\b";yanse(240);cout << "开始游戏";}if (h == 13 && 31 <= l && l <= 38)//{if (axj(z_sb)){s = '2';break;}else{ydgb(13, 38);cout << "\b\b\b\b\b\b\b";yanse(7);cout << "游戏说明";}}else{ydgb(13, 38);cout << "\b\b\b\b\b\b\b";yanse(240);cout << "游戏说明";}if (h == 15 && 31 <= l && l <= 38){if (axj(z_sb)){s = '3';break;}else{ydgb(15, 38);cout << "\b\b\b\b\b\b\b";yanse(7);cout << "游戏存档";}}else{ydgb(15, 38);cout << "\b\b\b\b\b\b\b";yanse(240);cout << "游戏存档";}}Sleep(150);switch (s){case '0':// if (MessageBox(0, "确定退出?", "系统", MB_YESNO) == IDYES)// {cxjs = 0;MessageBox(0, "再见!\n\n制作:饼干", "系统", MB_OK);return;// }// else// {// yanse(240);// system("cls");// }break;case '1':yxym();break;case '2':smym();break;case '3':cddx.out(cgjd, "闯关进度.binggan");// MessageBox(0, "存档成功", "系统", MB_OK);break;}return;
}
void yxym()
{yanse(240);char s;system("cls");while (1){gs(8, 30, "退出");gs(2, 30, "单人模式");gs(1, 30, "双人模式");gs(1, 30, "三人模式");gs(1, 30, "四人模式");while (1){long long h = sbwz().h, l = sbwz().l;if (h == 9 && 31 <= l && l <= 34)//{if (axj(z_sb)){s = '0';break;}else{ydgb(9, 38);cout << "\b\b\b\b\b\b\b";yanse(7);cout << "退出";}}else{ydgb(9, 38);cout << "\b\b\b\b\b\b\b";yanse(240);cout << "退出";}if (h == 11 && 31 <= l && l <= 38)//{if (axj(z_sb)){s = '1';break;}else{ydgb(11, 38);cout << "\b\b\b\b\b\b\b";yanse(7);cout << "单人模式";}}else{ydgb(11, 38);cout << "\b\b\b\b\b\b\b";yanse(240);cout << "单人模式";}if (h == 12 && 31 <= l && l <= 38)//{if (axj(z_sb)){s = '2';break;}else{ydgb(12, 38);cout << "\b\b\b\b\b\b\b";yanse(7);cout << "双人模式";}}else{ydgb(12, 38);cout << "\b\b\b\b\b\b\b";yanse(240);cout << "双人模式";}if (h == 13 && 31 <= l && l <= 38)//{if (axj(z_sb)){s = '3';break;}else{ydgb(13, 38);cout << "\b\b\b\b\b\b\b";yanse(7);cout << "三人模式";}}else{ydgb(13, 38);cout << "\b\b\b\b\b\b\b";yanse(240);cout << "三人模式";}if (h == 14 && 31 <= l && l <= 38)//{if (axj(z_sb)){s = '4';break;}else{ydgb(14, 38);cout << "\b\b\b\b\b\b\b";yanse(7);cout << "四人模式";}}else{ydgb(14, 38);cout << "\b\b\b\b\b\b\b";yanse(240);cout << "四人模式";}}Sleep(150);switch (s){case '0':return;case '1':runs = 1;break;case '2':runs = 2;break;case '3':runs = 3;break;case '4':runs = 4;break;}youxi();}return;
}
void out()
{for (long long i = 1; i <= 19; i++){for (long long j = 1; j <= 75; j++){if (i == wj1x && j == wj1y){yanse(11);cout << "*";}elseif (i == wj2x && j == wj2y && runs >= 2){yanse(12);cout << "+";}elseif (i == wj3x && j == wj3y && runs >= 3){yanse(14);cout << "!";}elseif (i == wj4x && j == wj4y && runs >= 4){yanse(10);cout << "#";}elseif (dt[dtbh][i][j] == '$'){yanse(7);cout << "$";}else{yanse(240);cout << dt[dtbh][i][j];}}cout << endl;}return;
}
void in()
{yanse(240);char s;if (GetKeyState('P') < 0){system("cls");for (long long i = 1; i <= 6; i++){cout << "\n";}for (long long i = 1; i <= 30; i++)cout << " ";cout << "暂停中\n\n";for (long long i = 1; i <= 30; i++)cout << " ";cout << "退出\n";for (long long i = 1; i <= 30; i++)cout << " ";cout << "返回\n";while (1){long long h = sbwz().h, l = sbwz().l;if (h == 9 && 31 <= l && l <= 34)//{if (axj(z_sb)){s = '0';break;}else{ydgb(9, 38);cout << "\b\b\b\b\b\b\b";yanse(7);cout << "退出";}}else{ydgb(9, 38);cout << "\b\b\b\b\b\b\b";yanse(240);cout << "退出";}if (h == 10 && 31 <= l && l <= 34)//{if (axj(z_sb)){s = '1';break;}else{ydgb(10, 38);cout << "\b\b\b\b\b\b\b";yanse(7);cout << "返回";}}else{ydgb(10, 38);cout << "\b\b\b\b\b\b\b";yanse(240);cout << "返回";}}Sleep(150);switch (s){case '0':f = 0;sy = 0;yanse(240);return;case '1':yanse(240);system("cls");out();system("cls");out();break;}}if (GetKeyState(38) < 0 && (dt[dtbh][wj1x - 1][wj1y] == ' ' || dt[dtbh][wj1x - 1][wj1y] == '$') && wj1x > 1 && t1){wj1x--;for (long long i = 1; i <= 2; i++)if (dt[dtbh][wj1x - 1][wj1y] == ' ' && wj1x > 1)wj1x--;t1 = 0;}if (GetKeyState(37) < 0 && (dt[dtbh][wj1x][wj1y - 1] == ' ' || dt[dtbh][wj1x][wj1y - 1] == '$') && wj1y - 1 > 0){wj1y--;}if (GetKeyState(39) < 0 && (dt[dtbh][wj1x][wj1y + 1] == ' ' || dt[dtbh][wj1x][wj1y + 1] == '$') && wj1y - 1 <= 100){wj1y++;}if (runs >= 2){if (GetKeyState('W') < 0 && (dt[dtbh][wj2x - 1][wj2y] == ' ' || dt[dtbh][wj2x - 1][wj2y] == '$') && wj2x > 1 && t2){wj2x--;for (long long i = 1; i <= 2; i++)if (dt[dtbh][wj2x - 1][wj2y] == ' ' && wj2x > 1)wj2x--;t2 = 0;}if (GetKeyState('A') < 0 && (dt[dtbh][wj2x][wj2y - 1] == ' ' || dt[dtbh][wj2x][wj2y - 1] == '$') && wj2y - 1 > 0){wj2y--;}if (GetKeyState('D') < 0 && (dt[dtbh][wj2x][wj2y + 1] == ' ' || dt[dtbh][wj2x][wj2y + 1] == '$') && wj1y - 1 <= 100){wj2y++;}}if (runs >= 3){if (GetKeyState('I') < 0 && (dt[dtbh][wj3x - 1][wj3y] == ' ' || dt[dtbh][wj3x - 1][wj3y] == '$') && wj3x > 1 && t3){wj3x--;for (long long i = 1; i <= 2; i++)if (dt[dtbh][wj3x - 1][wj3y] == ' ' && wj3x > 1)wj3x--;t3 = 0;}if (GetKeyState('J') < 0 && (dt[dtbh][wj3x][wj3y - 1] == ' ' || dt[dtbh][wj3x][wj3y - 1] == '$') && wj3y - 1 > 0){wj3y--;}if (GetKeyState('L') < 0 && (dt[dtbh][wj3x][wj3y + 1] == ' ' || dt[dtbh][wj3x][wj3y + 1] == '$') && wj3y - 1 <= 100){wj3y++;}}if (runs >= 4){if (GetKeyState(101) < 0 && (dt[dtbh][wj4x - 1][wj4y] == ' ' || dt[dtbh][wj4x - 1][wj4y] == '$') && wj4x > 1 && t4){wj4x--;for (long long i = 1; i <= 2; i++)if (dt[dtbh][wj4x - 1][wj4y] == ' ' && wj4x > 1)wj4x--;t4 = 0;}if (GetKeyState(97) < 0 && (dt[dtbh][wj4x][wj4y - 1] == ' ' || dt[dtbh][wj4x][wj4y - 1] == '$') && wj4y - 1 > 0){wj4y--;}if (GetKeyState(99) < 0 && (dt[dtbh][wj4x][wj4y + 1] == ' ' || dt[dtbh][wj4x][wj4y + 1] == '$') && wj4y - 1 <= 100){wj4y++;}}return;
}
void lx()
{if (dt[dtbh][wj1x + 1][wj1y] == ' ' || dt[dtbh][wj1x + 1][wj1y] == '$')wj1x++;else t1 = 1;if (dt[dtbh][wj2x + 1][wj2y] == ' ' || dt[dtbh][wj2x + 1][wj2y] == '$')wj2x++;else t2 = 1;if (dt[dtbh][wj3x + 1][wj3y] == ' ' || dt[dtbh][wj3x + 1][wj3y] == '$')wj3x++;else t3 = 1;if (dt[dtbh][wj4x + 1][wj4y] == ' ' || dt[dtbh][wj4x + 1][wj4y] == '$')wj4x++;else t4 = 1;return;
}
void yl()
{if (dt[dtbh][wj1x][wj1y] == '$'){f = 0;sy = 1;}if (dt[dtbh][wj2x][wj2y] == '$'){f = 0;sy = 2;}if (dt[dtbh][wj3x][wj3y] == '$'){f = 0;sy = 3;}if (dt[dtbh][wj4x][wj4y] == '$'){f = 0;sy = 4;}return;
}
void bd()
{if (wj1x == 20){wj1x = csx[dtbh]; wj1y = csy[dtbh];}if (wj2x == 20){wj2x = csx[dtbh]; wj2y = csy[dtbh];}if (wj3x == 20){wj3x = csx[dtbh]; wj3y = csy[dtbh];}if (wj4x == 20){wj4x = csx[dtbh]; wj4y = csy[dtbh];}if (dt[dtbh][wj1x + 1][wj1y] == '^'){wj1x = csx[dtbh]; wj1y = csy[dtbh];}if (dt[dtbh][wj2x + 1][wj2y] == '^'){wj2x = csx[dtbh]; wj2y = csy[dtbh];}//if (dt[dtbh][wj3x + 1][wj3y] == '^'){wj3x = csx[dtbh]; wj3y = csy[dtbh];}if (dt[dtbh][wj4x + 1][wj4y] == '^'){wj4x = csx[dtbh]; wj4y = csy[dtbh];}//if (dt[dtbh][wj1x][wj1y + 1] == '<'){wj1x = csx[dtbh]; wj1y = csy[dtbh];}if (dt[dtbh][wj2x][wj2y + 1] == '<'){wj2x = csx[dtbh]; wj2y = csy[dtbh];}//if (dt[dtbh][wj3x][wj3y + 1] == '<'){wj3x = csx[dtbh]; wj3y = csy[dtbh];}if (dt[dtbh][wj4x][wj4y + 1] == '<'){wj4x = csx[dtbh]; wj4y = csy[dtbh];}//if (dt[dtbh][wj1x][wj1y - 1] == '>'){wj1x = csx[dtbh]; wj1y = csy[dtbh];}if (dt[dtbh][wj2x][wj2y - 1] == '>'){wj2x = csx[dtbh]; wj2y = csy[dtbh];}//if (dt[dtbh][wj3x][wj3y - 1] == '>'){wj3x = csx[dtbh]; wj3y = csy[dtbh];}if (dt[dtbh][wj4x][wj4y - 1] == '>'){wj4x = csx[dtbh]; wj4y = csy[dtbh];}//if (dt[dtbh][wj1x + 1][wj1y] == '-'){for (long long i = 1; i <= 10 && wj1x > 1; i++){if (dt[dtbh][wj1x - 1][wj1y] == ' ' || dt[dtbh][wj1x - 1][wj1y] == '$'){wj1x--;}elsebreak;}}if (dt[dtbh][wj2x + 1][wj2y] == '-'){for (long long i = 1; i <= 10 && wj2x > 1; i++){if (dt[dtbh][wj2x - 1][wj2y] == ' ' || dt[dtbh][wj2x - 1][wj2y] == '$'){wj2x--;}elsebreak;}}//if (dt[dtbh][wj3x + 1][wj3y] == '-'){for (long long i = 1; i <= 10 && wj3x > 1; i++){if (dt[dtbh][wj3x - 1][wj3y] == ' ' || dt[dtbh][wj3x - 1][wj3y] == '$'){wj3x--;}elsebreak;}}if (dt[dtbh][wj4x + 1][wj4y] == '-'){for (long long i = 1; i <= 10 && wj4x > 1; i++){if (dt[dtbh][wj4x - 1][wj4y] == ' ' || dt[dtbh][wj4x - 1][wj4y] == '$'){wj4x--;}elsebreak;}}return;
}
void youxi()
{yanse(240);system("cls");char s;while (1){for (long long i = 1; i <= 8; i++)cout << "\n";for (long long i = 1; i <= 30; i++)cout << " ";cout << "退出\n\n";for (long long i = 1; i <= 30; i++)cout << " ";cout << "随机\n\n";for (long long i = 1; i <= 30; i++)cout << " ";cout << "闯关\n";while (1){long long h = sbwz().h, l = sbwz().l;if (h == 9 && 31 <= l && l <= 34)//{if (axj(z_sb)){s = '0';break;}else{ydgb(9, 38);cout << "\b\b\b\b\b\b\b";yanse(7);cout << "退出";}}else{ydgb(9, 38);cout << "\b\b\b\b\b\b\b";yanse(240);cout << "退出";}if (h == 11 && 31 <= l && l <= 34)//{if (axj(z_sb)){s = '1';break;}else{ydgb(11, 38);cout << "\b\b\b\b\b\b\b";yanse(7);cout << "随机";}}else{ydgb(11, 38);cout << "\b\b\b\b\b\b\b";yanse(240);cout << "随机";}if (h == 13 && 31 <= l && l <= 34)//{if (axj(z_sb)){s = '2';break;}else{ydgb(13, 38);cout << "\b\b\b\b\b\b\b";yanse(7);cout << "闯关";}}else{ydgb(13, 38);cout << "\b\b\b\b\b\b\b";yanse(240);cout << "闯关";}}Sleep(150);switch (s){case '0':yanse(240);system("cls");return;case '1':suij();break;case '2':cg();break;}system("cls");}return;
}
void suij()
{char s;while (1){csh();dtbh = rand() % dts + 1;wj1x = wj2x = wj3x = wj4x = csx[dtbh];wj1y = wj2y = wj3y = wj4y = csy[dtbh];system("cls");out();for (long long i = 1; f; i++){gx();yanse(240);Sleep(50);in();yl();bd();yl();if (cs == 1)lx();yl();if (cs == 1)cs = -1;cs++;if (i == 1){system("cls");out();}}system("cls");if (runs >= 2){if (sy == 0){system("cls");return;}if (sy == 1){yanse(11);system("cls");cout << "*赢了!";cout << "\n点击继续";while (!axj(z_sb));Sleep(150);}elseif (sy == 2){yanse(12);system("cls");cout << "+赢了!";cout << "\n点击继续";while (!axj(z_sb));Sleep(150);}elseif (sy == 3){yanse(14);system("cls");cout << "!赢了!";cout << "\n点击继续";while (!axj(z_sb));Sleep(150);}elseif (sy == 4){yanse(10);system("cls");cout << "#赢了!";cout << "\n点击继续";while (!axj(z_sb));Sleep(150);}}else{if (sy == 0){system("cls");return;}else{yanse(11);system("cls");cout << "你赢了!!!";cout << "\n点击继续";while (!axj(z_sb));}}yanse(240);system("cls");cout << "是否返回?\n";cout << "返回\n";cout << "继续";while (1){long long h = sbwz().h, l = sbwz().l;if (h == 2 && 1 <= l && l <= 4){ydgb(2, 1);yanse(7);cout << "返回";if (axj(z_sb)){s = 'y';break;}}else{ydgb(2, 1);yanse(240);cout << "返回";}if (h == 3 && 1 <= l && l <= 4){ydgb(3, 1);yanse(7);cout << "继续";if (axj(z_sb)){s = 'n';break;}}else{ydgb(3, 1);yanse(240);cout << "继续";}}Sleep(150);if (s == 'y'){f = 0;yanse(240);system("cls");return;}yanse(240);system("cls");}return;
}
void gx()
{if (dt[dts][y_1x][y_1y] != '$'){yanse(240);ydgb(y_1x, y_1y + 1);cout << '\b' << " ";}if (runs >= 2 && dt[dts][y_2x][y_2y] != '$'){ydgb(y_2x, y_2y + 1);cout << '\b' << " ";}if (runs >= 3 && dt[dts][y_3x][y_3y] != '$'){ydgb(y_3x, y_3y + 1);cout << '\b' << " ";}if (runs >= 4 && dt[dts][y_4x][y_4y] != '$'){ydgb(y_4x, y_4y + 1);cout << '\b' << " ";}if (runs >= 4 && dt[dts][wj4x][wj4y] != '$'){yanse(10);ydgb(wj4x, wj4y + 1);if (dt[dts][y_4x][y_4y] != '$'){cout << '\b';cout << "#";}}if (runs >= 3 && dt[dts][wj3x][wj3y] != '$'){yanse(14);ydgb(wj3x, wj3y + 1);if (dt[dts][y_3x][y_3y] != '$'){cout << '\b';cout << "!";}}if (runs >= 2 && dt[dts][wj2x][wj2y] != '$'){yanse(12);ydgb(wj2x, wj2y + 1);if (dt[dts][y_2x][y_2y] != '$'){cout << '\b';cout << "+";}}if (dt[dts][wj1x][wj1y] != '$'){yanse(11);ydgb(wj1x, wj1y + 1);if (dt[dts][y_1x][y_1y] != '$'){cout << '\b';cout << "*";}}y_1x = wj1x, y_1y = wj1y;if (runs >= 2){y_2x = wj2x, y_2y = wj2y;}if (runs >= 3){y_3x = wj3x, y_3y = wj3y;}if (runs >= 4){y_4x = wj4x, y_4y = wj4y;}yanse(240);return;
}
void cg()
{bool flag = 1;char s;system("cls");while (1){csh();while (f){flag = 1;system("cls");cout << "退出" << endl;for (long long i = 1; i <= dts; i++){if (cgjd >= i){if (cgjd == i){cout << "\b\b" << "->";}cout << dtm[i];if (cgjd == i){cout << "<-";}for (long long j = 1; j <= 15 - dtm[i].size() - (cgjd == i); j++){cout << " ";}if (cgjd == i){cout << "\b";}}else{cout << "????";for (long long j = 1; j <= 14 - 7; j++){cout << " ";}}if (i % 4 == 0)cout << endl;}while (flag){long long h = sbwz().h, l = sbwz().l;long long da[4] = { 1,16,31,46 },db[4] = { 8,23,38,53 };if (h == 1 && 1 <= l && l <= 4){ydgb(1, 1);yanse(7);cout << "退出";if (axj(z_sb)){yanse(240);system("cls");return;}}else{ydgb(1, 1);yanse(240);cout << "退出";}for (long long i = 0; i < dts; i++){if (h == (i / 4) + 2 && da[i % 4] <= l && l <= db[i % 4]){ydgb((i / 4) + 2, da[i % 4]);yanse(7);if (cgjd < i + 1)cout << "????";elsecout << dtm[i + 1];if (axj(z_sb)){s = i + '0' + 1;flag = 0;yanse(240);system("cls");break;}}else{ydgb((i / 4) + 2, da[i % 4]);yanse(240);if (cgjd < i + 1)cout << "????";elsecout << dtm[i + 1];}}}Sleep(150);if (s - '0' > cgjd){system("cls");cout << "\n你还没有解锁此关卡!\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n";cout << "点击继续";while (!axj(z_sb));system("cls");Sleep(150);break;}system("cls");dtbh = s - '0';wj1x = wj2x = wj3x = wj4x = csx[dtbh];wj1y = wj2y = wj3y = wj4y = csy[dtbh];out();for (long long i = 1; f; i++){gx();yanse(240);Sleep(50);in();yl();bd();yl();if (cs == 1)lx();yl();if (cs == 1)cs = -1;cs++;if (i == 1){system("cls");out();}}system("cls");if (runs >= 2){if (sy == 0){system("cls");return;}if (sy == 1){yanse(11);system("cls");cout << "*赢了!";cout << "\n点击继续";while (!axj(z_sb));Sleep(150);}elseif (sy == 2){yanse(12);system("cls");cout << "+赢了!";cout << "\n点击继续";while (!axj(z_sb));Sleep(150);}elseif (sy == 3){yanse(14);system("cls");cout << "!赢了!";cout << "\n点击继续";while (!axj(z_sb));Sleep(150);}elseif (sy == 4){yanse(10);system("cls");cout << "#赢了!";cout << "\n点击继续";while (!axj(z_sb));Sleep(150);}}else{if (sy == 0){system("cls");break;}else{yanse(11);system("cls");cout << "你赢了!!!";cout << "\n点击继续";while (!axj(z_sb));Sleep(150);}}yanse(240);if (cgjd == dtbh){cgjd++;}system("cls");}}return;
}
void smym()
{while (1){yanse(240);char s;system("cls");cout << "游戏说明:\n";cout << "退出\n";cout << "操作说明\n";cout << "物品说明\n";cout << "游戏技巧\n";cout << "版本说明\n";while (1){long long h = sbwz().h, l = sbwz().l;if (h == 2 && 1 <= l && l <= 4){yanse(7);ydgb(2, 1);cout << "退出";if (axj(z_sb)){s = '0';break;}}else{yanse(240);ydgb(2, 1);cout << "退出";}if (h == 3 && 1 <= l && l <= 8){yanse(7);ydgb(3, 1);cout << "操作说明";if (axj(z_sb)){s = '1';break;}}else{yanse(240);ydgb(3, 1);cout << "操作说明";}if (h == 4 && 1 <= l && l <= 8){yanse(7);ydgb(4, 1);cout << "物品说明";if (axj(z_sb)){s = '2';break;}}else{yanse(240);ydgb(4, 1);cout << "物品说明";}if (h == 5 && 1 <= l && l <= 8){yanse(7);ydgb(5, 1);cout << "游戏技巧";if (axj(z_sb)){s = '3';break;}}else{yanse(240);ydgb(5, 1);cout << "游戏技巧";}if (h == 6 && 1 <= l && l <= 8){yanse(7);ydgb(6, 1);cout << "版本说明";if (axj(z_sb)){s = '4';break;}}else{yanse(240);ydgb(6, 1);cout << "版本说明";}}Sleep(150);yanse(240);switch (s){case '0':system("cls");return;case '1':szsmym();break;case '2':wpsmym();break;case '3':yxjqym();break;case '4':yxbbsm();}}return;
}
void szsmym()
{char s;system("cls");gs(0, 0, "操作说明:");gs(1, 8, "-------"); gs(0, 6, "-------");gs(1, 8, "|玩家1|"); gs(0, 6, "|玩家2|");gs(1, 8, "| ^ |"); gs(0, 6, "| W |");gs(1, 8, "|< >|"); gs(0, 6, "|A D|");gs(1, 8, "|移动 |"); gs(0, 6, "|移动 |");gs(1, 8, "-------"); gs(0, 6, "-------");gs(1, 0, "");gs(1, 8, "-------"); gs(0, 6, "-------");gs(1, 8, "|玩家3|"); gs(0, 6, "|玩家4|");gs(1, 8, "| I |"); gs(0, 6, "| 5 |");gs(1, 8, "|J L|"); gs(0, 6, "|1 3|");gs(1, 8, "|移动 |"); gs(0, 6, "|移动 |");gs(1, 8, "-------"); gs(0, 6, "-------");gs(1, 0, "");gs(1, 4, "功能键:");gs(1, 8, "P暂停");cout << "\n\n点击继续";while (!axj(z_sb));Sleep(150);system("cls");return;
}
void wpsmym()
{char s;system("cls");cout << "* 玩家1\n";cout << "+ 玩家2\n";cout << "! 玩家3\n";cout << "# 玩家4\n";cout << "= 砖块\n";cout << "$ 终点\n";cout << "- 蹦床\n";cout << "^ 上刺\n";cout << "< 左刺\n";cout << "> 右刺\n";cout << "\n点击继续";while (!axj(z_sb));Sleep(150);system("cls");return;
}
void yxjqym()
{system("cls");char s;system("cls");gs(1, 4, "游戏技巧:");gs(1, 8, "1.延迟起跳:");gs(1, 12, "如果上方有物品,跳起来会挡住");gs(1, 12, "可以先走过去,等上方无遮挡物时按跳键");gs(1, 12, "这样就可以跳的远了");cout << "\n\n\n\n\n\n\n\n\n\n点击继续";while (!axj(z_sb));Sleep(150);system("cls");return;
}
void yxbbsm()
{system("cls");cout << "游戏名:跑酷\n";cout << "游戏版本:10.0.2\n";cout << "游戏作者:饼干\n";cout << "\n点击继续";while (!axj(z_sb));Sleep(150);system("cls");return;
}
C++跑酷闯关游戏2.0相关推荐
- 小鸡拿着蚯蚓闯关的java游戏,蚯蚓大闯关游戏下载|蚯蚓大闯关安卓版下载 v1.0.0 - 跑跑车安卓网...
蚯蚓大闯关是一款很赞的益智游戏,作为一只蠕虫,陷入了陷阱里,你需要想尽办法努力的逃脱这里,十分的有趣好玩,不要错过哦. 游戏介绍 一只叫做汤姆的蠕虫想要逃离致命的陷阱,你需要帮助它完成数十个令人惊叹的 ...
- scratch/mblock项目:跑酷闯关(侦测、条件语句、数据与变量的应用)
scratch/mblock项目:跑酷闯关(侦测.条件语句.数据与变量的应用) 任务简介 项目重难点 项目流程图 项目步骤 一.启动mblock软件 二.保存文件 三.角色设计 四.游戏场景设计 五. ...
- 横板闯关游戏中的角色移动
前言 在很多2D游戏中,都会涉及到角色移动,跳跃等操作,最典型的就是横板闯关游戏.例如经典的魂斗罗.三国战纪等.这两款游戏在地图移动和角色行走的方式中唯一的不同就是魂斗罗是没有纵深的那种. 看似简单, ...
- 程序猿光棍节闯关游戏
好无聊好寂寞,来玩一下.... 因为我不是程序猿,所以应该闯不到头的.... 边闯边写就是了 第一关链接请戳 http://segmentfault.com/game/ 第一关查看源代码即可 于是得到 ...
- c语言迷宫闯关游戏大全,C语言写出的迷宫闯关游戏代码.doc
C语言写出的迷宫闯关游戏代码 C语言写出的迷宫闯关游戏代码: #include #include #define LEFT 75 #define RIGHT 77 #define UPPER 72 # ...
- Android 端 2D 横屏动作冒险类闯关游戏【100010436】
Android 端 2D 横屏动作冒险类闯关游戏 摘要 随着闯关类游戏的玩法与数目的不断增加,本文所设计的一款名为<Wander In Color>的动作冒险闯关类游戏,将从一个新的角度入 ...
- 21CCPCC闯关游戏
题目描述 小i正在玩一个闯关游戏,游戏一共n关. 初始的时候小i有H点体力以及0个金币. 小i只能按从第1关到第n关按顺序完成.在第i关时,小i要在三种操作中选择一种: 1.当前体力不小于Ai可以选择 ...
- 【2021年CCPC河南省赛】闯关游戏
题目: 小i正在玩一个闯关游戏,游戏一共n关. 初始的时候小i有H点体力以及0个金币. 小i只能按从第1关到第n关按顺序完成.在第i关时,小i要在三种操作中选择一种: 1.当前体力不小于Ai 可以选择 ...
- 2829: 闯关游戏
2829: 闯关游戏 官方答案是DP 将两种选择变成01背包 将消耗的最小体力和金币存入a b 先选择消耗体力最小,再将 c-a d-b 看成是另一种选择,相当于01背包(是否选择 c-a , d-b ...
最新文章
- Python 技术篇-用paramiko库实现linux服务器文件下载到winodws本地实例演示
- Web Api 基于Zookeeper的服务注册与发现
- how is ui5 resource root calculated
- javafx2_JavaFX 2 GameTutorial第4部分
- 秋招视频攻略!13个offer,8家SSP的Q神谈算法岗秋招技巧
- [转载]用消息队列和消息应用状态表来消除分布式事务
- JAVA对象的值与引用
- 从数学到SQL Server,对集合论的快速介绍
- 『HTML5挑战经典』是英雄就下100层-开源讲座(一)从天而降的英雄
- 官方文档Linux自动发现:磁盘、进程、TCP/UDP服务
- 巢湖计算机教师郭婷婷,黄麓师范学校继续教育中心成功举办“巢湖市2019年新任幼儿园教师岗前集中培训班”...
- 三菱plc指令dediv_三菱PLC指令[]学习指导书.ppt
- 50多款Android运用法式遭Rootkit病毒侵扰进犯
- InstallShield Professional,开发解决方案
- 从广州出发领略稻城亚丁和一路上的美丽风光
- 算法工程 # 深度学习算法落地最后一公里:工业界中的大规模向量检索
- android打开另外的app两种方式,内置到自己本身的app,重新打开app,
- 如何打开win7系统诊断策略服务器,win7系统诊断策略服务已被禁用怎么恢复使用...
- 用Rust实现区块链 - 3 持久化
- vim 显示和隐藏行号