你可以试试哦7

#include <bits/stdc++.h>
#include <cstdlib>
#include <windows.h>
#include <conio.h>
#include <string>
using namespace std;

char  a[14][100] = {"| S小怪 M大怪 O入口 0你的位置 R小资源 H大资源 @传送门 -道路 |道路 X回血|",
                    "|                                                                      |",
                    "|      |S-R-X|-H--M-S-R-S-S-H-M-X---|      |-X|-S--H-|                 |",
                    "|      M     |       |              |-S|R--|  |      |                 |",
                    "|      |     |-M--X--|H-R-|     |-S-|  |      |-M--H--|                |",
                    "|      S--R--|       |    |--M-R|      |-S|-X-|       |--@             |",
                    "| O0-|-----|R-M-S--|R-M-|--X--|S-S-M-|X-|-R-|-H-M-M---|                |",
                    "|      M--S|-|-X-R---|    |-|S-H|    |    |   |       |                |",
                    "|      S   |      |  |      |        |-X-|-M-|-H-|-MH-|                |",
                    "|      H   |-S--R-|-S--X-R--|-S-M--H-|       |        |                |",
                    "|      X   |                         |    |H-|X-H-H-M-|                |",
                    "|      R--M|S---H---M--M-X-|-S-M-R--S|-M-H|                            |",
                    "|                                                                      |"
                   };

char  b[14][100] = {"| S小怪 M大怪 O入口 0你的位置 R小资源 H大资源 @传送门 -道路 |道路 X回血|",
                    "|                                                                      |",
                    "|      |S-R-X|-H--M-S-R-S-S-H-M-X---|      |-X|-S--H-|                 |",
                    "|      M     |       |              |-S|R--|  |      |                 |",
                    "|      |     |-M--X--|H-R-|     |-S-|  |      |-M--H--|                |",
                    "|      S--R--|       |    |--M-R|      |-S|-X-|       M--@             |",
                    "| O0-|-----|R-M-S--|R-M-|--X--|S-S-M-|X-|-R-|-H-M-M-M-|                |",
                    "|      M--S|-|-X-R---|    |-|S-H|    |    |   |       |                |",
                    "|      S   |      |  |      |        |-X-|-M-|-H-|-MH-|                |",
                    "|      H   |-S--R-|-S--X-R--|-S-M--H-|       |        |                |",
                    "|      X   |                         |    |H-|X-H-H-M-|                |",
                    "|      R--M|S---H---M--M-X-|-S-M-R--S|-M-H|                            |",
                    "|                                                                      |"
                   };
int c;
int shang_hai = 5;
int sheng_ming = 5;
int sheng_ming_zhi = 5;
int jb = 0;
string xing_ming;
int l, j;
void game_2();
void player_zi_liao();
void player();
void shop();
void zi_mu_1();
void q();
void game_1();
void s_1();
void shi_bai();
void da_guai();
void xiao_guai();
void xiao_ziyuan();
void da_ziyuan();
void hui_xue();
void sheng_li();
//S小怪 M大怪 O入口 0你的位置 R小资源 H大资源 @传送门 -道路 |道路 X回血

void sheng_li() {
	q();
	cout << "恭喜你,通关了!\n";
	cout << "下次更新 英雄 技能 道具 更多战斗系统 更多武器和防具 任务系统 经验与等级 材料(合成神器)....提前预告:下个版本 小镇2.0新的危机\n";
	system("pause");
}

void hui_xue() {
	q();
	if (sheng_ming < sheng_ming_zhi) {
		sheng_ming++;
		cout << "生命值加1";
	} else {
		cout << "生命值已满,回不了血";
	}
	Sleep(1000);
	q();
}

void xiao_ziyuan() {
	q();
	cout << "恭喜你获得 金币+2";
	jb += 2;
	Sleep(1000);
	q();
}

void da_ziyuan() {
	q();
	cout << "恭喜你获得 金币+5";
	jb += 5;
	Sleep(1000);
	q();
}

