• Bio

    凌霄威龙

    游戏:

    
    #include <bits/stdc++.h>
    #include <windows.h>
    #include <conio.h>
    #define For(i, x, y) for (ll i = x; i <= y; ++ i)
    #define Dor(i, x, y) for (ll i = x; i >= y; -- i)
    #define ll long long
    using namespace std;
    ll qian, p, rlsx = 9 * 8 * 64, ys, jsq, r, x, ifx, gdj = 1, kdj;
    ll lhy, gs, syk, xnk, cyk, gk, xszd = 1, rl,  xts, zys, smbz, wk;
    ll yqmz, zuobim, nnk, tk1, tk2, lk, tk3, sc, yj, yjnj, k, myxsk;
    ll gz[9] = {0, 3000, 6000, 12000, 30000, 60000, 150000, 600000, 1000000};
    double star;
    string s, kg23 = "                       ", kg9 = "         ";
    char zf, zf666;
    void saveGame() {
        ofstream out("save.dat", ios::binary);
        out.write((char*)&qian, sizeof(qian));
        out.write((char*)&yjnj, sizeof(yjnj));
        out.write((char*)&xszd, sizeof(xszd));
        out.write((char*)&r, sizeof(r));
        out.write((char*)&ifx, sizeof(ifx));
        out.write((char*)&gdj, sizeof(gdj));
        out.write((char*)&yqmz, sizeof(yqmz));
        out.write((char*)&zuobim, sizeof(zuobim));
        out.write((char*)&star, sizeof(star));
        out.close();
    }
    void loadGame() {
        ifstream in("save.dat", ios::binary);
        in.read((char*)&qian, sizeof(qian));
        in.read((char*)&yjnj, sizeof(yjnj));
        in.read((char*)&xszd, sizeof(xszd));
        in.read((char*)&r, sizeof(r));
        in.read((char*)&ifx, sizeof(ifx));
        in.read((char*)&gdj,sizeof(gdj));
        in.read((char*)&yqmz, sizeof(yqmz));
        in.read((char*)&zuobim, sizeof(zuobim));
        in.read((char*)&star, sizeof(star));
        in.close();
    }
    void slow(string x) {
    	ll len = x.size() - 1;
    	for (int i = 0; i <= len; i++) {
    		cout << x[i];
    		Sleep(30);
    	}
    }
    void kcb() {
    	slow("游戏名:挖矿大亨\n");
    	Sleep(50);
    	slow("作者:Jim\n");
    	Sleep(50);
    	slow("作者专属,禁止转载,否则后果自负\n");
    	Sleep(50);
    	slow("制游不易,不喜勿喷\n");
    	Sleep(50);
    	slow("准备好了吗?");
    	Sleep(1000);
    	system ("cls");
    }
    void cs() {
    	slow("已出售!");
    	Sleep(1000);
    	qian = qian + ys * 2 + nnk * 3 + tk1 * 5 + tk2 * 10 + lk * 15 + tk3 * 20;
    	qian = qian + lhy * 5 + gs * 7 + syk * 15 + xnk * 25 + cyk * 30 + gk * 40;
    	qian = qian + myxsk * 10 + lk * 15 + xts * 30 + zys * 35 + smbz * 50 + wk * 60;
    	rl = ys = nnk = tk1 = tk2 = lk = tk3 = 0;
    	lhy = gs = syk = xnk = cyk = gk = 0;
    	myxsk = lk = xts = zys = smbz = wk = 0;
    	system("cls");
    }
    void yxjs() {
    	system("cls");
    	slow("挖掘矿物时,如果矿镐能挖当前矿物,会获得该矿石,否则无法获得该矿石。"); 
    	Sleep(1000);
    	system ("cls");
    	slow("您可以去不同星球挖矿,分别是迷拉星、烈焰星和萌眼星。");
    	Sleep(1000);
    	system("cls");
    	slow("但注意,烈焰星遍布岩浆,萌眼星缺氧,请装备对应的星球装备。");
    	Sleep(1000);
    	system("cls");
    	slow("按t跳过当前矿石,按h字符回到主页。");
    	Sleep(1000);
    	system ("cls");
    	slow("矿石可以去市场卖钱也可以开启自动出售模式。");
    	Sleep(1000);
    	system ("cls");
    	slow("开始挖吧,祝您游戏愉快!");
    	Sleep(1000);
    	system ("cls");
    }
    void mlx() {
    	while (1) {
    		x = yj = 0;
    		s = "";
    		x = rand() % 1000 + 1;
    		if (x <= 450) s = "岩石", kdj = 1;
    			else if (x <= 750) s = "凝能矿", kdj = 1;
    				else if (x <= 900) s = "铜矿", kdj = 1;
    					else if (x <= 960) s = "铁矿", kdj = 2;
    						else if (x <= 985) s = "铝矿", kdj = 3;
    							else if (x <= 995) s = "钛矿", kdj = 4;
    								else s = "岩浆", yj = 1;
    		cout << "背包:" << rl << "/" << rlsx << endl;
    		cout << "按w字符挖掘,按t字符跳过,按h字符回到主页。\n";
    		cout << "矿镐等级:" << gdj <<"\t\t当前矿石:" << s << "\n";
    		cout << "岩浆背包耐久:" << yjnj << "\n";
    		if (yj) {
    			Sleep(1000);
    			if (yjnj > 0) {
    				slow("岩浆背包耐久-1");
    				Sleep(1000);
    				-- yjnj;
    				system("cls");
    				continue;
    			}
    			else {
    				Sleep(1000);
    				if (xszd) {
    					slow("由于你处于新手保护期,免疫岩浆伤害!");
    					Sleep(500);
    					system("cls");
    				}
    				else {
    					system("cls"); 
    					slow("你死了!\n");
    					slow("1.重新开始" + kg23 + "2.继续探险(1星)\n");
    					slow("掉落身上道具,回到初始点");
    					slow(kg9 + "不掉落身上道具,继续探险\n");
    					cin >> p;
    					system("cls");
    					if (p == 1) {
    						system("cls");
    						ys = nnk = tk1 = tk2 = lk = tk3 = 0;
    						lhy = gs = syk = xnk = cyk = gk = 0;
    						myxsk = lk = xts = zys = smbz = wk = 0;
    						yqmz = 0;
    						break;
    					}
    					else {
    						if (star < 1) {
    							while (p != 1) {
    								slow("星星不够!");
    								Sleep(1000);
    								system("cls");
    								slow("你死了!\n");
    								slow("1.重新开始" + kg23 + "2.继续探险(1星)\n");
    								slow("掉落身上道具");
    								slow(kg9 + "不掉落身上道具,继续探险\n");
    							}
    							system("cls");
    							ys = nnk = tk1 = tk2 = lk = tk3 = 0;
    							lhy = gs = syk = xnk = cyk = gk = 0;
    							myxsk = lk = xts = zys = smbz = wk = 0;
    							yqmz = 0;
    							break;
    						}
    						else -- star;
    					}
    					system("cls");
    					continue;
    				}
    			}
    		}
    		zf = _getch();
    		Sleep(200);
    		if (zf == 'w') {
    			if (gdj >= kdj) {
    				ll ppp = 0;
    				system("cls");
    				For (i, 1, 4 - gdj + kdj) {
    					cout << "正在挖掘(" << i << "/" << 4 - gdj + kdj << ")";
    					Sleep(1000);
    					system("cls");
    				}
    				++ rl;
    				if (s == "岩石") ++ ys;
    				if (s == "凝能矿") ++ nnk, ppp = 1;
    				if (s == "铜矿") ++ tk1;
    				if (s == "铁矿") ++ tk2;
    				if (s == "铝矿") ++ lk;
    				if (s == "钛矿") ++ tk3;
    				if (ppp) {
    					star += 0.3;
    					slow("爆出星星0.3");
    					Sleep(1000);
    				}
    			}
    			else {
    				slow("无法挖掘!");
    				Sleep(1000);
    				system("cls");
    				continue;
    			}
    		}
    		else if (zf == 'h') {
    			if (xszd && ys * 2 + nnk * 3 + tk1 * 5 >= 10 || !xszd) {
    				Sleep(500);
    				system("cls");
    				break;
    			}
    			else {
    				slow("你挖的矿石太少了,再挖一点吧!");
    				Sleep(500);
    				system("cls");
    			}
    		}
    		else if (zf == 't') {
    			slow("已跳过!");
    			system("cls");
    			continue;
    		}
    		if (rl == rlsx) {
    			system("cls");
    			slow("背包已满!"),
    			Sleep(1000);
    			system("cls");
    			break;
    		}
    		system("cls");
    	}
    }
    void lyx() {
    	while (1) {
    		x = yj = 0;
    		s = "";
    		x = rand() % 1000 + 1;
    		if (x <= 500) s = "硫磺岩", kdj = 1;
    			else if (x <= 700) s = "岩浆", yj = 1;
    				else if (x <= 850) s = "硅石", kdj = 1;
    					else if (x <= 975) s = "石油矿", kdj = 1;
    						else if (x <= 987) s = "星能矿", kdj = 3;
    							else if (x <= 995) s = "炽焰矿", kdj = 1;
    								else s = "钴矿", kdj = 4;
    		cout << "背包:" << rl << "/" << rlsx << endl;
    		cout << "按w字符挖掘,按t字符跳过,按h字符回到主页。";
    		cout << "\t\t矿镐等级:" << gdj <<"\t\t当前矿石:" << s << "\n";
    		cout << "岩浆背包耐久:" << yjnj << "\n"; 
    		if (yj) {
    			Sleep(1000);
    			if (yjnj) {
    				slow("岩浆背包耐久-1");
    				Sleep(1000);
    				yjnj--;
    				system("cls"); 
    				continue; 
    			}
    			else {
    				system("cls"); 
    				slow("你死了!\n");
    				slow("1.重新开始" + kg23 + "2.继续探险(1星)\n");
    				slow("掉落身上道具,回到初始点");
    				slow(kg9 + "不掉落身上道具,继续探险\n");
    				cin >> p;
    				system("cls");
    				if (p == 1) {
    					system("cls");
    					ys = nnk = tk1 = tk2 = lk = tk3 = 0;
    					lhy = gs = syk = xnk = cyk = gk = 0;
    					myxsk = lk = xts = zys = smbz = wk = 0;
    					yqmz = 0;
    					break;
    				}
    				else {
    					if (star < 1) {
    						while (p != 1) {
    							slow("星星不够!");
    							Sleep(1000);
    							system("cls");
    							slow("你死了!\n");
    							slow("1.重新开始" + kg23 + "2.继续探险(1星)\n");
    							slow("掉落身上道具,回到初始点");
    							slow(kg9 + "不掉落身上道具,继续探险\n");
    						}
    						system("cls");
    						ys = nnk = tk1 = tk2 = lk = tk3 = 0;
    						lhy = gs = syk = xnk = cyk = gk = 0;
    						myxsk = lk = xts = zys = smbz = wk = 0;
    						yqmz = 0;
    						break;
    					}
    					else -- star;
    				}
    				system("cls");
    				continue;
    			}
    		}
    		zf = _getch();
    		Sleep(200);
    		if (zf == 'w') {
    			if (gdj >= kdj) {
    				ll ppp = 0;
    				system("cls");
    				For (i, 1, 4 - gdj + kdj) {
    					cout << "正在挖掘(" << i << "/" << 4 - gdj + kdj << ")";
    					Sleep(1000);
    					system("cls");
    				}
    				++ rl;
    				if (s == "硫磺岩") ++ lhy;
    				if (s == "硅石") ++ gs, ppp = 1;
    				if (s == "石油矿") ++ syk;
    				if (s == "星能矿") ++ xnk;
    				if (s == "炽焰矿") ++ cyk, ppp = 1;
    				if (s == "钴矿") ++ gk;
    				if (ppp) {
    					star += 0.3;
    					slow("爆出星星0.3");
    					Sleep(1000);
    				}
    			}
    			else {
    				slow("无法挖掘!");
    				Sleep(1000);
    				system("cls");
    				continue;
    			}
    		}
    		else if (zf == 'h') {
    			system ("cls");
    			break;
    		}
    		else if (zf == 't') {
    			slow("已跳过!");
    			system("cls");
    			continue;
    		}
    		if (rl == rlsx) {
    			system("cls");
    			slow("背包已满!"),
    			Sleep(1000);
    			system("cls");
    			break;
    		}
    		system("cls");
    	}
    }
    void myx() {
    	while (1) {
    		x = yj = 0;
    		s = "";
    		if (yqmz == 0) p = 2;
    			else p = 1;
    		x = rand() % 1000 + 1;
    		if (x <= 500) s = "萌眼星石块", kdj = 3;
    			else if (x <= 750) s = "铝矿", kdj = 3;
    				else if (x <= 850) s = "星瞳石", kdj = 4;
    					else if (x <= 950) s = "紫荧石", kdj = 4;
    						else if (x <= 987) s = "神秘宝藏", kdj = 5;
    							else if (x <= 995) s = "钨矿", kdj = 6;
    								else s = "岩浆", yj = 1;
    		cout << "背包:" << rl << "/" << rlsx << endl;
    		cout << "按w字符挖掘,按t字符跳过,按h字符回到主页。";
    		cout << "\t\t矿镐等级:" << gdj <<"\t\t当前矿石:" << s << "\n";
    		cout << "岩浆背包耐久:" << yjnj << "\n";
    		cout << "氧气面罩耐久:" << yqmz << "\n";
    		if (yj) {
    			Sleep(1000);
    			if (yjnj) {
    				slow("岩浆背包耐久-1");
    				Sleep(1000);
    				-- yjnj;
    				system("cls");
    				continue;
    			}
    			else {
    				system("cls"); 
    				slow("你死了!\n");
    				slow("1.重新开始" + kg23 + "2.继续探险(1星)\n");
    				slow("掉落身上道具,回到初始点");
    				slow(kg9 + "不掉落身上道具,继续探险\n");
    				cin >> p;
    				system("cls");
    				if (p == 1) {
    					system("cls");
    					ys = nnk = tk1 = tk2 = lk = tk3 = 0;
    					lhy = gs = syk = xnk = cyk = gk = 0;
    					myxsk = lk = xts = zys = smbz = wk = 0;
    					yqmz = 0;
    					break;
    				}
    				else {
    					if (star < 1) {
    						while (p != 1) {
    							slow("星星不够!");
    							Sleep(1000);
    							system("cls");
    							slow("你死了!\n");
    							slow("1.重新开始" + kg23 + "2.继续探险(1星)\n");
    							slow("掉落身上道具,回到初始点");
    							slow(kg9 + "不掉落身上道具,继续探险\n");
    						}
    						system("cls");
    						ys = nnk = tk1 = tk2 = lk = tk3 = 0;
    						lhy = gs = syk = xnk = cyk = gk = 0;
    						myxsk = lk = xts = zys = smbz = wk = 0;
    						yqmz = 0;
    						break;
    					}
    					else -- star;
    				}
    				system("cls");
    				continue;
    			}
    		}
    		zf = _getch();
    		Sleep(200);
    		if (zf == 'w') {
    			if (gdj >= kdj) {
    				ll ppp = 0;
    				system("cls");
    				For (i, 1, 4 * p - gdj + kdj) {
    					cout << "正在挖掘(" << i << "/" << 4 * p - gdj + kdj << ")";
    					Sleep(1000);
    					system("cls");
    				}
    				++ rl;
    				if (s == "萌眼星石块") ++ myxsk;
    				if (s == "铝矿") ++ lk;
    				if (s == "星瞳石") ++ xts, ppp = 1;
    				if (s == "紫荧石") ++ zys, ppp = 1;
    				if (s == "神秘宝藏") ++ smbz;
    				if (s == "钨矿") ++ wk;
    				if (ppp) {
    					star += 0.3;
    					slow("爆出星星0.3");
    					Sleep(1000);
    				}
    				if (yqmz > 0) {
    					system("cls");
    					slow("氧气面罩耐久-1");
    					Sleep(500);
    					-- yqmz;
    				}
    			}
    			else {
    				slow("无法挖掘!");
    				Sleep(1000);
    				system("cls");
    				continue;
    			}
    		}
    		else if (zf == 'h') {
    			system ("cls");
    			break;
    		}
    		else if (zf == 't') {
    			slow("已跳过!");
    			system("cls");
    			continue;
    		}
    		if (rl == rlsx) {
    			system("cls");
    			slow("背包已满!");
    			Sleep(1000);
    			system("cls");
    			break;
    		}
    		system("cls");
    	}
    }
    void qx() {
    	system("cls");
    	slow("已取消。");
    	Sleep(1000);
    	system("cls");
    }
    void ggz() {
    	system("cls");
    	slow("1.石镐\t\t\t等级:1\t\t价格:3000$\n");
    	slow("2.黄铜镐\t\t等级:2\t\t价格:6000$\n");
    	slow("3.铸铁镐\t\t等级:3\t\t价格:12000$\n");
    	slow("4.铝合金镐\t\t等级:4\t\t价格:30000$\n");
    	slow("5.钛合金镐\t\t等级:5\t\t价格:60000$\n");
    	slow("6.钴合金镐\t\t等级:6\t\t价格:150000$\n");
    	slow("7.电钻\t\t\t等级:7\t\t价格:600000$\n");
    	slow("8.星瞳电钻\t\t等级:8\t\t价格:1000000$\n");
    	slow("您要买什么镐子(0表示不买)?\n");
    }
    void ggzc() {
    	slow("购买成功!");
    	if (p == 1) gdj = 1;
    	if (p == 2) gdj = 2;
    	if (p == 3) gdj = 3;
    	if (p == 4) gdj = 4;
    	if (p == 5) gdj = 5;
    	if (p == 6) gdj = 6;
    	if (p == 7) gdj = 7;
    	if (p == 8) gdj = 8;
    	qian -= gz[p];
    }
    void qd() {
    	int x = rand() % 5 + 1;
    	switch(x) {
    		case 1:
    			system("color 06");
    			slow("恭喜你抽到了10$");
    			qian += 10;
    			Sleep(1000);
    			system("cls");
    			r = 1;
    			system("color 07");
    			break;
    		case 2:
    			system("color 0B");
    			slow("恭喜你抽到了30$");
    			qian += 30;
    			Sleep(1000);
    			system("cls");
    			r = 1;
    			system("color 07");
    			break;
    		case 3:
    			system("color 0A");
    			slow("恭喜你抽到了60$");
    			qian += 60;
    			Sleep(1000);
    			system("cls");
    			r = 1;
    			system("color 07");
    			break;
    		case 4:
    			system("color 03");
    			slow("恭喜你抽到了100$");
    			qian += 100;
    			Sleep(1000);
    			system("cls");
    			r = 1;
    			system("color 07");
    			break;
    		case 5:
    			system("color 02");
    			slow("恭喜你抽到了150$");
    			qian += 150;
    			Sleep(1000);
    			system("cls");
    			r = 1;
    			system("color 07");
    			break;
    	}
    }
    void gj() {
    	while (1) {
    		system("cls");
    		cout << "钱:" << qian << "$\n";
    		Sleep(5000);
    		switch(gdj) {
    			case 1:
    				slow("+500$");
    				qian = qian + 500;
    				Sleep(100);
    				system("cls");
    				break;
    			case 2:
    				slow("+1500$");
    				qian = qian + 1500;
    				Sleep(100);
    				system("cls");
    				break;
    			case 3:
    				slow("+2500$");
    				qian = qian + 2500;
    				Sleep(100);
    				system("cls");
    				break;
    			case 4:
    				slow("+5000$");
    				qian = qian + 5000;
    				Sleep(100);
    				system("cls");
    				break;
    			case 5:
    				slow("+15000$");
    				qian = qian + 15000;
    				Sleep(100);
    				system("cls");
    				break;
    			case 6:
    				slow("+250000$");
    				qian = qian + 250000;
    				Sleep(100);
    				system("cls");
    				break;
    			case 7:
    				slow("+500000$");
    				qian = qian + 500000;
    				Sleep(100);
    				system("cls");
    				break;
    			case 8:
    				slow("+10000000000$");
    				qian = qian + 10000000000;
    				Sleep(100);
    				system("cls");
    				break;
    		}
    		if (sc == p) break;
    		++ sc;
    	}
    	cout << "钱:" << qian << "$\n";
    	Sleep(500);
    }
    void qk() {
    	system("color 04");
    	slow("你确定要清空存档吗?\n");
    	cin >> p;
    	if (p) {
    		gdj = xszd = 1;
        	qian = p = yjnj = ifx = r = yqmz = zuobim = 0;
        	saveGame();
        	system("cls");
        	For (i, 1, 6) {
    			if (i % 3 == 1) cout << "清空存档中.";
    			if (i % 3 == 2) cout << "清空存档中..";
    			if (i % 3 == 0) cout << "清空存档中...";
    			Sleep(750);
    			system("cls");
    		}
    		system("cls");
    		slow("已清除存档!");
    		Sleep(750);
    		system("cls");
    		system("color 07");
    		return;
    	}
    	else {
    		system("cls");
    		system("color 07");
    		qx();
    		return;
    	}
    }
    void zuobi() {
    	if (zuobim) {
    		slow("你已领过!");
    		Sleep(1000);
    		system("cls");
    		return;
    	}
    	slow("请输入指令(5位)。\n");
    	cin >> s;
    	while (s.size() != 5) {
    		system("cls");
    		slow("请按要求输入!");
    		Sleep(500);
    		slow("请输入指令(5位)。\n");
    		cin >> s;
    	}
    	system("cls");
    	For (i, 1, 6) {
    		if (i % 3 == 1) cout << "验证中.";
    		if (i % 3 == 2) cout << "验证中..";
    		if (i % 3 == 0) cout << "验证中...";
    		Sleep(750);
    		system("cls");
    	}
    	system("cls");
    	if (s[0] == 119 && s[1] == 106 && s[2] == 99 && s[3] == 110 && s[4] == 98) {
    		slow("兑换成功!已获得100000000000$!");
    		qian += 100000000000;
    		zuobim = 1;
    	}
    	else slow("兑换失败!");
    	Sleep(1000);
    	system("cls");
    }
    void qkc() {
    	if (xszd) yxjs();
    	slow("您要去哪个星球?\n1.迷拉星 2.烈焰星 3.萌眼星\n");
    	if (xszd) {
    		slow("先去迷拉星吧!\n");
    		Sleep(500);
    		p = 1;
    	}
    	else cin >> p;
    	system("cls");
    	if (p == 1) mlx();
    		else if (p == 2) lyx();
    			else if (p == 3) myx();
    	system("cls");
    	while(_kbhit()) _getch();
    }
    void qscmcks() {
    	system("cls");
    	slow("您要售出矿石吗?\n");
    	if (xszd) {
    		slow("确定售出。\n");
    		Sleep(500);
    		p = 1;
    	}
    	else cin >> p;
    	system("cls");
    	if (p) cs();
    		else qx();
    	system("cls");
    	if (xszd == 1) {
    		slow("你赚到了第一笔钱!接下来,就由你自己探索了!\n");
    		Sleep(500);
    		xszd = 0;
    	}
    	system("cls");
    }
    void qscgmkg() {
    	ggz();
    	if (xszd) {
    		slow("买一把石镐吧!\n");
    		Sleep(500);
    		p = 1;
    	}
    	else cin >> p;
    	if (!p) {
    		qx();
    		return;
    	}
    	system("cls");
    	if (qian >= gz[p]) ggzc();
    		else slow("购买失败!");
    	Sleep(1000);
    	system("cls");
    }
    void qscgmxqzb() {
    	system("cls");
    	slow("您要买什么?\n1.岩浆背包 2.氧气面罩\n");
    	cin >> p;
    	if (p == 1) {
    		system("cls");
    		slow("属性:能抵御岩浆,但-1耐久,共2000耐久。");
    		slow("\n价格:20000$\n是否购买?\n");
    		cin >> p;
    		if (p) {
    			system("cls");
    			if (qian >= 20000) {
    				qian -= 20000;
    				yjnj = 2000;
    				slow("购买成功!");
    			}
    			else slow("购买失败!");
    			Sleep(1000);
    			system("cls");
    		}
    		else qx();
    		system("cls");
    	}
    	else if (p == 2) {
    		system("cls");
    		slow("属性:能抵御缺氧的恶劣环境但-1耐久,共5000耐久。");
    		slow("\n价格:50000$\n是否购买?\n");
    		cin >> p;
    		if (p) {
    			system("cls");
    			if (qian >= 50000) {
    				qian -= 50000;
    				yqmz = 5000;
    				slow("购买成功!");
    			}
    			else slow("购买失败!");
    			Sleep(1000);
    			system("cls");
    		}
    		else qx();
    	}
    	else qx();
    }
    void qsc() {
    	system("cls");
    	slow("您要干什么?\n1.卖出矿石 2.购买矿镐 3.购买星球装备\n");
    	if (xszd && !jsq) {
    		slow("去购买矿镐吧!\n");
    		Sleep(500);
    		p = 2;
    	}
    	else if (xszd && jsq) {
    		slow("去卖掉矿石吧!\n");
    		Sleep(500);
    		p = 1;
    	}
    	else cin >> p;
    	if (p == 1) qscmcks();
    	if (p == 2) qscgmkg();
    	if (p == 3) qscgmxqzb();
    	++ jsq;
    }
    
    void qdqd() {
    	if (r == 1) {
    		system("cls");
    		slow("您已经领过了。");
    		Sleep(1000);
    		system("cls");
    		return;
    	}
    	For (i, 1, 6) {
    		if (i % 3 == 1) cout << "正在抽取今日运势.";
    		if (i % 3 == 2) cout << "正在抽取今日运势..";
    		if (i % 3 == 0) cout << "正在抽取今日运势...";
    		Sleep(750);
    		system("cls");
    	}
    	x = rand() % 5 + 1;
    	system("cls");
    	qd();
    }
    void zdcs() {
    	system("cls");
    	if (!ifx) slow("已开启自动出售模式!"), ifx = 1;
    		else slow("已关闭自动出售模式!"), ifx = 0;
    	Sleep(1000);
    	system("cls");
    }
    void gjgj() {
    	slow("请输入挂机时长(单位:5秒,0取消)。\n");
    	cin >> p;
    	sc = 0;
    	if (!p) {
    		qx();
    		return;
    	}
    	-- p;
    	gj();
    	system("cls");
    }
    void bccd() {
    	For (i, 1, 6) {
    		if (i % 3 == 1) cout << "正在保存中.";
    		if (i % 3 == 2) cout << "正在保存中..";
    		if (i % 3 == 0) cout << "正在保存中...";
    		Sleep(750);
    		system("cls");
    	}
    	saveGame();
    	system("cls");
    	slow("已保存!");
    	Sleep(1000);
    	system("cls");
    }
    void tcyx() {
    	slow("您确定要退出吗?\n");
    	cin >> p;
    	system("cls");
    	if (p) {
    		slow("已退出游戏!");
    		exit(0);
    	}
    	else qx();
    }
    void ggl() {
    	slow("1.4.4版本公告:\n");
    	Sleep(1000);
    	slow("1.【系统】修复了无法正常领取签到奖励的问题。\n");
    	Sleep(1000);
    	slow("2.【系统】对各个系统进行整改。\n");
    	Sleep(1000);
    	slow("3.【规则】可用星星复活。\n");
    	Sleep(1000);
    	slow("4.【规则】挖矿时间减半。\n");
    	Sleep(1000);
    	system("pause");
    	system("cls");
    }
    int main() {
    	loadGame();
    	kcb();
    	ggl();
    	srand(time(0));
    	if (xszd) {
    		slow("欢迎来到挖矿大亨!这是你的初始资金。");
    		Sleep(500);
    		system("cls");
    		slow("+3000$");
    		qian += 3000;
    		Sleep(500);
    		system("cls");
    	}
    	k = 1;
    	while (1) {
    		if (ifx && rl != 0) cs();
    		slow("钱:"), cout << qian;
    		slow("$\t星星:"), cout << star;
    		slow("\n您要干什么?\n");
    		slow("1.去矿场 2.去市场 3.签到 4.自动出售 5.挂机 ");
    		slow("6.保存存档 7.清空存档 8.指令 9.退游\n");
    		if (xszd && k == 1) {
    			slow("现在,用你这3000$去买一把石镐吧!\n");
    			Sleep(500);
    			zf666 = '2';
    		}
    		else if (xszd && k == 2) {
    			slow("感觉新工具怎么样呀?快去矿场挖一些矿吧!\n");
    			Sleep(500);
    			zf666 = '1';
    		}
    		else if (xszd && k == 3) {
    			slow("你很棒!快去市场卖掉这些矿石吧!\n");
    			Sleep(500);
    			zf666 = '2';
    		}
    		else cin >> zf666;
    		system("cls");
    		while (!(zf666 >= '1' && zf666 <= '9')) {
    			slow("请按要求输入!");
    			Sleep(500);
    			system("cls");
    			slow("钱:"), cout << qian;
    			slow("$\t星星:"), cout << star << "\n";
    			slow("您要干什么?\n1.去矿场 2.去市场 3.签到 4.自动出售 5.挂机 ");
    
    			slow("6.保存存档 7.清空存档 8.指令 9.退游\n");
    			cin >> zf666;
    		}
    		p = zf666 - 48;
    		system("cls");
    		if (p == 1) qkc();
    		if (p == 2) qsc();
    		if (p == 3) qdqd();
    		if (p == 4) zdcs();
    		if (p == 5) gjgj();
    		if (p == 6) bccd();
    		if (p == 7) qk();
    		if (p == 8) zuobi();
    		if (p == 9) tcyx();
    		if (k < 100) ++ k;
    	}
    	return 0;
    }
    
    #include <iostream>
    #include <cstdlib>
    #include <ctime>
    #include <string>
    #include <windows.h>
    using namespace std;
    
    struct Hero
    {
        string name;
        int hp;
        int maxHp;
        int atk;
        int def;
        int potion;
    };
    
    struct Monster
    {
        string name;
        int hp;
        int maxHp;
        int atk;
        int def;
    };
    
    int calcDamage(int atk, int def)
    {
        int dmg = atk - def;
        if(dmg < 1) dmg = 1;
        return dmg;
    }
    
    int main()
    {
        srand((unsigned)time(NULL));
    
        Hero player;
        player.name = "勇者";
        player.maxHp = 140;
        player.hp = player.maxHp;
        player.atk = 19;
        player.def = 6;
        player.potion = 6;
    
        Monster monList[3];
        monList[0].name = "野狼";
        monList[0].maxHp = 80; monList[0].hp = 80;
        monList[0].atk = 14; monList[0].def = 3;
    
        monList[1].name = "哥布林";
        monList[1].maxHp = 100; monList[1].hp = 100;
        monList[1].atk = 18; monList[1].def = 5;
    
        monList[2].name = "石像鬼";
        monList[2].maxHp = 140; monList[2].hp = 140;
        monList[2].atk = 21; monList[2].def = 8;
    
        int monsterIndex = 0;
        Monster curMonster = monList[monsterIndex];
    
        while(true)
        {
            system("cls");
            cout << "======== 回合RPG冒险 ========\n";
            cout << "勇者 HP:" << player.hp << "/" << player.maxHp << "  药水:" << player.potion << "\n";
            cout << curMonster.name << " HP:" << curMonster.hp << "/" << curMonster.maxHp << "\n";
            cout << "----------------------------\n";
            cout << "[1攻击] [2药水] [3防御] [4逃跑] 选择:";
    
            int op;
            cin >> op;
            bool playerDefend = false;
    
            if(op == 1)
            {
                int dmg = calcDamage(player.atk, curMonster.def);
                bool crit = false;
                if(rand() % 4 == 0){ dmg *= 2; crit = true; }
                if(crit) cout << "暴击!";
                cout << "造成" << dmg << "伤害\n";
                curMonster.hp -= dmg;
            }
            else if(op == 2)
            {
                if(player.potion > 0)
                {
                    player.potion--;
                    int heal = 30;
                    player.hp += heal;
                    if(player.hp > player.maxHp) player.hp = player.maxHp;
                    cout << "恢复" << heal << "血量\n";
                }
                else
                {
                    cout << "无药水\n";
                    Sleep(600);
                    continue;
                }
            }
            else if(op == 3)
            {
                playerDefend = true;
                cout << "进入防御\n";
            }
            else if(op == 4)
            {
                if(rand()%3 == 0)
                {
                    cout << "逃跑成功\n";
                    break;
                }
                else
                {
                    cout << "逃跑失败\n";
                }
            }
            else
            {
                cout << "无效输入\n";
                Sleep(600);
                continue;
            }
    
            if(curMonster.hp <= 0)
            {
                cout << curMonster.name << "已击败\n";
                monsterIndex++;
                if(monsterIndex >= 3)
                {
                    cout << "======== 通关! ========\n";
                    break;
                }
                curMonster = monList[monsterIndex];
                cout << "出现:" << curMonster.name << "\n";
                Sleep(800);
                continue;
            }
    
            int mDmg = calcDamage(curMonster.atk, player.def);
            if(rand()%8 ==0)
            {
                cout << "闪避成功!\n";
                Sleep(600);
                continue;
            }
            if(playerDefend)
            {
                mDmg = mDmg / 2;
                if(mDmg <1) mDmg=1;
            }
            player.hp -= mDmg;
            cout << "受到" << mDmg << "伤害\n";
    
            if(player.hp <=0)
            {
                cout << "======= 游戏结束 =======\n";
                break;
            }
            Sleep(800);
        }
        system("pause");
        return 0;
    }
  • Stat

  • Rating

  • This person is lazy and didn't write anything.