-
个人简介
免费的快看看↓👀
游戏1
#include<bits/stdc++.h> #include<conio.h> #include<windows.h> using namespace std; int dt[150][500]; int pmx1, pmx2, pmy1, pmy2, mx, my; // 屏幕xy和角色xy int dmgd; // 地面高度 string bb[12]; int bbs[12] = {0}; char id[12]; // 背包与物品ID int zzx, zzy; // 游戏指针坐标(zzx,zzy) char jw[20]; int zz_jw; // 键位和键位指针 int tick = 10; // 游戏刻(10tick/s) int kscd_zz = 0; // 主菜单指针 void bc() { system("cls"); cout << "要等一下存档有点慢,\n看到有存档文件就可以关掉程序了"; Sleep(10000); FILE* fp = fopen("sj.json", "w"); if (fp == NULL) { cout << "无法打开文件进行写入" << endl; return; } for (int i = 0; i < 150; i++) { for (int j = 0; j < 500; j++) { fprintf(fp, "%d ", dt[i][j]); } fprintf(fp, "\n"); } fprintf(fp, "%d %d %d %d\n", pmx1, pmx2, mx, my); for (int i = 0; i <= 10; i++) { fprintf(fp, "%d\n", bbs[i]); } fclose(fp); } void jw_ui() { string sc_pm; // 单缓冲存储 sc_pm += "按键:\n上"; sc_pm += jw[1]; if (zz_jw == 1) { sc_pm += "√\n"; } else { sc_pm += "\n"; }; sc_pm += "下"; sc_pm += jw[2]; if (zz_jw == 2) { sc_pm += "√\n"; } else { sc_pm += "\n"; }; sc_pm += "左"; sc_pm += jw[3]; if (zz_jw == 3) { sc_pm += "√\n"; } else { sc_pm += "\n"; }; sc_pm += "右"; sc_pm += jw[4]; if (zz_jw == 4) { sc_pm += "√\n"; } else { sc_pm += "\n"; }; sc_pm += "背包"; sc_pm += jw[5]; if (zz_jw == 5) { sc_pm += "√\n"; } else { sc_pm += "\n"; }; sc_pm += "摧毁"; sc_pm += jw[6]; if (zz_jw == 6) { sc_pm += "√\n"; } else { sc_pm += "\n"; }; sc_pm += "放置"; sc_pm += jw[7]; if (zz_jw == 7) { sc_pm += "√\n"; } else { sc_pm += "\n"; }; sc_pm += "放置确定"; sc_pm += jw[8]; if (zz_jw == 8) { sc_pm += "√\n"; } else { sc_pm += "\n"; }; sc_pm += "切换指针模式"; sc_pm += jw[9]; if (zz_jw == 9) { sc_pm += "√\n"; } else { sc_pm += "\n"; }; sc_pm += "改按键"; sc_pm += jw[10]; if (zz_jw == 10) { sc_pm += "√\n"; } else { sc_pm += "\n"; }; sc_pm += "按键查看"; sc_pm += jw[11]; if (zz_jw == 11) { sc_pm += "√\n"; } else { sc_pm += "\n"; }; system("cls"); cout << sc_pm; // 输出缓冲 } void dthz_1() { string sc_pm; // 单缓冲存储 for (int i = pmy1; i < pmy2; i++) { for (int j = pmx1; j < pmx2; j++) { if (i == my && j == mx) { sc_pm += "@"; } else if (dt[i][j] == 0) { sc_pm += " "; } else if (dt[i][j] == 1) { sc_pm += id[1]; } else if (dt[i][j] == 2) { sc_pm += id[2]; } else if (dt[i][j] == 3) { sc_pm += id[3]; } else if (dt[i][j] == 4) { sc_pm += id[4]; } else if (dt[i][j] == 5) { sc_pm += id[5]; } else if (dt[i][j] == 6) { sc_pm += id[6]; } else if (dt[i][j] == 7) { sc_pm += id[7]; } else if (dt[i][j] == 8) { sc_pm += id[8]; } else if (dt[i][j] == 9) { sc_pm += id[9]; } else if (dt[i][j] == 10) { sc_pm += id[10]; } } sc_pm += "\n"; } system("cls"); cout << sc_pm; // 输出缓冲 cout << "屏幕最左x:" << pmx1 << "\n屏幕最右x:" << pmx2 << "\n屏幕最上" << 150 - pmy1 << "\n屏幕最下" << 150 - pmy2 << "\n我的坐标" << "(" << mx << "," << 150 - my << ")"; } void dthz_2() { string sc_pm; // 单缓冲存储 for (int i = pmy1; i < pmy2; i++) { for (int j = pmx1; j < pmx2; j++) { if (i == zzy && j == zzx) { sc_pm += "."; } else if (i == my && j == mx) { sc_pm += "@"; } else if (dt[i][j] == 0) { sc_pm += " "; } else if (dt[i][j] == 1) { sc_pm += id[1]; } else if (dt[i][j] == 2) { sc_pm += id[2]; } else if (dt[i][j] == 3) { sc_pm += id[3]; } else if (dt[i][j] == 4) { sc_pm += id[4]; } else if (dt[i][j] == 5) { sc_pm += id[5]; } else if (dt[i][j] == 6) { sc_pm += id[6]; } else if (dt[i][j] == 7) { sc_pm += id[7]; } else if (dt[i][j] == 8) { sc_pm += id[8]; } else if (dt[i][j] == 9) { sc_pm += id[9]; } else if (dt[i][j] == 10) { sc_pm += id[10]; } } sc_pm += "\n"; } system("cls"); cout << sc_pm; // 输出缓冲 cout << "屏幕最左x:" << pmx1 << "\n屏幕最右x:" << pmx2 << "\n屏幕最上" << 150 - pmy1 << "\n屏幕最下" << 150 - pmy2 << "\n我的坐标" << "(" << mx << "," << 150 - my << ")"; } void zl() { if (dt[my + 2][mx] == 0 && dt[my + 1][mx] == 0) { my++; if (pmy2 - my <= 3) { pmy1++; pmy2 = pmy1 + 9; } dthz_1(); } } void aj_jc() { if (kbhit()) { char ch1 = getch(); if (ch1 == jw[12]) { bc(); return; } if (ch1 == jw[3]) { mx--; if ((mx - pmx1) < 10) { pmx1--; pmx2 = pmx1 + 31; } if (mx == 0 || dt[my][mx] != 0) { mx++; } else { if (pmx1 == 0) { pmx1++; pmx2 = pmx1 + 31; } dthz_1(); } } if (ch1 == jw[4]) { mx++; if ((pmx2 - mx) < 10) { pmx1++; pmx2 = pmx1 + 31; } if (mx == 500 || dt[my][mx] != 0) { mx--; } else { if (pmx2 == 501) { pmx1--; pmx2 = pmx1 + 31; } dthz_1(); } } if (ch1 == jw[1]) { if (my != 1) { if (my - pmy1 == 3) { pmy1--; pmy2 = pmy1 + 9; } if (dt[my + 1][mx] != 0 && dt[my - 1][mx] == 0) { my--; dthz_1(); } } } if (ch1 == jw[2]) { if (my != 149) { if (pmy2 - my == 3) { pmy1++; pmy2 = pmy1 + 9; } if (dt[my + 1][mx] == 0) { my++; dthz_1(); } } } if (ch1 == jw[5]) { system("cls"); cout << "背包:\n"; for (int i = 1; i <= 10; i++) { cout << bb[i] << "有:" << bbs[i] << "个\n"; } while (1) { if (kbhit()) { char ch2 = getch(); if (ch2 != jw[5] && ch2 != jw[11]) { dthz_1(); break; } } } } if (ch1 == jw[9]) { zzx = mx; zzy = my; dthz_2(); while (1) { if (kbhit()) { char ch2 = getch(); if (ch2 == jw[9]) { dthz_1(); break; } if (ch2 == jw[3]) { if (zzx - 1 != mx && zzx != 1) { zzx--; dthz_2(); } } if (ch2 == jw[4]) { if (zzx + 1 != mx && zzx != 500) { zzx++; dthz_2(); } } if (ch2 == jw[1]) { if (zzy - 1 != my && zzy != 0) { zzy--; dthz_2(); } } if (ch2 == jw[2]) { if (zzy + 1 != my && zzy != 149) { zzy++; dthz_2(); } } if (ch2 == jw[6]) { if (zzx != mx || zzy != my) { if (dt[zzy][zzx] != 0) { bbs[dt[zzy][zzx]] += 1; dt[zzy][zzx] = 0; dthz_2(); } } } if (ch2 == jw[7]) { if (zzx != mx || zzy != my) { if (dt[zzy][zzx] == 0) { int bbzz = 1; system("cls"); cout << "背包:\n"; for (int i = 1; i <= 10; i++) { cout << bb[i] << "有:" << bbs[i] << "个"; if (i == bbzz) { cout << "√\n"; } else { cout << "\n"; } } while (1) { if (kbhit()) { char ch2 = getch(); if (ch2 == jw[4] || ch2 == jw[2]) { bbzz++; if (bbzz > 10) { bbzz = 1; } system("cls"); cout << "背包:\n"; for (int i = 1; i <= 10; i++) { cout << bb[i] << "有:" << bbs[i] << "个"; if (i == bbzz) { cout << "√\n"; } else { cout << "\n"; } } } if (ch2 == jw[1] || ch2 == jw[3]) { bbzz--; if (bbzz < 1) { bbzz = 10; } system("cls"); cout << "背包:\n"; for (int i = 1; i <= 10; i++) { cout << bb[i] << "有:" << bbs[i] << "个"; if (i == bbzz) { cout << "√\n"; } else { cout << "\n"; } } } if (ch2 == jw[8]) { if (bbs[bbzz] - 1 >= 0) { bbs[bbzz]--; dt[zzy][zzx] = bbzz; dthz_2(); break; } } if (ch2 == jw[7]) { dthz_2(); break; } } } } } } } Sleep(1000 / tick); } } if (ch1 == jw[11]) { system("cls"); cout << "按键说明:\n正常模式:" << jw[1] << "上 " << jw[2] << "下 " << jw[3] << "左 " << jw[4] << "右 " << jw[9] << "切换指针模式 " << jw[11] << "按键说明 " << jw[5] << "背包 " << jw[10] << "修改键位\n\n指针模式:" << jw[1] << "上 " << jw[2] << "下 " << jw[3] << "左 " << jw[4] << "右 " << jw[9] << "切换正常模式 " << jw[6] << "挖掘 " << jw[7] << "防置(空格确认)(用wsad选择)\n按+保存(无法更改按键)\n按" << jw[11] << "即可退出哦~~~"; while (1) { if (kbhit()) { char ch2 = getch(); if (ch2 == jw[11]) { dthz_1(); break; } } } } if (ch1 == jw[10]) { zz_jw = 1; jw_ui(); while (1) { if (kbhit()) { char ch2 = getch(); if (ch2 == jw[3] || ch2 == jw[1]) { if (zz_jw != 1) { zz_jw--; jw_ui(); } } if (ch2 == jw[4] || ch2 == jw[2]) { if (zz_jw != 11) { zz_jw++; jw_ui(); } } if (ch2 == jw[8]) { system("cls"); cout << "改成?"; while (1) { if (kbhit()) { char ch3 = getch(); jw[zz_jw] = ch3; jw_ui(); break; } } } if (ch2 == jw[10]) { dthz_1(); break; } } } } } } /*开始菜单*/ void kscd_hz() { system("cls"); cout << "1.新游戏"; if (kscd_zz == 0) { cout << "√"; } cout << endl; cout << "2.我要读档!!!"; if (kscd_zz == 1) { cout << "√"; } cout << endl; cout << "空格确定" << endl; } /*梦开始的地方*/ int main() { /*窗口设置*/ system("mode con cols=36 lines=20"); system("color 3F"); cout << "按w,s来选择吧!" << endl; kscd_hz(); while (1) { if (kbhit()) { char kscd_ch; kscd_ch = getch(); if (kscd_ch == 'w') { kscd_zz--; if (kscd_zz == -1) { kscd_zz++; } kscd_hz(); } if (kscd_ch == 's') { kscd_zz++; if (kscd_zz == 2) { kscd_zz--; } kscd_hz(); } if (kscd_ch == ' ') { break; } } } id[1] = '^'; // ^ id[2] = '#'; // # id[3] = '$'; // $ id[4] = '%'; // % id[5] = '*'; // * id[6] = ' '; // id[7] = ' '; // id[8] = ' '; // id[9] = ' '; // id[10] = ' '; // bb[1] = "泥土"; bb[2] = "石头"; bb[3] = "原木"; bb[4] = "树叶"; bb[5] = "树苗"; bb[6] = "未知"; bb[7] = "未知"; bb[8] = "未知"; bb[9] = "未知"; bb[10] = "未知"; jw[1] = 'w'; jw[2] = 's'; jw[3] = 'a'; jw[4] = 'd'; jw[5] = 'b'; jw[6] = 'j'; jw[7] = 'k'; jw[8] = ' '; jw[9] = '~'; jw[10] = '?'; jw[11] = 'p'; jw[12] = '+'; if (kscd_zz == 0) { cout << "设置*屏幕最左x(0~469):"; cin >> pmx1; pmx2 = pmx1 + 31; while (pmx1 <= -1 || pmx2 >= 501) { cout << "重输入(0~469):"; cin >> pmx1; pmx2 = pmx1 + 31; } cout << "设置*地面高度(145~5):"; cin >> dmgd; while (dmgd < 5 || dmgd > 145) { cout << "设置*地面高度(145~5):"; cin >> dmgd; } dmgd = 150 - dmgd; mx = pmx1 + 16; my = dmgd - 1; pmy1 = my - 4; pmy2 = pmy1 + 9; for (int i = 0; i < 150; i++) { // 生成地形与树苗 for (int j = 0; j < 500; j++) { if (i == dmgd) { dt[i][j] = 1; } else if (i > dmgd) { dt[i][j] = 2; } else { int sj_tree; sj_tree = rand() % 10; if (sj_tree == 0) { dt[i][j] = 5; } else { dt[i][j] = 0; } } } } for (int i = 0; i < 150; i++) { // 移除浮空树苗 for (int j = 0; j < 500; j++) { if (dt[i][j] == 5) { if (dt[i + 1][j] != 1) { dt[i][j] = 0; } } } } for (int i = 3; i < 150; i++) { // 树苗拓展生成树 for (int j = 2; j < 498; j++) { if (dt[i][j] == 5) { dt[i][j] = 3; dt[i - 1][j] = 3; dt[i - 2][j] = 3; dt[i - 1][j + 1] = 4; dt[i - 1][j - 1] = 4; dt[i - 1][j + 2] = 4; dt[i - 1][j - 2] = 4; dt[i - 2][j + 1] = 4; dt[i - 2][j - 1] = 4; dt[i - 2][j + 2] = 4; dt[i - 2][j - 2] = 4; dt[i - 3][j + 1] = 4; dt[i - 3][j - 1] = 4; dt[i - 3][j] = 4; j += 3; // 防止连续生成树,但又不破坏树苗 } } } } else if (kscd_zz == 1) { FILE* fp = fopen("sj.json", "r"); if (fp == NULL) { cout << "无法打开文件进行读取" << endl; return 1; } for (int i = 0; i < 150; i++) { for (int j = 0; j < 500; j++) { fscanf(fp, "%d", &dt[i][j]); } } fscanf(fp, "%d %d %d %d", &pmx1, &pmx2, &mx, &my); for (int i = 0; i <= 10; i++) { fscanf(fp, "%d", &bbs[i]); } fclose(fp); pmy1 = my - 4; pmy2 = pmy1 + 9; } dthz_1(); cout << "\n@是你哦~\n如果你是新手得话,记得按p查看操作哦~"; while (1) { aj_jc(); // 检测按键 zl(); // 游戏重力检测 Sleep(1000 / tick); // 游戏刻 } return 0; }
游戏2 先按4去做美容,剩下的自己探索
#include<iostream> #include<cmath> #include<time.h> #include<windows.h> #include<dir.h> #define MAX 100 using namespace std; int xue_yuan = 1000, xmax_yuan = 1000, g_yuan = 75; double f_yuan = 0.05; int xue = 1000, xmax = 1000 , g = 75, money = 1000, xep = 0, lv = 1; int ren = 0, a, b, c, d, hui_he = 0, face = 0, n = 0, zi_ge = 0, yin_hang = 0, h = 0, jiu_dian = 0, da_gong = 0, Time = 0; int zhuang[3] = {0, 0, 0}; double f = f_yuan; char name[20]; int bag[21]; int k[3] = {0, 0, 0}; int BUILD[50] = {0}; struct Read { char str[100000]; char miwen[50][20]; } READ; void slowout(char *p) { while (1) { if (*p != 0) printf("%c", *p++); else break; Sleep(20); } Sleep(500); } int _3zhandou(int x1, int g1, double f1, char boss[20], int mf, int shu_l) { //g1敌人攻击 x1敌人血量 f1敌人防御 int k1 = 0, tan_ke = 0, i = 0, chan_rao = 0, j = 0, tt = 0, shen = 0, x = 0, xxue = 0, xuex = 0, shu_i = 0; int cc = 0, ccc = 0; int sj, jn; int fx1 = x1, fg1 = g1; for (shu_i = 1; shu_i <= shu_l; ++shu_i) { while (1) { if (f1 > 0.8) f1 = 0.8; if (f > 0.8) f = 0.8; if (chan_rao != 0) printf("你因魔法而本回合内无法攻击!\n"); else { cc = g * (1.0 - f1); x1 -= cc; if (x1 <= 0) x1 = 0; printf("你向第%d个%s发起攻击,%s减血%d滴,还剩%d滴血!\n", shu_i, boss, boss, cc, x1); Sleep(500); } if (x1 <= 0) { k1++; break; } ccc = g1 * (1.0 - f); xue -= ceil(ccc); if (xue < 0) xue = 0; printf("第%d个%s对你发起攻击,你减血%d滴,还剩%d滴血!\n", shu_i, boss, ccc, xue); if (xue <= 0) { slowout("你凉了……\n"); xue_yuan = 1000; xmax_yuan = 1000; g_yuan = 75; xue = xue_yuan; xmax = xmax_yuan; g = g_yuan; xep = 0; lv = 1; f = f_yuan; if (zhuang[0] == 1) { g = g_yuan; g += 200; } else if (zhuang[0] == 2) { f = f_yuan; f += 0.1; } if (zhuang[1] == 9) { g = g_yuan; g += 50; } else if (zhuang[1] == 10) { g = g_yuan; g += 75; } else if (zhuang[1] == 11) { g = g_yuan; g += 100; } else if (zhuang[1] == 12) { g = g_yuan; g += 150; } else if (zhuang[1] == 13) { g = g_yuan; g += 250; } if (zhuang[2] == 14) { xue = xue_yuan; xmax = xmax_yuan; g = g_yuan; f = f_yuan; f += 0.4; g += 1000; xue += 2000; xmax += 2000; } else if (zhuang[2] == 15) { xue = xue_yuan; xmax = xmax_yuan; g = g_yuan; f = f_yuan; f += 0.5; g += 1500; xue += 2750; xmax += 2750; } else if (zhuang[2] == 16) { xue = xue_yuan; xmax = xmax_yuan; g = g_yuan; f = f_yuan; f += 0.6; g += 2250; xue + 3000; xmax += 3000; } else if (zhuang[2] == 17) { xue = xue_yuan; xmax = xmax_yuan; g = g_yuan; f = f_yuan; f += 0.65; g += 2500; xue += 4000; xmax += 4000; } return 0; } Sleep(500); jn = rand() % 3; if (jn == 0) { if (mf == 1) { printf("%s使出了技能“回血”!增加血量100点!\n", boss, mf); x1 += 100; } else if (mf == 2) { printf("%s使出了技能“狂暴”!攻击力增强100!\n", boss); g1 += 100; } else if (mf == 3) { printf("%s使出了技能“武装”!攻击力增强100,防御力增强5!\n", boss); g1 += 100; f1 += 0.05; } else if (mf == 4) { printf("%s使出了技能“护盾”!增加防御力10!\n", boss); f1 += 0.1; } else if (mf == 5) { printf("%s使出了技能“全副武装”!增加血量200点,攻击力150,防御力8!\n", boss); x1 += 200; g1 += 150; f1 += 0.08; } else if (mf == 6) { sj = rand() % 2; if (sj == 0) { printf("%s使出了技能“炮击”!你被击中了!减血500滴!\n", boss); xue -= 500; } else { printf("%s使出了技能“炮火连天”!你受到灼烧伤害,每回合减血200滴!\n", boss); tan_ke = 1; } } else if (mf == 7) { printf("%s使出了技能“天谴”!你减血200滴!\n", boss); xue -= 200; } else if (mf == 8) { printf("%s使出了技能“缠绕”!你在一回合内无法攻击!\n", boss); chan_rao = 1; i = 2; } else if (mf == 9) { printf("%s使出了技能“激光扫射”!你减血500滴!\n", boss); xue -= 500; } else if (mf == 10) { printf("%s使出了技能“钻心刻骨”!你将在5回合内连续受到疼痛攻击!\n", boss); tt = 1; j = 5; } else if (mf == 11) { sj = rand() % 3; if (sj == 0) { printf("%s使出了技能“阿瓦达索命”!你减血1000滴!\n", boss); xue -= 1000; } if (sj == 1) { printf("%s使出了技能“超级狂暴”!加血500滴,攻击力增强250,防御力增强10!\n", boss); x1 += 500; g1 += 250; f1 += 0.1; } if (sj == 2) { printf("%s使出了技能“昏昏欲睡”!你在一回合内无法攻击!\n", boss); chan_rao = 1; i = 2; } } else if (mf == 12) { printf("%s使出了技能“飞斩”!你减血400滴!\n", boss); xue -= 400; } else if (mf == 13) { printf("%s使出了技能“激光轰击”!你减血500滴!\n", boss); xue -= 500; } else if (mf == 14) { sj = rand() % 3; if (sj == 0) { printf("国防部部长用魔杖给议员加血500滴!\n"); g1 += 500; } else if (sj == 1) { printf("国防部部长用魔杖给议员加了一层护盾!议员防御力提升20!\n"); f1 += 0.2; } else if (sj == 2) { printf("国防部部长用魔杖把议员激怒了,议员攻击力提升500!\n"); g1 += 500; } } else if (mf == 15) { sj = rand() % 2; if (sj == 0) { printf("国防部部长用魔杖把你捆住了,两回合内无法攻击!\n"); chan_rao = 1; i = 3; } else { printf("国防部部长用魔杖使机器人保镖进入狂暴状态!机器人保镖增血500滴,攻击力增强200,防御力增强10!\n"); x1 += 500; g1 += 200; f1 += 0.1; } } else if (mf == 16) { sj = rand() % 3; if (sj == 0) { printf("%s使出了技能“神锋无影”!", boss); shen = rand() % 8; shen += 3; printf("你被连中%d刀,减血%d滴!\n", shen, shen * 150); xue -= shen * 150; } if (sj == 1) { printf("%s使出了技能“星石陨落”!你减血1500滴!\n", boss); xue -= 1500; } if (sj == 2) { printf("%s使出了技能“强力吸血”!该效果持续3回合!\n", boss); xxue = 4; x = 1; xuex = 1; } } else if (mf == 17) { sj = rand() % 2; if (sj == 0) { printf("%s使出了技能“机枪扫射”!", boss); shen = rand() % 8; shen += 3; printf("你被连中%d枪,减血%d滴!\n", shen, shen * 150); xue -= shen * 150; } else { printf("%s使出了技能“激光扫射”!你减血500滴!\n", boss); xue -= 500; } } else if (mf == 18) { sj = rand() % 2; if (sj == 0) { printf("%s使出了技能“机枪扫射II”!", boss); shen = rand() % 18; shen += 13; printf("你被连中%d枪,减血%d滴!\n", shen, shen * 175); xue -= shen * 150; } else if (sj == 1) { printf("%s使出了技能“火焰喷射”!你受到灼烧伤害,每回合减血400滴!\n", boss); tan_ke = 2; } } else if (mf == 19) { sj = rand() % 3; if (sj == 0) { printf("%s使出了技能“**”!你受到爆炸伤害,减血1000滴!\n", boss); xue -= 1000; } if (sj == 1) { printf("%s使出了技能“凋零”!你受到凋零伤害,每回合减血800滴!\n", boss); tan_ke = 4; } if (sj == 2) { printf("%s使出了技能“汲取”!每回合被吸血800滴,并每回合增加15防御!该效果持续3回合!\n", boss); xxue = 4; x = 2; xuex = 1; } } Sleep(500); } //炮火连天 火焰喷射 凋零 if (tan_ke > 0) { if (tan_ke == 1) printf("灼烧伤害中,减血200滴。\n"); if (tan_ke == 2) printf("灼烧伤害中,减血400滴。\n"); if (tan_ke == 4) printf("凋零伤害中,减血800滴。\n"); xue -= ceil(ceil(200 * tan_ke) * f); } //缠绕 昏昏欲睡 国防部部长用魔杖把你捆住 i--; if (i <= 0) chan_rao = 0; //钻心刻骨 j--; if (j == 0) tt = 0; if (tt == 1) { printf("疼痛伤害中,减血100滴。\n"); xue -= ceil(ceil(100) * f); } //强力吸血 if (x == 1) { xxue--; if (xxue == 0) { xuex = 0; x = 0; } if (xuex == 1) { printf("国防部部长从你那里吸血400滴。\n"); xue -= 400; x1 += 400; } } //汲取 if (x == 2) { xxue--; if (xxue == 0) { xuex = 0; x = 0; } if (xuex == 1) { printf("国防部部长从你那里吸血800滴,并增加15防御。\n"); xue -= 800; x1 += 800; f1 += 0.15; } } } x1 = fx1, g1 = fg1; } if (xue <= ceil(0.25 * xmax)) xue = ceil(0.25 * xmax); return k1; } void ji() { int _ji = 0; for (int sheng = 1; xep >= 500; ++sheng) { xep -= 500; _ji++; } printf("你升了%d级,增加%d攻击,%d血量!\n", _ji, 5 * _ji, 5 * _ji); lv += _ji; g += 5 * _ji; xue += 5 * _ji; xmax += 5 * _ji; xue_yuan += 5 * _ji; xmax_yuan += 5 * _ji; Sleep(1000); } int high, width; //地图高度与宽度 int bird_x, bird_y; //小鸟的位置 int through, wall; //通道的x坐标和墙的起始坐标y int Map[MAX][MAX];//记录页面的显示 /*0代表空白,1代表小鸟的位置,2代表墙 3代表上下围墙,4代表左右围墙*/ bool book[MAX][MAX];//代表改点有围墙 int score;//记录得分 bool result = 0;//游戏结果1代表失败,0代表胜利,不过永远赢不了~~ void startup() { score = 0; high = 20; width = 50; bird_x = high / 2; bird_y = width / 4; through = high / 2; wall = width / 4 * 3; result = 0; } int REST() { if (50 - score > 5) return 50 - score; else return 5; } void startMap() { int i, j; for (i = 1; i <= high - 1; i++) { Map[i][1] = 4; for (j = 2; j <= width - 1; j++) Map[i][j] = 0; Map[i][width] = 4; } //下方围墙的初始化 i = high; for (j = 1; j <= width; j++) Map[i][j] = 3; //小鸟位置的初始化 Map[bird_x][bird_y] = 1; //墙的初始化 for (i = 1; i <= high - 1; i++) { Map[i][wall] = 2; book[i][wall] = 1; } //通道的初始化 for (i = through - 4; i <= through + 4; i++) { //通道的大小可以自定义. Map[i][wall] = 0; book[i][wall] = 0; } } void HideCursor() { //隐藏光标 CONSOLE_CURSOR_INFO cursor_info = {1, 0}; SetConsoleCursorInfo(GetStdHandle(STD_OUTPUT_HANDLE), &cursor_info); } void gotoxy(int x, int y) { //清理一部分屏幕 HANDLE handle = GetStdHandle(STD_OUTPUT_HANDLE); COORD pos; pos.X = x; pos.Y = y; SetConsoleCursorPosition(handle, pos); } void UPdatewithOutinput() { //与输入无关的更新 bird_x++; wall--; if (book[bird_x][bird_y] == 1 || bird_x > high || bird_x <= 0) { //当小鸟死亡时 result = 1; } if (wall == bird_y - 1) //当小鸟走过墙时得一分 score++; if (wall < 1) { srand(time(NULL)); through = rand() % high; while (through <= 3 || through >= high - 2) { through = rand() % high; } } if (wall < 1) { wall = width / 4 * 3; } memset(book, 0, sizeof(book)); Sleep(REST()); } void UPdatewithinput() { char input; if ((GetAsyncKeyState(' ') & 0x8000) && bird_x > 2) //判断是否有键盘输入 bird_x -= 2;//小鸟向上蹦两格 } void show() { gotoxy(0, 0); int i, j; for (i = 1; i <= high; i++) { for (j = 1; j <= width; j++) { switch (Map[i][j]) { case 0: printf(" "); break; case 1: printf("@"); break; case 2: printf("*"); break; case 3: printf("~"); break; case 4: printf("|"); break; } } printf("\n"); } printf("你的分数是:%d\n\n", score); printf("操作说明:空格键向上移动\n"); } int dagong() { printf("每一分是200元!\n"); Sleep(1000); system("cls"); Sleep(1000); startup(); while (1) { HideCursor(); startMap(); show(); UPdatewithOutinput(); if (result == 1) break; UPdatewithinput(); } system("cls"); printf("你输了"); system("pause"); system("pause"); system("pause"); system("pause"); system("pause"); return score; } void begin() { slowout("需要指引吗?(1需要 / 2不了)\n"); cin >> a; if (a == 2) goto a1; slowout("歹徒逃亡 3——刺杀行动\n"); slowout("1.3.2正式版\n"); slowout("绝对原创 不喜勿喷!!!\n"); slowout("游戏中有部分bug,望谅解!\n"); system("cls"); slowout("话说你占领了M城的国防部,贼嗨皮!~!~!~!\n"); slowout("只可是VT市的总统之都已经炸开了锅……\n"); slowout("“那小子太优秀了,提一点好的意见吧,总统。”\n"); slowout("“(他/她)不好惹,呵呵呵将军,带上这个火速赶往M城,嘿嘿嘿~~~”\n"); slowout("“总统,您放心,我会让《歹徒逃亡 3——刺杀行动》这个系列代码不超过100行的(他也不知道自己会打脸)。”\n"); Sleep(1000); system("cls"); slowout("M城…………\n"); slowout("你正在准备接手国防部部长名号,呵呵呵将军来了……\n"); slowout("“尊敬的新任国防部部长呀,请看!”\n"); slowout("只见他拿出核铳(“核铳”是向阿西莫夫的科幻小说致敬!)瞄准了你,并向你开了一枪…………\n"); slowout("没有防御罩的你,自然被轰到十万八千里开外…………\n"); slowout("的一个小水池中,不知水是否也有魔法(特别致谢cyka blyat的《歹徒逃亡 2——魔法之城》),你活了下来。\n"); slowout("自然的,我们不知道你在《歹徒逃亡 2——魔法之城》中的姓名、攻击等数据。\n"); slowout("所以说:“你脑子被炸坏了,物品也毁了。”\n"); slowout("请再起一个名字:\n"); cin >> name; printf("%s,游戏开始!\n", name); Sleep(1500); system("cls"); slowout("你四处瞅了瞅,发现这里是A城。VT首都的临城!\n"); slowout("你也发现墙上贴满了你的通缉令。便赶紧向城郊跑去,定居了下来。\n"); slowout("“咦?你这是什么纸?”你好奇的看了看后,便收进背包里了(开始游戏后再看)。\n"); system("pause"); system("cls"); return; a1: slowout("请起一个名字:\n"); cin >> name; printf("%s,游戏开始!\n", name); Sleep(1500); } void Turn_off() { int fy = ceil(f_yuan * 100), ff = ceil(f * 100); FILE *fp = fopen("C:\\歹徒逃亡\\play.txt", "w+"); fprintf(fp, "%s ", name); fprintf(fp, "%d %d %d %d ", xue_yuan, xmax_yuan, g_yuan, fy); fprintf(fp, "%d %d %d %d %d %d %d ", xue, xmax, g, money, xep, lv, ff); fprintf(fp, "%d ", hui_he); fprintf(fp, "%d ", face); fprintf(fp, "%d ", zi_ge); fprintf(fp, "%d ", yin_hang); fprintf(fp, "%d ", h); fprintf(fp, "%d ", jiu_dian); fprintf(fp, "%d ", da_gong); fprintf(fp, "%d ", Time); fprintf(fp, "%d %d %d ", k[0], k[1], k[2]); fprintf(fp, "%d %d %d ", zhuang[0], zhuang[1], zhuang[2]); for (int i = 1; i <= 17; ++i) fprintf(fp, "%d ", bag[i]); fclose(fp); } int Have() { FILE *fp = fopen("C:\\歹徒逃亡\\play.txt", "r+"); char ch; ch = fgetc(fp); fclose(fp); if (ch != EOF) return 1; else return 0; } void Build() { int i = 0, k1 = 0; char ch; ch = READ.str[k1]; while (ch != '\0') { if (ch != ' ') { name[k1] = ch; k1++; } else break; ch = READ.str[k1]; } i = 1; ch = READ.str[k1]; while (ch != '\0') { while (ch != ' ') { BUILD[i] = BUILD[i] * 10 + ch - 48; k1++; ch = READ.str[k1]; } i++; ch = READ.str[++k1]; //等于 k++; ch=READ.str[k]; } /* for(int j=0;j<=42;++j) printf("%d ",BUILD[j]); printf("\n"); system("pause");*/ //测试 i = 2; //方便复制代码 xue_yuan = BUILD[i++]; xmax_yuan = BUILD[i++]; g_yuan = BUILD[i++]; f_yuan = BUILD[i++]; xue = BUILD[i++]; xmax = BUILD[i++]; g = BUILD[i++]; money = BUILD[i++]; xep = BUILD[i++]; lv = BUILD[i++]; f = BUILD[i++]; hui_he = BUILD[i++]; face = BUILD[i++]; zi_ge = BUILD[i++]; yin_hang = BUILD[i++]; h = BUILD[i++]; jiu_dian = BUILD[i++]; da_gong = BUILD[i++]; Time = BUILD[i++]; //i=20; for (i = 21; i <= 23; ++i) k[i - 21] = BUILD[i]; for (i = 24; i <= 26; ++i) zhuang[i - 24] = BUILD[i]; for (i = 27; i <= 43; ++i) bag[i - 26] = BUILD[i]; //bag从1开始 f_yuan = f_yuan / 100.0; f = f / 100.0; } void Turn_on() { slowout("是否使用存档?(1是 / 2否)\n"); cin >> a; if (a == 1) { FILE *fp = fopen("C:\\歹徒逃亡\\play.txt", "r+"); char ch; ch = fgetc(fp); for (int i = 0; ch != EOF; ++i) { READ.str[i] = ch; ch = fgetc(fp); } fclose(fp); Build(); } else begin(); } int main() { system("cls"); system("color 70"); mkdir("C:\\歹徒逃亡");//XP系统可能会报错,可在运行一次后注释 for (int i = 1; i <= 20; i++) bag[i] = 0; int gxue, gg; double gf; srand((unsigned)time(NULL)); if (Have()) Turn_on(); else begin(); a1: Turn_off(); if (yin_hang != 0) hui_he++; if (jiu_dian != 0) money += 500; if (Time != 0) Time--; system("cls"); slowout("你要到哪里去?\n"); printf("1.大街 2.练兵场 3.市政府 4.整容店 5.银行 6.赌场 7.工厂 8.医院 9.酒店 10.状态 11.新手指引 0.退出\n"); cin >> a; if (face == 0 && a != 4 && a != 11 && a != 10 && a != 12 && a != 0) { printf("你看见了三名警卫机器人!\n"); Sleep(500); slowout("警卫机器人:“这不是M城来的歹徒吗?抓住他!”\n"); Sleep(500); gxue = 1500; gg = 300; gf = 0.3; if (_3zhandou(gxue, gg, gf, "警卫机器人", 17, 3)) { slowout("你胜利了!\n"); slowout("获得 1000金币,600经验\n"); money += 1000; xep += 600; if (xep >= 500) ji(); } else goto a1; } if (a == 1) { ren = rand() % 10; if (ren == 0 || ren == 1 || ren == 2 || ren == 3) { printf("大街上来了一名路人\n"); gxue = 400; gg = 150; gf = 0.02; cout << endl << "是否攻击/逃跑?(1/2)"; cin >> b; Sleep(1000); if (b == 1) { n = rand() % 2 + 1; if (_3zhandou(gxue, gg, gf, "路人", n, 1)) { slowout("你胜利了!\n"); slowout("获得 100金币,50经验\n"); money += 100; xep += 50; if (xep >= 500) ji(); } } goto a1; } else if (ren == 4 || ren == 5) { printf("你在大街上看见了一家店铺。\n"); cout << endl << "是否抢劫/购买?(1/2)"; cin >> b; if (b == 1) { slowout("老板:“快来警察呀!有人抢劫啦!”\n"); gxue = 500; gg = 250; gf = 0.05; if (_3zhandou(gxue, gg, gf, "警察", 3, 2)) { slowout("你胜利了!\n"); int qian = rand() % 5 + 1; printf("抢到 %d金币\n", 200 * qian); money += 200 * qian; } } else if (b == 2) { slowout("老板:“你要买什么?”\n\n"); printf("你的金币:%d\n", money); int fen = 0, dong_xi = 0, dian = rand() % 3; if (dian == 0) { while (1) { printf("你的金币:%d\n", money); printf(" 1.手雷 250 金币 / 个\n"); printf(" 2.盾牌 300 金币 / 个\n"); printf(" 0.退出\n\n\n"); slowout("您买什么?\n"); cin >> dong_xi; if (dong_xi == 0) break; else if (dong_xi == 1) { if (money >= 250) { slowout("购买成功!\n"); money -= 250; bag[1]++; slowout("老板:“还买点啥?”\n"); } else { slowout("老板:“没钱还买!走吧!”\n"); break; } } else if (dong_xi == 2) { if (money >= 300) { slowout("购买成功!\n"); money -= 300; bag[2]++; slowout("老板:“还买点啥?”\n"); } else { slowout("老板:“没钱还买!走吧!”\n"); break; } } } } else if (dian == 1) { while (1) { printf("你的金币:%d\n", money); printf(" 1.小瓶攻击药水 500 金币 / 瓶\n"); printf(" 2.中瓶攻击药水 750 金币 / 瓶\n"); printf(" 3.大瓶攻击药水 1200 金币 / 瓶\n"); printf(" 4.小瓶增血药水 500 金币 / 瓶\n"); printf(" 5.中瓶增血药水 750 金币 / 瓶\n"); printf(" 6.大瓶增血药水 1200 金币 / 瓶\n"); printf(" 0.退出\n\n\n"); slowout("您买什么?\n"); cin >> dong_xi; if (dong_xi == 0) break; slowout("您买多少?\n"); cin >> fen; if (dong_xi == 1) { if (money >= 500 * fen) { slowout("购买成功!\n"); money -= 500 * fen; bag[3] += fen; slowout("老板:“还买点啥?”\n"); } else { slowout("老板:“没钱还买!走吧!”\n"); break; } } if (dong_xi == 2) { if (money >= 750 * fen) { slowout("购买成功!\n"); money -= 750 * fen; bag[4] += fen; slowout("老板:“还买点啥?”\n"); } else { slowout("老板:“没钱还买!走吧!”\n"); break; } } if (dong_xi == 3) { if (money >= 1200 * fen) { slowout("购买成功!\n"); money -= 1200 * fen; bag[5] += fen; slowout("老板:“还买点啥?”\n"); } else { slowout("老板:“没钱还买!走吧!”\n"); break; } } if (dong_xi == 4) { if (money >= 500 * fen) { slowout("购买成功!\n"); money -= 500 * fen; bag[6] += fen; slowout("老板:“还买点啥?”\n"); } else { slowout("老板:“没钱还买!走吧!”\n"); break; } } if (dong_xi == 5) { if (money >= 750 * fen) { slowout("购买成功!\n"); money -= 750 * fen; bag[7] += fen; slowout("老板:“还买点啥?”\n"); } else { slowout("老板:“没钱还买!走吧!”\n"); break; } } if (dong_xi == 6) { if (money >= 1200 * fen) { slowout("购买成功!\n"); money -= 1200 * fen; bag[8] += fen; slowout("老板:“还买点啥?”\n"); } else { slowout("老板:“没钱还买!走吧!”\n"); break; } } } } else if (dian == 2) { while (1) { printf("你的金币:%d\n", money); printf(" 1.钻石剑 1500 金币 / 把\n"); printf(" 2.武士刀 1800 金币 / 把\n"); printf(" 3.青龙偃月刀 2400 金币 / 把\n"); printf(" 4.回旋镖 2000 金币 / 把\n"); printf(" 5.火铳 3000 金币 / 把\n"); printf(" 0.退出\n\n\n"); slowout("您买什么?\n"); cin >> dong_xi; if (dong_xi == 0) break; else if (dong_xi == 1) { if (money >= 1500) { slowout("购买成功!\n"); money -= 1500; bag[9]++; slowout("老板:“还买点啥?”\n"); } else { slowout("老板:“没钱还买!走吧!”\n"); break; } } else if (dong_xi == 2) { if (money >= 1800) { slowout("购买成功!\n"); money -= 1800; bag[10]++; slowout("老板:“还买点啥?”\n"); } else { slowout("老板:“没钱还买!走吧!”\n"); break; } } else if (dong_xi == 3) { if (money >= 2400) { slowout("购买成功!\n"); money -= 2400; bag[11]++; slowout("老板:“还买点啥?”\n"); } else { slowout("老板:“没钱还买!走吧!”\n"); break; } } else if (dong_xi == 4) { if (money >= 2000) { slowout("购买成功!\n"); money -= 2000; bag[12]++; slowout("老板:“还买点啥?”\n"); } else { slowout("老板:“没钱还买!走吧!”\n"); break; } } else if (dong_xi == 5) { if (money >= 3000) { slowout("购买成功!\n"); money -= 3000; bag[13]++; slowout("老板:“还买点啥?”\n"); } else { slowout("老板:“没钱还买!走吧!”\n"); break; } } } } } } else if (ren == 5 || ren == 6) { printf("大街上来了一名警卫机器人!\n"); Sleep(1000); if (face == 0) slowout("警卫机器人:“这不是M城来的歹徒吗?抓住他!”\n"); gxue = 1500; gg = 300; gf = 0.3; if (_3zhandou(gxue, gg, gf, "警卫机器人", 17, 1)) { slowout("你胜利了!\n"); slowout("获得 1000金币,600经验\n"); money += 1000; xep += 600; if (xep >= 500) ji(); } goto a1; } else if (ren == 7) { printf("大街上来了一辆装甲车!\n"); gxue = 2000; gg = 600; gf = 0.4; cout << endl << "是否攻击/逃跑?(1/2)"; cin >> b; Sleep(1000); if (b == 1) { if (_3zhandou(gxue, gg, gf, "装甲车", 5, 1)) { slowout("你胜利了!\n"); slowout("获得 1200金币,800经验\n"); money += 1200; xep += 800; int car = rand() % 25; if (car == 0) { slowout("你也幸运地获取了这辆装甲车!\n"); bag[14]++; } if (xep >= 500) ji(); } } goto a1; } else if (ren == 8) { printf("大街上来了一辆坦克!\n"); gxue = 2750; gg = 700; gf = 0.5; cout << endl << "是否攻击/逃跑?(1/2)"; cin >> b; Sleep(1000); if (b == 1) { if (_3zhandou(gxue, gg, gf, "坦克", 6, 1)) { slowout("你胜利了!\n"); slowout("获得 1500金币,1000经验\n"); money += 1500; xep += 1000; int car = rand() % 25; if (car == 0) { slowout("你也幸运地获取了这辆坦克!\n"); bag[15]++; } if (xep >= 500) ji(); } } goto a1; } else if (ren == 9) { printf("大街上来了一辆直升机!\n"); gxue = 3250; gg = 800; gf = 0.6; cout << endl << "是否攻击/逃跑?(1/2)"; cin >> b; Sleep(1000); if (b == 1) { if (_3zhandou(gxue, gg, gf, "直升机", 17, 1)) { slowout("你胜利了!\n"); slowout("获得 1800金币,1200经验\n"); money += 1800; xep += 1200; int car = rand() % 25; if (car == 0) { slowout("你也幸运地获取了这架直升机!\n"); bag[16]++; } if (xep >= 500) ji(); } } goto a1; } Sleep(1000); goto a1; } else if (a == 2) { if (k[0] != 0) { slowout("你已经占领此地了。\n"); goto a1; } slowout("你真的要进去?不要作死!进入/离开?(1/2)\n"); cin >> b; if (b == 1) { slowout("在大门口你就看见两名武装警察!\n是否闯入/离开?(1/2)\n"); gxue = 800; gg = 350; gf = 0.1; cin >> c; if (c == 1) { if (_3zhandou(gxue, gg, gf, "武装警察", 4, 2)) { slowout("你胜利了!\n"); slowout("回复200点血量!\n"); xue += 200; } slowout("你刚进入操场,就被两辆装甲车拦住了。\n"); slowout("士兵:“你是谁呀?别进入我们练兵场!吃我一炮!”\n"); gxue = 2000; gg = 600; gf = 0.4; if (_3zhandou(gxue, gg, gf, "装甲车", 5, 2)) { slowout("你胜利了!\n"); slowout("回复300点血量!\n"); xue += 300; } else goto a1; slowout("接着你看到了两辆直升机朝你飞来。你没有办法逃跑,只能与他们决战!\n"); gxue = 3250; gg = 850; gf = 0.6; if (_3zhandou(gxue, gg, gf, "直升机", 17, 2)) { slowout("你胜利了!\n"); slowout("回复450点血量!\n"); xue += 450; } else goto a1; slowout("刚刚打败了他们,整沾沾自喜。忽然你发现练兵场场长来了。\n"); slowout("练兵场场长:“不错呀小子,都能打到这里来了。不过我不会再让你闯下去!”\n"); slowout("练兵场场长说着就拿出魔杖,将两辆直升机进化成武装直升机了!\n"); gxue = 4500; gg = 1000; gf = 0.65; if (_3zhandou(gxue, gg, gf, "武装直升机", 18, 2)) { slowout("你胜利了!\n"); slowout("回复800点血量!\n"); xue += 800; } else goto a1; slowout("练兵场场长:“什么!?这都不怕!?好吧,只能我亲自来与你决战了!”\n"); gxue = 6000; gg = 1100; gf = 0.6; if (_3zhandou(gxue, gg, gf, "练兵场场长", 16, 1)) { slowout("你胜利了!获得了一架武装直升机!\n"); bag[17]++; k[0] = 1; zi_ge++; slowout("获得8000金币,2000经验\n"); money += 5000; xep += 2000; if (xep >= 500) ji(); } } } Sleep(1000); goto a1; } else if (a == 3) { if (zi_ge == 3) { slowout("你真的要进去/离开?(1/2)\n"); cin >> b; if (b == 1) { slowout("你谨慎地推开大门,却发现并没有什么异样,跟普通的大楼没什么区别。\n"); slowout("“怎么会这样呢?市政府的防守不应该很严密吗?”你正疑惑着。\n"); slowout("突然你看见了三名武装警察!\n"); gxue = 800; gg = 350; gf = 0.1; if (_3zhandou(gxue, gg, gf, "武装警察", 4, 3)) { slowout("你胜利了!\n"); slowout("回复200点血量!\n"); xue += 200; } slowout("你来到市长办公室... ... ... ... ... ... ... ... ... ...\n"); slowout("突然,市长出来了!\n"); slowout("市长:“你以为我们认不出你?错,你的DNA早就被我们提取了!”\n"); slowout("士兵们,上!!\n"); slowout("你看见了三辆装甲车!\n"); gxue = 2000; gg = 600; gf = 0.4; if (_3zhandou(gxue, gg, gf, "装甲车", 5, 3)) { slowout("你胜利了!\n"); slowout("回复1000点血量!\n"); xue += 1000; } else goto a1; slowout("市长:“我还有坦克!”\n"); gxue = 2750; gg = 700; gf = 0.5; if (_3zhandou(gxue, gg, gf, "坦克", 6, 2)) { slowout("你胜利了!\n"); slowout("回复1500点血量!\n"); xue += 1500; } slowout("市长:“这... ... ... 直升机,来吧!”\n"); slowout("接着你看到了两辆直升机朝你飞来。你没有办法逃跑,只能与他们决战!\n"); gxue = 3500; gg = 825; gf = 0.6; if (_3zhandou(gxue, gg, gf, "直升机", 17, 2)) { slowout("你胜利了!\n"); slowout("回复2000点血量!\n"); xue += 2000; } else goto a1; slowout("你正高兴,市长却将直升机进化成武装直升机!!!\n"); gxue = 4500; gg = 1000; gf = 0.65; if (_3zhandou(gxue, gg, gf, "武装直升机", 18, 2)) { slowout("你胜利了!\n"); slowout("回复2500点血量!\n"); xue += 2500; } else goto a1; slowout("市长:“我…………我要与你决战!”\n"); gxue = 30000; gg = 600; gf = 0.5; if (_3zhandou(gxue, gg, gf, "市长", 19, 1)) { slowout("你胜利了!\n"); slowout("已占领市政府!任务完成!\n"); slowout("自然地,请查看后续剧情…………\n"); Sleep(5000); system("cls"); slowout("3000年2月5日\n"); slowout("VT市\n"); slowout("总统:“呵呵呵将军,你的任务失败了,打算怎么挽回?”\n"); slowout("呵呵呵将军:“已派遣全球力量,势必将其拿下!”\n"); Sleep(2000); slowout("《歹徒逃亡》4 ——决战首都 敬请期待!\n"); Turn_off(); return 0; } else goto a1; } goto a1; } else slowout("你没有资格进入市政局!!!\n"); Sleep(1000); goto a1; } else if (a == 4) { slowout("整容师:“你要整容吗?花费1000金币。”整容/离开?(1/2)\n"); cin >> b; if (b == 1) { if (money >= 1000) { money -= 1000; slowout("整容中…………\n"); slowout("整容中…………\n"); slowout("整容中…………\n"); slowout("整容成功!\n"); face = 1; } else slowout("整容师:“钱不够还来!? 快走吧!”\n"); } Sleep(1000); goto a1; } else if (a == 5) { slowout("你要干什么?办业务/抢劫(1/2)\n"); cin >> b; if (b == 1) { slowout("服务员:“您需要什么服务吗?”。存钱/取钱(1/2)\n"); cin >> c; if (c == 1) { if (yin_hang != 0) { slowout("服务员:“业务正在办理,目前无法存钱。”\n"); goto a1; } slowout("服务员:“您要存多少?”\n\n"); printf(" 金额 利润率 回合\n"); printf("1. 1000元 2%% 2回合\n"); printf("2. 2500元 4%% 4回合\n"); printf("3. 5000元 6%% 6回合\n"); printf("4. 10000元 8%% 8回合\n"); printf("5. 25000元 10%% 10回合\n"); printf("6. 退出\n"); cin >> d; if (d == 1) { if (money >= 1000) { money -= 1000; yin_hang = 1040; hui_he = 0; h = 2; } else slowout("钱不够!\n"); } else if (d == 2) { if (money >= 2500) { money -= 2500; yin_hang = 2900; hui_he = 0; h = 4; } else slowout("钱不够!\n"); } else if (d == 3) { if (money >= 5000) { money -= 5000; yin_hang = 6800; hui_he = 0; h = 6; } else slowout("钱不够!\n"); } else if (d == 4) { if (money >= 10000) { money -= 10000; yin_hang = 16400; hui_he = 0; h = 8; } else slowout("钱不够!\n"); } else if (d == 5) { if (money >= 25000) { money -= 25000; yin_hang = 50000; hui_he = 0; h = 10; } else slowout("钱不够!\n"); } } else if (c == 2) { if (hui_he < h) slowout("时间未到!\n"); else { slowout("可以取钱~\n"); money += yin_hang; yin_hang = 0; hui_he = 0; } } } else if (b == 2) { slowout("服务员:“快来警察呀!有人抢劫啦!”\n"); gxue = 500; gg = 250; gf = 0.05; if (_3zhandou(gxue, gg, gf, "警察", 3, 3)) { slowout("你胜利了!\n"); int qian = rand() % 5 + 1; printf("抢到 %d金币\n", 500 * qian); money += 500 * qian; } } Sleep(1000); goto a1; } else if (a == 6) { slowout("赌场是一个可以快速致富的地方。\n"); slowout("请选择你要玩的游戏。\n"); printf("1.掷骰子\n"); printf("2.比押金\n"); printf("0.退出\n"); cin >> b; if (b == 1) { int m = 0, AIdu = 0, PCdu = 0; slowout("你要付多少赌金?\n"); cin >> m; if (money < m) { slowout("钱不够!\n"); goto a1; } Sleep(2000); PCdu = rand() % 6 + 1; AIdu = rand() % 6 + 1; if (PCdu < AIdu) { slowout("对不起您输了,赌金扣光!\n"); money -= m; } if (PCdu > AIdu) { slowout("恭喜您赢了,赌金双倍!\n"); money += m; } if (PCdu == AIdu) { slowout("平局。\n"); } } else if (b == 2) { int m = 0; slowout("你要付多少赌金?\n"); cin >> m; if (money < m) { slowout("钱不够!\n"); goto a1; } Sleep(2000); int bi = rand() % 3 + 1, AI = 5000 * bi; if (m > AI) { slowout("恭喜您赢了,获得对方赌金!\n"); money += AI; } else { slowout("对不起您输了,赌金扣光!\n"); money -= m; } } Sleep(1000); goto a1; } else if (a == 7) { slowout("您是要打工还是搞破坏?(1/2)\n"); cin >> b; if (b == 1) { if (Time == 0) { da_gong = 0; da_gong = dagong(); printf("你获得%d元!", 200 * da_gong); money += 200 * da_gong; Time = 3; } else slowout("工厂关门!"); } else if (b == 2) { if (k[1] != 0) { slowout("你已经占领此地了。\n"); goto a1; } slowout("厂长:“有人要搞破坏呀!”\n"); slowout("三名警察向你走来!\n"); gxue = 500; gg = 250; gf = 0.05; if (_3zhandou(gxue, gg, gf, "警察", 3, 3)) { slowout("你胜利了!\n"); slowout("加血200滴!\n"); xue += 200; } else goto a1; slowout("厂长:“新鲜出炉的装甲车,快上!”\n"); gxue = 2000; gg = 600; gf = 0.4; if (_3zhandou(gxue, gg, gf, "装甲车", 5, 2)) { slowout("你胜利了!\n"); slowout("加血500滴!\n"); xue += 500; } slowout("厂长:“蛤?魔法师,快给我上!”\n"); gxue = 1500; gg = 450; gf = 0.3; if (_3zhandou(gxue, gg, gf, "魔法师", 11, 1)) { slowout("你胜利了!\n"); slowout("加血750滴!\n"); xue += 750; } else goto a1; slowout("厂长:“我,我跟你拼了!”\n"); gxue = 3000; gg = 600; gf = 0.45; if (_3zhandou(gxue, gg, gf, "厂长", 11, 1)) { slowout("你胜利了!\n"); slowout("获得3000金币,1000经验……………………\n"); slowout("…………和一辆坦克!\n"); money += 3000; xep += 1000; bag[15]++; zi_ge++; k[1] = 1; if (xep >= 500) ji(); } else goto a1; } Sleep(1000); goto a1; } else if (a == 8) { slowout("欢迎光临医院,你要疗伤吗?(1/2)\n"); cin >> b; if (b == 1) { if (xue == xmax) { slowout("你很健康,无需治疗。\n"); } else { printf("需要%d金币。\n", xmax - xue); if (money < xmax - xue) printf("钱不够!\n"); else { money -= xmax - xue; xue = xmax; } } } Sleep(1000); goto a1; } else if (a == 9) { if (k[2] != 0) { slowout("你已经占领此地了。\n"); goto a1; } slowout("你来到酒店,发现不少人都无法无章。\n"); slowout("身为歹徒的你,也看不下去了。\n"); slowout("你来到办公室,想找他们讨论一下。\n"); slowout("谁曾想三个保安冲来了!\n"); gxue = 500; gg = 250; gf = 0.05; if (_3zhandou(gxue, gg, gf, "警察", 3, 3)) { slowout("你胜利了!\n"); slowout("回复300点血量!\n"); xue += 300; } else goto a1; slowout("酒店老板:“你是什么人?\n警卫机器人,快上!”\n"); gxue = 1500; gg = 300; gf = 0.3; if (_3zhandou(gxue, gg, gf, "警卫机器人", 17, 2)) { slowout("你胜利了!\n"); slowout("回复800点血量!\n"); xue += 800; } else goto a1; printf("%s", name); slowout(":“我只是想提醒你们,整改一下酒店风气,别那么紧张。”\n"); slowout("酒店老板:“好吧,你只要能打败我,我就让你接替我!”\n"); gxue = 5000; gg = 900; gf = 0.6; if (_3zhandou(gxue, gg, gf, "酒店老板", 17, 1)) { slowout("你胜利了!\n"); slowout("获得3000金币,1000经验!并每回合收获500金币!\n"); xue = xmax; money += 3000; xep += 1000; k[2] = 1; zi_ge++; if (xep >= 500) ji(); } Sleep(1000); goto a1; } else if (a == 10) { b1: system("cls"); printf("------------------- 歹徒 %s 的状态 -------------------\n", name); printf(" \n"); printf(" 姓名 %s \n", name); printf(" 金币 %d \n", money); printf(" 血量 %d \n", xue); printf(" 血量上限 %d \n", xmax); printf(" 攻击 %d \n", g); printf(" 等级 %d \n", lv); printf(" 经验 %d 还有%d经验升级 \n", xep, 500 - xep); printf(" 防御 %.0lf%% \n", 100.0 * f); printf(" \n"); printf(" \n"); printf(" 副手 "); if (zhuang[0] == 0) printf("无\n"); else if (zhuang[0] == 1) printf("手雷\n"); else if (zhuang[0] == 2) printf("盾牌\n"); printf(" 武器 "); if (zhuang[1] == 0) printf("无\n"); else if (zhuang[1] == 9) printf("钻石剑\n"); else if (zhuang[1] == 10) printf("武士刀\n"); else if (zhuang[1] == 11) printf("青龙偃月刀\n"); else if (zhuang[1] == 12) printf("回旋镖\n"); else if (zhuang[1] == 13) printf("火铳\n"); printf(" 载具 "); if (zhuang[2] == 0) printf("无\n"); else if (zhuang[2] == 14) printf("装甲车\n"); else if (zhuang[2] == 15) printf("坦克\n"); else if (zhuang[2] == 16) printf("直升机\n"); else if (zhuang[2] == 17) printf("武装直升机\n"); printf(" \n"); printf("------------------------------------------------------\n\n\n"); printf("-----------------------你的物品-----------------------\n"); printf(" \n"); printf("1. 手雷 %d \n", bag[1]); printf("2. 盾牌 %d \n", bag[2]); printf("3. 小瓶攻击药水 %d \n", bag[3]); printf("4. 中瓶攻击药水 %d \n", bag[4]); printf("5. 大瓶攻击药水 %d \n", bag[5]); printf("6. 小瓶增血药水 %d \n", bag[6]); printf("7. 中瓶增血药水 %d \n", bag[7]); printf("8. 大瓶增血药水 %d \n", bag[8]); printf("9. 钻石剑 %d \n", bag[9]); printf("10. 武士刀 %d \n", bag[10]); printf("11. 青龙偃月刀 %d \n", bag[11]); printf("12. 回旋镖 %d \n", bag[12]); printf("13. 火铳 %d \n", bag[13]); printf("14. 装甲车 %d \n", bag[14]); printf("15. 坦克 %d \n", bag[15]); printf("16. 直升机 %d \n", bag[16]); printf("17. 武装直升机 %d \n", bag[17]); printf("0. 退出\n\n\n"); printf("你要使用什么?\n"); cin >> b; if (bag[b] == 0 && b != 0) { slowout("你没有这玩意!"); goto b1; } if (b == 1) { printf("该副手增加200攻击,是否使用?(1/2)\n"); cin >> c; if (c == 1) { if (zhuang[0] != 0) bag[zhuang[0]]++; zhuang[0] = b; bag[b]--; g = g_yuan; g += 200; } } else if (b == 2) { printf("该副手增加10防御,是否使用?(1/2)\n"); cin >> c; if (c == 1) { if (zhuang[0] != 0) bag[zhuang[0]]++; zhuang[0] = b; bag[b]--; f = f_yuan; f += 0.1; } } else if (b == 3) { printf("该药水增加10攻击,是否使用?(1/2)\n"); cin >> c; if (c == 1) { printf("用多少?"); cin >> d; if (d > bag[b]) { printf("不够!\n"); Sleep(1000); goto a1; } for (int i = 1; i <= d; ++i) { bag[3]--; g_yuan += 10; g += 10; } } } else if (b == 4) { printf("该药水增加25攻击,是否使用?(1/2)\n"); cin >> c; if (c == 1) { printf("用多少?"); cin >> d; if (d > bag[b]) { printf("不够!\n"); Sleep(1000); goto a1; } for (int i = 1; i <= d; ++i) { bag[4]--; g_yuan += 25; g += 25; } } } else if (b == 5) { printf("该药水增加40攻击,是否使用?(1/2)\n"); cin >> c; if (c == 1) { printf("用多少?"); cin >> d; if (d > bag[b]) { printf("不够!\n"); Sleep(1000); goto a1; } for (int i = 1; i <= d; ++i) { bag[5]--; g_yuan += 40; g += 40; } } } else if (b == 6) { printf("该药水增加50血量,是否使用?(1/2)\n"); cin >> c; if (c == 1) { printf("用多少?"); cin >> d; if (d > bag[b]) { printf("不够!\n"); Sleep(1000); goto a1; } for (int i = 1; i <= d; ++i) { bag[6]--; xue_yuan += 50; xmax_yuan += 50; xue += 50; xmax += 50; } } } else if (b == 7) { printf("该药水增加200血量,是否使用?(1/2)\n"); cin >> c; if (c == 1) { printf("用多少?"); cin >> d; if (d > bag[b]) { printf("不够!\n"); Sleep(1000); goto a1; } for (int i = 1; i <= d; ++i) { bag[7]--; xue_yuan += 200; xmax_yuan += 200; xue += 200; xmax += 200; } } } else if (b == 8) { printf("该药水增加500血量,是否使用?(1/2)\n"); cin >> c; if (c == 1) { printf("用多少?"); cin >> d; if (d > bag[b]) { printf("不够!\n"); Sleep(1000); goto a1; } for (int i = 1; i <= d; ++i) { bag[8]--; xue_yuan += 500; xmax_yuan += 500; xue += 500; xmax += 500; } } } else if (b == 9) { printf("该武器增加50攻击,是否使用?(1/2)\n"); cin >> c; if (c == 1) { if (zhuang[1] != 0) bag[zhuang[1]]++; zhuang[1] = b; bag[b]--; g = g_yuan; g += 50; } } else if (b == 10) { printf("该武器增加75攻击,是否使用?(1/2)\n"); cin >> c; if (c == 1) { if (zhuang[1] != 0) bag[zhuang[1]]++; zhuang[1] = b; bag[b]--; g = g_yuan; g += 75; } } else if (b == 11) { printf("该武器增加100攻击,是否使用?(1/2)\n"); cin >> c; if (c == 1) { if (zhuang[1] != 0) bag[zhuang[1]]++; zhuang[1] = b; bag[b]--; g = g_yuan; g += 100; } } else if (b == 12) { printf("该武器增加150攻击,是否使用?(1/2)\n"); cin >> c; if (c == 1) { if (zhuang[1] != 0) bag[zhuang[1]]++; zhuang[1] = b; bag[b]--; g = g_yuan; g += 150; } } else if (b == 13) { printf("该武器增加250攻击,是否使用?(1/2)\n"); cin >> c; if (c == 1) { if (zhuang[1] != 0) bag[zhuang[1]]++; zhuang[1] = b; bag[b]--; g = g_yuan; g += 250; } } else if (b == 14) { printf("该载具增加400防御,1000攻击,2000血量,是否使用?(1/2)\n"); cin >> c; if (c == 1) { if (zhuang[2] != 0) bag[zhuang[2]]++; zhuang[2] = b; bag[b]--; xue = xue_yuan; xmax = xmax_yuan; g = g_yuan; f = f_yuan; f += 0.4; g += 1000; xue += 2000; xmax += 2000; if (zhuang[0] == 1) g += 200; else if (zhuang[0] == 2) f += 0.1; } } else if (b == 15) { printf("该载具增加500防御,1500攻击,2750血量,是否使用?(1/2)\n"); cin >> c; if (c == 1) { if (zhuang[2] != 0) bag[zhuang[2]]++; zhuang[2] = b; bag[b]--; xue = xue_yuan; xmax = xmax_yuan; g = g_yuan; f = f_yuan; f += 0.5; g += 1500; xue += 2750; xmax += 2750; if (zhuang[0] == 1) g += 200; else if (zhuang[0] == 2) f += 0.1; } } else if (b == 16) { printf("该载具增加600防御,2250攻击,3000血量,是否使用?(1/2)\n"); cin >> c; if (c == 1) { if (zhuang[2] != 0) bag[zhuang[2]]++; zhuang[2] = b; bag[b]--; xue = xue_yuan; xmax = xmax_yuan; g = g_yuan; f = f_yuan; f += 0.6; g += 2250; xue + 3000; xmax += 3000; if (zhuang[0] == 1) g += 200; else if (zhuang[0] == 2) f += 0.1; } } else if (b == 17) { printf("该载具增加650防御,2500攻击,4000血量,是否使用?(1/2)\n"); cin >> c; if (c == 1) { if (zhuang[2] != 0) bag[zhuang[2]]++; zhuang[2] = b; bag[b]--; xue = xue_yuan; xmax = xmax_yuan; g = g_yuan; f = f_yuan; f += 0.65; g += 2500; xue += 4000; xmax += 4000; if (zhuang[0] == 1) g += 200; else if (zhuang[0] == 2) f += 0.1; } } Sleep(1000); goto a1; } else if (a == 11) { slowout("A城的军事力量远超过国防部,不要在大街上欺负每一个行人。\n"); slowout("还有,你的开挂系统也没了。(作者前两部都开了外挂打,觉得很没意思!)\n"); slowout("重点是A城很发达,每个重地都有警卫机器人防守,况且他们都有魔法!\n"); slowout("还有,你可能会面临一个人对抗多个敌人的情况!\n"); slowout("请注意,规范输入!\n"); slowout("你最好在他们联网抓住你之前完成刺杀行动,拿到机器人控制权。\n\n\n"); slowout(" 祝你好运!\n\n"); slowout(" 这是作者为你编写的新手指引\n"); system("pause"); goto a1; } else if (a == 0) { Turn_off(); return 0; } else goto a1; }
-
通过的题目
-
最近活动
- 少年宫周日下午中级A1班 01 【刘澈】 作业
- 少年宫高级A1班小测2 IOI
- 少年宫中级C1班小测2 IOI
- 少年宫周日下午中级C1班04 作业
- 越秀区第九届STEAM科创教育展示活动C++项目——中学组 OI
- 越秀区第九届STEAM科创教育展示活动C++项目——小学组 OI
- 中级C1班小测 IOI
- 越秀区少年宫4月月测(初级) OI
- 越秀区少年宫4月月测(提高+难度) IOI
- 越秀区少年宫4月月测(普及组难度) OI
- 少年宫周日下午中级C1班03 作业
- 少年宫周日下午中级C1班02 作业
- 少年宫周日下午中级C1班01 作业
- C++初级A1班03-二维数组 IOI
- C++初级A1班02-一维数组 IOI
- 少年宫初级班编程比赛 IOI
- 少年宫周六晚上初级班(20240518)【吴飞】 作业
- 少年宫周日晚上班(20240512)【张正标】 作业
- 少年宫周日下午2:30初级C1班作业(20240526)【杨远时】 作业
-
最近编写的题解
题目标签
- 语言基础
- 39
- 循环语句
- 19
- 一维数组
- 12
- 二维数组
- 12
- 字符串
- 10
- 语言入门
- 9
- 字符数组
- 9
- 竞赛
- 6
- NOIP
- 6
- 普及组
- 5
- 其他
- 4
- 排序
- 3
- 基础语法
- 2
- 搜索
- 2
- python
- 2
- 2001
- 1
- 2005
- 1
- 2006
- 1
- 2007
- 1
- 2009
- 1