void da_guai() {
	q();
	int bguai_xue;
	cout << "即将跟大怪物战斗\n";
	bguai_xue = 12;
	while (1) {
		if (sheng_ming <= 0) {
			cout << "你被大怪打死了";
			Sleep(1000);
			q();
			break;
		}
		if (bguai_xue <= 0) {
			cout << "你打败了大怪";
			Sleep(1000);
			q();
			break;
		}
		cout << "\n1.攻击 2.防御(暂时获得1血)\n";
		cout << "请输入:";
		cin >> c;
		if (c == 1) {
			bguai_xue -= shang_hai;
			cout << "\n成功造成攻击\n";
			Sleep(500);
			cout << "你受到伤害*5";
			sheng_ming -= 5;
		}
		if (c == 2) {
			sheng_ming++;
			sheng_ming -= 5;
		}
		cout << "\n你的生命:" << sheng_ming;
		cout << "\n怪物的生命:" << bguai_xue;
	}
}

void xiao_guai() {
	q();
	int sguai_xue;
	cout << "即将跟小怪物战斗\n";
	sguai_xue = 6;
	while (1) {
		if (sheng_ming <= 0) {
			cout << "你被小怪打死了";
			Sleep(1000);
			q();
			break;
		}
		if (sguai_xue <= 0) {
			cout << "你打败了小怪";
			Sleep(1000);
			q();
			break;
		}
		cout << "\n1.攻击 2.防御(暂时获得1血)\n";
		cout << "请输入:";
		cin >> c;
		if (c == 1) {
			sguai_xue -= shang_hai;
			cout << "\n成功造成攻击\n";
			Sleep(500);
			cout << "你受到伤害*5";
			sheng_ming -= 3;
		}
		if (c == 2) {
			sheng_ming++;
			sheng_ming -= 3;
		}
		cout << "\n你的生命:" << sheng_ming;
		cout << "\n怪物的生命:" << sguai_xue;
	}
}

void s_1() {
	cout << "\t";
	cout << "小镇";
	Sleep(500);
	cout << "1.0";
	Sleep(500);
	cout << "地下城";
	Sleep(1000);
	q();
	zi_mu_1();
}

void player_zi_liao() {
	q();
	cout << "\n    名字:" << xing_ming << endl;
	cout << "    金币:" << jb << endl;
	cout << "    伤害:" << shang_hai << endl;
	cout << "    生命:" << sheng_ming << endl;
	Sleep(2000);
	game_1();
}

void player() {
	q();
	cout << "勇士,请输入你的姓名:";
	cin >> xing_ming;
	game_1();
}

void q() {
	system("cls");
}

void zi_mu_1() {
	cout << "卡罗特小镇的资源一天天流逝,直到今天,资源严重缺乏,你身为勇士,不愿看到大家一个一个被饿死,决定去地下城闯一闯\n";
	system("pause");
	q();
	player();
}

void game_1() {
	q();
	cout << "\n";
	cout << "\t\t小镇\n\n";
	cout << "\t1.去地下城  2.铁匠铺  3.个人资料 4.查看下个版本更新内容 \n";
	cout << "你选择:";
	cin >> l;
	if (l == 2) {
		shop();
	}
	if (l == 3) {
		player_zi_liao();
	}
	if (l == 1) {
		game_2();
	}
	if (l == 4) {
		cout << "下次更新 英雄 技能 道具 更多战斗系统 更多武器和防具 任务系统 经验与等级 材料(合成神器)....提前预告:下个版本 小镇2.0新的危机\n";
		system("pause");
		game_1();
	}
}

void shi_bai() {
	q();
	cout << "你死亡了(装备不掉落)";
	Sleep(1000);
	q();
	game_1();
}



