本人用了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");
}
}