末日求生游戏1.0.5版本
1.0.2版本: https://www.luogu.com.cn/discuss/show/337271 新版本! 谢谢大家的关注
#include<iostream>
#include<windows.h>
#include<time.h>
#include<conio.h>
using namespace std;
bool isszjm=false;
int ys=30;
bool jccj[7];
string jccjs[7]= {"","勇往直前-·我","背叛-·朋友","不顾一切-·朋友","气愤-·女儿","笑死-·我","变异-·女儿"};
bool jjcj[5];
string jjcjs[5]= {"","发疯-·我","冲啊!-·华广","失去意识-·华广","牛逼的我-·我"};
int read();
void qj5(),qj6(),qj7();
void qj4(),qj3();
int zd,jt,hy;
bool ishy=false;
bool isq=false;
void Slowsay(string a),clean(),tjys(),tjyse(),csjm(),ckcj(),tjyse(),gyyx(),szjm(),qj1(),qj2(),ksyx();
void be1(),be2(),be3();
bool isbe[100];
bool ishe[100];
bool iste[100];
int main() {zd=jt=hy=0;
csjm();
}
char wcolor='F';
void Slowsay(string a) {
int l=a.size();
for(int i=0; i<l; i++) {
cout<<a[i];
Sleep(ys);
}
printf("\n");
}
void clean() {
system("cls");
}
void tjys() {
int flag=false;
while(flag==false) {
cout << "你想要多快的语速呢?(字/毫秒)";
cin >> ys;
Slowsay("设置成功!\n\n是否满意?(1和0)");
cin >> flag;
}
clean();
}
int read() {
char ch=_getch();
ch-=48;
return (int)ch;
}
void sjts()
{
clean();
srand(time(0));
int r=rand()%3;
if(r==0)Slowsay("这个游戏主要靠闯.");
if(r==1)Slowsay("结合现实.");
if(r==2)Slowsay("你得想着自己运气好.");
int ch=read();
clean();
}
void tjyse() {
clean();
Slowsay("调节文字颜色");
Slowsay("请输入颜色");
Slowsay("0 = 黑色 8 = 灰色");
Slowsay("1 = 蓝色 9 = 淡蓝色");
Slowsay("2 = 绿色 A = 淡绿色");
Slowsay("3 = 浅绿色 B = 淡浅绿色");
Slowsay("4 = 红色 C = 淡红色");
Slowsay("5 = 紫色 D = 淡紫色");
Slowsay("6 = 黄色 E = 淡黄色");
Slowsay("7 = 白色 F = 亮白色");
wcolor=_getch();
switch(wcolor) {
case '0':
system("COLOR 0");
break;
case '1':
system("COLOR 1");
break;
case '2':
system("COLOR 2");
break;
case '3':
system("COLOR 3");
break;
case '4':
system("COLOR 4");
break;
case '5':
system("COLOR 5");
break;
case '6':
system("COLOR 6");
break;
case '7':
system("COLOR 7");
break;
case '8':
system("COLOR 8");
break;
case '9':
system("COLOR 9");
break;
case 'a':
case 'A':
system("COLOR A");
break;
case 'b':
case 'B':
system("COLOR B");
break;
case 'c':
case 'C':
system("COLOR C");
break;
case 'd':
case 'D':
system("COLOR D");
break;
case 'e':
case 'E':
system("COLOR E");
break;
case 'f':
case 'F':
system("COLOR F");
break;
default:
Slowsay("输入无效\n");
}
clean();
}
void csjm() {
Slowsay("1.进入游戏");
Slowsay("2.查看成就(获得全部成就通关游戏)");
Slowsay("3.关于游戏");
Slowsay("4.设置");
Slowsay("5.获得随机提示");
int ch=read();
if(ch==1) {
ksyx();
csjm();
}
if(ch==2) {
ckcj();
csjm();
}
if(ch==3) {
gyyx();
csjm();
}
if(ch==4) {
szjm();
csjm();
}
if(ch==5) {
sjts();
csjm();
}
}
void ckcj() {
clean();
Slowsay("\t基础成就:");
for(int i = 1; i <= 6; i++) {
if(jccj[i]==false) {
Slowsay("\t\t??????");
} else {
Slowsay(jccjs[i]);
}
}
Slowsay("\t进阶成就:");
for(int i = 1; i <= 6; i++) {
if(jccj[i]==false) {
Slowsay("\t\t??????");
} else {
Slowsay(jjcjs[i]);
}
}
clean();
}
void gyyx() {
Slowsay("作者:YZL");
Slowsay("作者微信:lang_zu3");
Slowsay("版本:1.0.5");
int read();
clean();
}
void szjm() {
clean();
isszjm=true;
Slowsay("这里是设置界面.\n");
Slowsay("游戏中只要按0键就可以进入");
Slowsay("再次按0键就可以退出\n");
Slowsay("1.调节语速\n");
Slowsay("2.调节颜色\n");
while(true) {
int ch=read();
if(ch==1) {
tjys();
szjm();
}
if(ch==2) {
tjyse();
szjm();
}
if(ch==0) {
Slowsay("正在在退出设置界面...");
clean();
return;
}
}
}
void be1()
{
clean();
Slowsay("你拼命挣扎,但没用.\n");
Sleep(1000);
clean();
Slowsay("你,淹死了\n");
Slowsay("坏结局 1");
int ch=read();
clean();
}
void be2()
{
clean();
Slowsay("疼痛瞬间蔓延了你的全身.\n");
Slowsay("你,中毒而死.\n");
Slowsay("坏结局 2");
}
void be3()
{
clean();
Slowsay("你,被炸死");
Slowsay("坏结局 3");
}
void qj5()
{
clean();
Slowsay("你生起了火,把火药放上去烤.\n");
Slowsay("火药滋滋的响.\n");
Slowsay("你感到不妙.\n");
int ch=read();
be3();
}
void qj6()
{
clean();
Slowsay("你感到饿了,抓起一个鸡腿吃了起来.鸡腿-1");
jt-=1;
Slowsay("你吃完鸡腿,感觉体力满了.");
Slowsay("你决定\n1.出去走走\n2.呆在家里");
int ch=read();
}
void qj7()
{
clean();
Slowsay("你把火药拿出去晒.\n");
Slowsay("忽然一阵风,把你的火药吹进了河里.火药=0\n");
hy=0;
Slowsay("你垂头丧气地回了家.\n");
Slowsay("你吃了一个鸡腿,鸡腿-1");
}
void qj3()
{
clean();
Slowsay("你走回了家.\n");
Slowsay("你看见家里有一些木柴.\n");
Slowsay("你想\n1.把火药烤干\n2.不烤\n3.把火药晒干");
int ch=read();
if(ch==1)
{
qj5();
}
else if(ch==2)
{
qj6();
}
else
{
qj7();
}
}
void qj4()
{
clean();
Slowsay("你向东走去\n");
Slowsay("你发现了一个奇怪生物.\n");
Slowsay("你赶紧跑向家.\n");
Slowsay("但没用,奇怪生物爬了过来,咬了你一口.\n");
Slowsay("你瞬间感觉腿痛的要断了.\n");
be2();
}
void qj1() {
clean();
Slowsay("你出了家门,很庆幸没有异常.\n");
Slowsay("你在附近的河上发现了一个漂浮的尸体.\n");
Slowsay("你连忙跑过去打捞起尸体.\n");
Slowsay("你在尸体的口袋里翻找,找到了一把手枪,但是火药湿水了.\n");
Slowsay("你又在尸体身上发现了几枚子弹,但没有火药用不了.\n");
Slowsay("你又在尸体身上找到了3个鸡腿.\n");
Slowsay("鸡腿+3,子弹+5,火药+3*(*代表用不了)\n");
jt+=3,zd+=5,hy+=3;
ishy=false;
isq=true;
Slowsay("你想\n1.回家\n2.再找一些物资\n");
int ch=read();
if(ch==1)
{
qj3();
}
if(ch==2)
{
qj4();
}
}
void qj2() {
Slowsay("你留在家里饿了一天,你必须要出去找食物.\n");
Slowsay("你在河里发现了一个尸体,你下意识地跳下水抓尸体.\n");
Slowsay("你体力不支.\n");
be1();
}
void ksyx() {
clean();
Slowsay("欢迎来到末日求生DAN版!!!\n");
int ch=read();
if(ch==0) {
if(isszjm==false) {
Slowsay("正在在切换到设置界面...");
clean();
szjm();
}
}
clean();
Slowsay("1914年7月28日 一战爆发...\n");
Slowsay("1939年9月01日 二战爆发...\n");
ch=read();
if(ch==0) {
if(isszjm==false) {
Slowsay("正在在切换到设置界面...");
clean();
szjm();
}
}
clean();
Slowsay("2037年5月09日 三战爆发...才怪\n");
Sleep(1000);
clean();
Slowsay("2037年5月09日 世界末日.\n");
Slowsay("你需要奋力抵抗.\n");
Slowsay("你现在一无所有.\n");
Slowsay("是否出去找物资?\n1.是\n2.否\n");
ch=-1;
while(ch!=1&&ch!=2) {
ch=read();
if(ch==1) {
qj1();
}
if(ch==2) {
qj2();
}
if(ch==0) {
if(isszjm==false) {
Slowsay("正在在切换到设置界面...这是设置的最后一次机会,请认真设置!\n");
clean();
szjm();
}
}
if(ch!=1&&ch!=2&&ch!=0) {
Slowsay("无效输入\n");
}
}
}