void game_2() {
	q();
	int i, k;
	for (i = 0; i < 14; i++)
		for (k = 0; k < 100; k++) {
			a[i][k] = b[i][k];
		}
	int x = 6, y = 5;
	for (i = 0; i <= 12; i++)
		cout << a[i] << endl;
	char ch;
	while (1) {
		if (sheng_ming <= 0) {
			shi_bai();
		}
		ch = getch();
		if (ch == 'w') { //S小怪 M大怪 O入口 0你的位置 R小资源 H大资源 @传送门 -道路 |道路 X回血
			if (a[x - 1][y] == '-' || a[x - 1][y] == '|' || a[x - 1][y] == 'R' || a[x - 1][y] == 'S' || a[x - 1][y] == 'M'
			        || a[x - 1][y] == 'H' || a[x - 1][y] == 'X') {
				if (a[x - 1][y] == 'H') {
					q();
					da_ziyuan();
					q();
				}
				if (a[x - 1][y] == 'R') {
					q();
					xiao_ziyuan();
					q();
				}
				if (a[x - 1][y] == 'S') {
					q();
					xiao_guai();
					q();
				}
				if (a[x - 1][y] == 'M') {
					q();
					da_guai();
					q();
				}
				if (a[x - 1][y] == 'X') {
					q();
					hui_xue();
					q();
				}
				if (a[x + 1][y] != ' ' || a[x - 1][y] != ' ') {
					a[x][y] = '|';
				} else {
					a[x][y] = '-';
				}
				x--;
				a[x][y] = '0';
				q();
				for (i = 0; i <= 12; i++)
					cout << a[i] << endl;
			}
		}
		if (ch == 's') { //S小怪 M大怪 O入口 0你的位置 R小资源 H大资源 @传送门 -道路 |道路 X回血
			if (a[x + 1][y] == '-' || a[x + 1][y] == '|' || a[x + 1][y] == 'R' || a[x + 1][y] == 'S' || a[x + 1][y] == 'M'
			        || a[x + 1][y] == 'H' || a[x + 1][y] == 'X') {
				if (a[x + 1][y] == 'H') {
					q();
					da_ziyuan();
					q();
				}
				if (a[x + 1][y] == 'R') {
					q();
					xiao_ziyuan();
					q();
				}
				if (a[x + 1][y] == 'S') {
					q();
					xiao_guai();
					q();
				}
				if (a[x + 1][y] == 'M') {
					q();
					da_guai();
					q();
				}
				if (a[x + 1][y] == 'X') {
					q();
					hui_xue();
					q();
				}
				if (a[x + 1][y] != ' ' || a[x - 1][y] != ' ') {
					a[x][y] = '|';
				} else {
					a[x][y] = '-';
				}
				x++;
				a[x][y] = '0';
				q();
				for (i = 0; i <= 12; i++)
					cout << a[i] << endl;


			}
		}
		if (ch == 'a') { //S小怪 M大怪 O入口 0你的位置 R小资源 H大资源 @传送门 -道路 |道路 X回血
			if (a[x][y - 1] == '-' || a[x][y - 1] == '|' || a[x][y - 1] == 'R' || a[x][y - 1] == 'S' || a[x][y - 1] == 'M'
			        || a[x][y - 1] == 'H' || a[x][y - 1] == 'X') {
				if (a[x][y - 1] == 'H') {
					q();
					da_ziyuan();
					q();
				}
				if (a[x][y - 1] == 'R') {
					q();
					xiao_ziyuan();
					q();
				}
				if (a[x][y - 1] == 'S') {
					q();
					xiao_guai();
					q();
				}
				if (a[x][y - 1] == 'M') {
					q();
					da_guai();
					q();
				}
				if (a[x][y - 1] == 'X') {
					q();
					hui_xue();
					q();
				}
				if (a[x][y + 1] != ' ' || a[x][y - 1] != ' ') {
					a[x][y] = '-';
				} else {
					a[x][y] = '|';
				}
				y--;
				a[x][y] = '0';
				q();
				for (i = 0; i <= 12; i++)
					cout << a[i] << endl;


			}
		}
		if (ch == 'd') { //S小怪 M大怪 O入口 0你的位置 R小资源 H大资源 @传送门 -道路 |道路 X回血
			if (a[x][y + 1] == '-' || a[x][y + 1] == '|' || a[x][y + 1] == 'R' || a[x][y + 1] == 'S' || a[x][y + 1] == 'M'
			        || a[x][y + 1] == 'H' || a[x][y + 1] == 'X' || a[x][y + 1] == '@') {
				if (a[x][y + 1] == 'H') {
					q();
					da_ziyuan();
					q();
				}
				if (a[x][y + 1] == '@') {
					q();
					sheng_li();
					break;
				}
				if (a[x][y + 1] == 'R') {
					q();
					xiao_ziyuan();
					q();
				}
				if (a[x][y + 1] == 'S') {
					q();
					xiao_guai();
					q();
				}
				if (a[x][y + 1] == 'M') {
					q();
					da_guai();
					q();
				}
				if (a[x][y + 1] == 'X') {
					q();
					hui_xue();
					q();
				}
				if (a[x][y + 1] != ' ' || a[x][y + 1] != ' ') {
					a[x][y] = '-';
				} else {
					a[x][y] = '|';
				}
				y++;
				a[x][y] = '0';
				q();
				for (i = 0; i <= 12; i++)
					cout << a[i] << endl;


			}
		}
	}
}


