作业大作战游戏1.0版本

本人用了1个半月的时间做出了这个游戏,快来看看吧~

注意:此游戏仅为1.0版本,需要Dev-c++。

#include <iostream>
#include <windows.h>
#include <time.h>
int m, Blood_volume;
void output1();
void HideCursor();
void Homework_Monster();
void exit();
void first_day();
void second_day(int now_Blood_volume);
void third_day(int now_Blood_volume);
void fourth_day(int now_Blood_volume);
void first_BOSS(int now_Blood_volume);
void sixth_day(int now_Blood_volume);
void seventh_day(int now_Blood_volume);
void eighth_day(int now_Blood_volume);
void nineth_day(int now_Blood_volume);
void second_BOSS(int now_Blood_volume);
void gameplay();
int main() {
	system("color 03");system("color FA");system("mode con cols=60 lines=30");
	HideCursor();
	printf("欢迎来到打作业怪游戏\n\n");Sleep(2000);
	printf("作者:NOIP1ding_c\n\n");Sleep(2000);
	system("cls");
	std::cout << "健康游戏忠告:" << std::endl;
	std::cout << "抵制不良游戏,拒绝盗版游戏。" << std::endl;
	std::cout << "注意自我保护,谨防受骗上当。" << std::endl;
	std::cout << "适度游戏益脑,沉迷游戏伤身。" << std::endl;
	std::cout << "合理安排时间,享受健康生活。" << std::endl;
	Sleep(10000);
	system("cls");
	printf("     作业大作战(1.0版本)\n");
	printf("----------------------------\n");
	printf("▏                          ▏\n");
	printf("▏         1.play           ▏\n");
	printf("▏         2.exit           ▏\n");
	printf("▏    3.view Background     ▏\n");
	printf("▏        4.gameplay        ▏\n");
	printf("▏                          ▏\n");
	printf("----------------------------\n\n");
	scanf("%d", &m);
	switch(m) {
		case 1:
			Homework_Monster();
			break;
		case 2:
			exit();
			break;
		case 3:
			output1();
			break;
		case 4:
			gameplay();
			break;
		default:
			printf("输入错误,游戏结束!\n");
			return 0; 
	}
	return 0;
}
void HideCursor() {
	CONSOLE_CURSOR_INFO cursor_info = {1, 0};
	SetConsoleCursorInfo(GetStdHandle(STD_OUTPUT_HANDLE), &cursor_info);
}
void output1() {
	system("cls");
	printf("加载中...\n");
	Sleep(2000);
	system("cls");
	printf("你是一个小学生\n\n");
	printf("你每天都要打败不同的作业怪\n\n");
	system("pause");
	main();
}
void exit() {
	int answer;
	system("cls");
	printf("你确定要退出吗?(1或0)\n");
	scanf("%d", &answer);
	switch(answer) {
		case 1:
			printf("期待您的下次游玩!\n");
			break;
		case 0:
			printf("不早说嘛,非得现在才告诉我!\n");Sleep(2000);
			main();
			break;
		default:
			printf("继续游戏!\n");Sleep(2000);
			main();
	}
}
void gameplay() {
	system("cls");
	printf("加载中...\n");
	Sleep(2000);
	system("cls");
	printf("总共有10天\n");
	printf("每五关有一个BOSS\n");
	printf("可以每天回5滴血\n");
	printf("后续会更新商店\n");
	system("pause");
	main();
}
void Homework_Monster() {
	system("cls");
	printf("加载中...\n");
	Sleep(2000);
	system("cls");
	printf("请设置您的血量(不许超过10亿)\n");
	scanf("%d", &Blood_volume);
	if (Blood_volume < 100 || Blood_volume > 1000) {
		printf("范围为:100~1000\n");
		scanf("%d", &Blood_volume);
	}
	printf("让我们继续吧!\n");
	system("pause");
	system("cls");
	first_day();
}
void first_day() {
	printf("加载中...\n");
	Sleep(2000);
	system("cls");
	int now_Blood_volume = Blood_volume, yuwen = 5, choice;
	printf("来了一个语文怪\n");
	printf("当前状态:\n");
	printf("你:%d/%d\n", Blood_volume, Blood_volume);
	printf("敌人:%d/5\n", yuwen);
	while (true) {
		printf("是否打他?(1或0)\n");
		scanf("%d", &choice);
		if (choice == 1) {
			yuwen -= 10;
			now_Blood_volume -= 5;
			printf("他打了你5滴血\n");
			printf("你打了他10滴血\n");
			Sleep(3000);
		} else {
			now_Blood_volume -= 50;
			printf("逃跑失败!\n");
			printf("你掉了50滴血\n");
			Sleep(3000);
		}
		system("cls");
		printf("当前状态:\n");
		printf("你:%d/%d\n", now_Blood_volume, Blood_volume);
		printf("他:%d/5\n", yuwen);
		printf("是否回血?(1或0)\n");
		scanf("%d", &choice);
		if (choice == 1) {
			now_Blood_volume += 5;
			if (now_Blood_volume > Blood_volume)
				now_Blood_volume = Blood_volume;
		}
		if (yuwen <= 0) {
			printf("他死了!\n");
			printf("你胜利了!\n");
			system("pause");
			break;
		}
		if (now_Blood_volume <= 0) {
			printf("你死了!\n");
			system("pause");
			main();
		}
		system("pause");
		system("cls");
	}
	second_day(now_Blood_volume);
}
void second_day(int now_Blood_volume) {
	system("cls");
	printf("加载中...\n");
	Sleep(2000);
	system("cls");
	int dili = 10, choice;
	printf("来了一个地理怪\n");
	printf("当前状态:\n");
	printf("你:%d/%d\n", now_Blood_volume, Blood_volume);
	printf("敌人:%d/10\n", dili);
	while (true) {
		printf("是否打他?(1或0)\n");
		scanf("%d", &choice);
		if (choice == 1) {
			dili -= 10;
			now_Blood_volume -= 6;
			printf("他打了你6滴血\n");
			printf("你打了他10滴血\n");
			Sleep(3000);
		} else {
			now_Blood_volume -= 50;
			printf("逃跑失败!\n");
			printf("你掉了50滴血\n");
			Sleep(3000);
		}
		system("cls");
		printf("当前状态:\n");
		printf("你:%d/%d\n", now_Blood_volume, Blood_volume);
		printf("他:%d/10\n", dili);
		printf("是否回血?(1或0)\n");
		scanf("%d", &choice);
		if (choice == 1) {
			now_Blood_volume += 5;
			if (now_Blood_volume > Blood_volume)
				now_Blood_volume = Blood_volume;
		}
		if (dili <= 0) {
			printf("他死了!\n");
			printf("你胜利了!\n");
			system("pause");
			break;
		}
		if (now_Blood_volume <= 0) {
			printf("你死了!\n");
			system("pause");
			main();
		}
		system("pause");
		system("cls");
	}
	third_day(now_Blood_volume);
}
void third_day(int now_Blood_volume) {
	system("cls");
	printf("加载中...\n");
	Sleep(2000);
	system("cls");
	int yinyu = 15, choice;
	printf("来了一个英语怪\n");
	printf("当前状态:\n");
	printf("你:%d/%d\n", now_Blood_volume, Blood_volume);
	printf("敌人:%d/15\n", yinyu);
	while (true) {
		printf("是否打他?(1或0)\n");
		scanf("%d", &choice);
		if (choice == 1) {
			yinyu -= 10;
			now_Blood_volume -= 7;
			printf("他打了你7滴血\n");
			printf("你打了他10滴血\n");
			Sleep(3000);
		} else {
			now_Blood_volume -= 50;
			printf("逃跑失败!\n");
			printf("你掉了50滴血\n");
			Sleep(3000);
		}
		system("cls");
		printf("当前状态:\n");
		printf("你:%d/%d\n", now_Blood_volume, Blood_volume);
		printf("他:%d/15\n", yinyu);
		printf("是否回血?(1或0)\n");
		scanf("%d", &choice);
		if (choice == 1) {
			now_Blood_volume += 5;
			if (now_Blood_volume > Blood_volume)
				now_Blood_volume = Blood_volume;
		}
		if (yinyu <= 0) {
			printf("他死了!\n");
			printf("你胜利了!\n");
			system("pause");
			break;
		}
		if (now_Blood_volume <= 0) {
			printf("你死了!\n");
			system("pause");
			main();
		}
		system("pause");
		system("cls");
	}
	fourth_day(now_Blood_volume);
}
void fourth_day(int now_Blood_volume) {
	system("cls");
	printf("加载中...\n");
	Sleep(2000);
	system("cls");
	int lishi = 20, choice;
	printf("来了一个历史怪\n");
	printf("当前状态:\n");
	printf("你:%d/%d\n", now_Blood_volume, Blood_volume);
	printf("敌人:%d/20\n", lishi);
	while (true) {
		printf("是否打他?(1或0)\n");
		scanf("%d", &choice);
		if (choice == 1) {
			lishi -= 10;
			now_Blood_volume -= 8;
			printf("他打了你8滴血\n");
			printf("你打了他10滴血\n");
			Sleep(3000);
		} else {
			now_Blood_volume -= 50;
			printf("逃跑失败!\n");
			printf("你掉了50滴血\n");
			Sleep(3000);
		}
		system("cls");
		printf("当前状态:\n");
		printf("你:%d/%d\n", now_Blood_volume, Blood_volume);
		printf("他:%d/20\n", lishi);
		printf("是否回血?(1或0)\n");
		scanf("%d", &choice);
		if (choice == 1) {
			now_Blood_volume += 5;
			if (now_Blood_volume > Blood_volume)
				now_Blood_volume = Blood_volume;
		}
		if (lishi <= 0) {
			printf("他死了!\n");
			printf("你胜利了!\n");
			system("pause");
			break;
		}
		if (now_Blood_volume <= 0) {
			printf("你死了!\n");
			system("pause");
			main();
		}
		system("pause");
		system("cls");
	}
	first_BOSS(now_Blood_volume);
}
void first_BOSS(int now_Blood_volume) {
	system("cls");
	printf("加载中...\n");
	Sleep(2000);
	system("cls");
	int danyuanjuan = 30, choice;
	printf("BOSS来袭!\n");
	printf("当前状态:\n");
	printf("你:%d/%d\n", now_Blood_volume, Blood_volume);
	printf("他:%d/30\n", danyuanjuan);
	Sleep(2000);
	system("cls");
	for (int i = 1 ; ; i ++) {
		if (i % 5 == 0) {
			printf("你被他冻结了!\n");
			printf("你扣了10滴血\n");
			now_Blood_volume -= 10;
			continue;
		} else {
			printf("是否打他?(1或0)\n");
			scanf("%d", &choice);
			if (choice == 1) {
				danyuanjuan -= 10;
				now_Blood_volume -= 9;
				printf("他打了你9滴血\n");
				printf("你打了他10滴血\n");
				Sleep(3000);
			} else {
				now_Blood_volume -= 50;
				printf("逃跑失败!\n");
				printf("你掉了50滴血\n");
				Sleep(3000);
			}
		}
		system("cls");
		printf("当前状态:\n");
		printf("你:%d/%d\n", now_Blood_volume, Blood_volume);
		printf("他:%d/30\n", danyuanjuan);
		printf("是否回血?(1或0)\n");
		scanf("%d", &choice);
		if (choice == 1) {
			now_Blood_volume += 7;
			if (now_Blood_volume > Blood_volume)
				now_Blood_volume = Blood_volume;
		}
		if (danyuanjuan <= 0) {
			printf("他死了!\n");
			printf("你胜利了!\n");
			system("pause");
			break;
		}
		if (now_Blood_volume <= 0) {
			printf("你死了!\n");
			system("pause");
			main();
		}
		system("pause");
		system("cls");
	}
	sixth_day(now_Blood_volume);
}
void sixth_day(int now_Blood_volume) {
	system("cls");
	printf("加载中...\n");
	Sleep(2000);
	system("cls");
	int shenwu = 25, choice;
	printf("来了一个生物怪\n");
	printf("当前状态:\n");
	printf("你:%d/%d\n", now_Blood_volume, Blood_volume);
	printf("敌人:%d/25\n", shenwu);
	while (true) {
		printf("是否打他?(1或0)\n");
		scanf("%d", &choice);
		if (choice == 1) {
			shenwu -= 10;
			now_Blood_volume -= 9;
			printf("他打了你9滴血\n");
			printf("你打了他10滴血\n");
			Sleep(3000);
		} else {
			now_Blood_volume -= 50;
			printf("逃跑失败!\n");
			printf("你掉了50滴血\n");
			Sleep(3000);
		}
		system("cls");
		printf("当前状态:\n");
		printf("你:%d/%d\n", now_Blood_volume, Blood_volume);
		printf("他:%d/25\n", shenwu);
		printf("是否回血?(1或0)\n");
		scanf("%d", &choice);
		if (choice == 1) {
			now_Blood_volume += 8;
			if (now_Blood_volume > Blood_volume)
				now_Blood_volume = Blood_volume;
		}
		if (shenwu <= 0) {
			printf("他死了!\n");
			printf("你胜利了!\n");
			system("pause");
			break;
		}
		if (now_Blood_volume <= 0) {
			printf("你死了!\n");
			system("pause");
			main();
		}
		system("pause");
		system("cls");
	}
	seventh_day(now_Blood_volume);
}
void seventh_day(int now_Blood_volume) {
	system("cls");
	printf("加载中...\n");
	Sleep(2000);
	system("cls");
	int shuxue = 30, choice;
	printf("来了一个数学怪\n");
	printf("当前状态:\n");
	printf("你:%d/%d\n", now_Blood_volume, Blood_volume);
	printf("敌人:%d/30\n", shuxue);
	while (true) {
		printf("是否打他?(1或0)\n");
		scanf("%d", &choice);
		if (choice == 1) {
			shuxue -= 10;
			now_Blood_volume -= 10;
			printf("他打了你10滴血\n");
			printf("你打了他10滴血\n");
			Sleep(3000);
		} else {
			now_Blood_volume -= 50;
			printf("逃跑失败!\n");
			printf("你掉了50滴血\n");
			Sleep(3000);
		}
		system("cls");
		printf("当前状态:\n");
		printf("你:%d/%d\n", now_Blood_volume, Blood_volume);
		printf("他:%d/30\n", shuxue);
		printf("是否回血?(1或0)\n");
		scanf("%d", &choice);
		if (choice == 1) {
			now_Blood_volume += 8;
			if (now_Blood_volume > Blood_volume)
				now_Blood_volume = Blood_volume;
		}
		if (shuxue <= 0) {
			printf("他死了!\n");
			printf("你胜利了!\n");
			system("pause");
			break;
		}
		if (now_Blood_volume <= 0) {
			printf("你死了!\n");
			system("pause");
			main();
		}
		system("pause");
		system("cls");
	}
	eighth_day(now_Blood_volume);
}
void eighth_day(int now_Blood_volume) {
	system("cls");
	printf("加载中...\n");
	Sleep(2000);
	system("cls");
	int wuli = 35, choice;
	printf("来了一个物理怪\n");
	printf("当前状态:\n");
	printf("你:%d/%d\n", now_Blood_volume, Blood_volume);
	printf("敌人:%d/35\n", wuli);
	while (true) {
		printf("是否打他?(1或0)\n");
		scanf("%d", &choice);
		if (choice == 1) {
			wuli -= 10;
			now_Blood_volume -= 11;
			printf("他打了你11滴血\n");
			printf("你打了他10滴血\n");
			Sleep(3000);
		} else {
			now_Blood_volume -= 50;
			printf("逃跑失败!\n");
			printf("你掉了50滴血\n");
			Sleep(3000);
		}
		system("cls");
		printf("当前状态:\n");
		printf("你:%d/%d\n", now_Blood_volume, Blood_volume);
		printf("他:%d/35\n", wuli);
		printf("是否回血?(1或0)\n");
		scanf("%d", &choice);
		if (choice == 1) {
			now_Blood_volume += 8;
			if (now_Blood_volume > Blood_volume)
				now_Blood_volume = Blood_volume;
		}
		if (wuli <= 0) {
			printf("他死了!\n");
			printf("你胜利了!\n");
			system("pause");
			break;
		}
		if (now_Blood_volume <= 0) {
			printf("你死了!\n");
			system("pause");
			main();
		}
		system("pause");
		system("cls");
	}
	nineth_day(now_Blood_volume);
}
void nineth_day(int now_Blood_volume) {
	system("cls");
	printf("加载中...\n");
	Sleep(2000);
	system("cls");
	int huaxue = 40, choice;
	printf("来了一个化学怪\n");
	printf("当前状态:\n");
	printf("你:%d/%d\n", now_Blood_volume, Blood_volume);
	printf("敌人:%d/40\n", huaxue);
	while (true) {
		printf("是否打他?(1或0)\n");
		scanf("%d", &choice);
		if (choice == 1) {
			huaxue -= 10;
			now_Blood_volume -= 12;
			printf("他打了你12滴血\n");
			printf("你打了他10滴血\n");
			Sleep(3000);
		} else {
			now_Blood_volume -= 50;
			printf("逃跑失败!\n");
			printf("你掉了50滴血\n");
			Sleep(3000);
		}
		system("cls");
		printf("当前状态:\n");
		printf("你:%d/%d\n", now_Blood_volume, Blood_volume);
		printf("他:%d/40\n", huaxue);
		printf("是否回血?(1或0)\n");
		scanf("%d", &choice);
		if (choice == 1) {
			now_Blood_volume += 8;
			if (now_Blood_volume > Blood_volume)
				now_Blood_volume = Blood_volume;
		}
		if (huaxue <= 0) {
			printf("他死了!\n");
			printf("你胜利了!\n");
			system("pause");
			break;
		}
		if (now_Blood_volume <= 0) {
			printf("你死了!\n");
			system("pause");
			main();
		}
		system("pause");
		system("cls");
	}
	second_BOSS(now_Blood_volume);
}
void second_BOSS(int now_Blood_volume) {
	system("cls");
	printf("加载中...\n");
	Sleep(2000);
	system("cls");
	int yukaojuan = 60, choice;
	printf("BOSS来袭!\n");
	printf("当前状态:\n");
	printf("你:%d/%d\n", now_Blood_volume, Blood_volume);
	printf("他:%d/60\n", yukaojuan);
	Sleep(2000);
	system("cls");
	for (int i = 1 ; ; i ++) {
		if (i % 4 == 0) {
			printf("你被他冻结了!\n");
			printf("你扣了9滴血\n");
			now_Blood_volume -= 9;
			continue;
		} else {
			printf("是否打他?(1或0)\n");
			scanf("%d", &choice);
			if (choice == 1) {
				yukaojuan -= 10;
				now_Blood_volume -= 9;
				printf("他打了你9滴血\n");
				printf("你打了他10滴血\n");
				Sleep(3000);
			} else {
				now_Blood_volume -= 50;
				printf("逃跑失败!\n");
				printf("你掉了50滴血\n");
				Sleep(3000);
			}
		}
		system("cls");
		printf("当前状态:\n");
		printf("你:%d/%d\n", now_Blood_volume, Blood_volume);
		printf("他:%d/60\n", yukaojuan);
		printf("是否回血?(1或0)\n");
		scanf("%d", &choice);
		if (choice == 1) {
			now_Blood_volume += 10;
			if (now_Blood_volume > Blood_volume)
				now_Blood_volume = Blood_volume;
		}
		if (yukaojuan <= 0) {
			printf("你成功坚持了10天!\n");
			printf("You win!\n");
			system("pause");
			break;
		}
		if (now_Blood_volume <= 0) {
			printf("你死了!\n");
			system("pause");
			main();
		}
		system("pause");
		system("cls");
	}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值