void shop() {
	q();
	cout << "欢迎光临!\n";
	cout << "请问你需要什么帮助? (注意:伤害和生命值是=关系,不是+的关系,比如你现在伤害是5,买了桃木剑是把伤害变为10,而不是加10)\n";
	cout << "1.桃木剑    10伤害 20金币\n";
	cout << "2.铁剑      15伤害 30金币\n";
	cout << "3.黄金剑    30伤害 40金币\n";
	cout << "4.钻石剑    40伤害 50金币\n";
	cout << "5.x光剑     50伤害 100金币\n";
	cout << "6.皮革甲    10生命 20金币\n";
	cout << "7.铁甲      15生命 30金币\n";
	cout << "8.黄金甲    30生命 40金币\n";
	cout << "9.钻石甲    40生命 50金币\n";
	cout << "10.激光披风 50生命 100金币\n";
	cout << "11.返回\n";
	cout << "请输入:";
	cin >> j;
	if (j == 1 || j == 6) {
		if (jb >= 20) {
			jb -= 20;
			if (j == 1)
				shang_hai = 10;
			else {
				sheng_ming = 10;
				sheng_ming_zhi = 10;
			}
			game_1();
		} else
			cout << "金币不够";
		game_1();
	}
	if (j == 2 || j == 7) {
		if (jb >= 30) {
			jb -= 20;
			if (j == 2)
				shang_hai = 15;
			else {
				sheng_ming = 15;
				sheng_ming_zhi = 15;
			}
			game_1();
		} else
			cout << "金币不够";
		game_1();
	}
	if (j == 3 || j == 8) {
		if (jb >= 40) {
			jb -= 40;
			if (j == 3)
				shang_hai = 30;
			else {
				sheng_ming = 30;
				sheng_ming_zhi = 30;
			}
			game_1();
		} else
			cout << "金币不够";
		game_1();
	}
	if (j == 4 || j == 9) {
		if (jb >= 50) {
			jb -= 50;
			if (j == 4)
				shang_hai = 40;
			else {
				sheng_ming = 40;
				sheng_ming_zhi = 40;
			}
			game_1();
		} else
			cout << "金币不够";
		game_1();
	}
	if (j == 5 || j == 10) {
		if (jb >= 100) {
			jb -= 100;
			if (j == 5)
				shang_hai = 50;
			else {
				sheng_ming = 50;
				sheng_ming_zhi = 50;
			}
			game_1();
		} else
			cout << "金币不够";
		game_1();
	}
	if (j == 11) {
		game_1();
	}
}

int main() {
	system("title 小镇1.0地下城");
	s_1();
	return 0;
}

地下城大战代码!!!

如果你喜欢的话,记得一键三连哦!求求了,这对我很重要!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值