小人战争
#include<bits/stdc++.h>
#include<string>
#include<windows.h>
#include<conio.h>
#include<fstream>
#include<ctime>
#include<time.h>
#include<stdio.h>
using namespace std;//标准命名空间
ifstream f01,f02,f03,f04,f05,f06,f07,f08,f09,f010;//剧情关 团结关
ofstream f11,f12,f13,f14,f15,f16,f17,f18,f19,f110;
int jq1,tj1,jh,hj,hy;//剧情关卡 小人关卡
void slow (string start,int gouj)//慢慢输出文字
{
int i;
for (i=0;i<start.size ();i++)
{
cout<<start[i];
Sleep (gouj);
}
return;
}
void band (bool rr1,bool rr2,bool rr3)
{
cout<<"请输入";
if (rr1)
{
cout<<"数字 ";
}
if (rr2)
{
cout<<"字符 ";
}
if (rr3)
{
cout<<"字符串";
}
}
void jz ()
{
for (int i=1;i<=20;i++)
{
cout<<"\n\n\n\n\n\n\n\t\t正在加载中..............\n\n\n\t\t";
for (int j=1;j<=i;j++)
{
cout<<"-";
}
cout<<i*5<<"%";
Sleep (i*100);
system ("cls");
}
system ("cls");
return;
}
void dr ()
{
f01.open ("剧情关卡.txt"); //打开text.txt
f01>>jq1; //在text.txt中输出一个数
f01.close(); //关闭文件
f02.open ("团结关卡.txt"); //打开text.txt
f02>>tj1; //在text.txt中输出一个数
f02.close(); //关闭文件
f03.open ("会员1.txt"); //打开text.txt
f03>>jh; //在text.txt中输出一个数
f03.close(); //关闭文件
f04.open ("会员2.txt"); //打开text.txt
f04>>hj; //在text.txt中输出一个数
f04.close(); //关闭文件
f05.open ("会员3.txt"); //打开text.txt
f05>>hy; //在text.txt中输出一个数
f05.close(); //关闭文件
}
void bc ()
{
f11.open ("剧情关卡.txt"); //打开text.txt
f11<<jq1; //在text.txt中输出一个数
f11.close(); //关闭文件
f12.open ("团结关卡.txt"); //打开text.txt
f12<<tj1; //在text.txt中输出一个数
f12.close(); //关闭文件
f13.open ("会员1.txt"); //打开text.txt
f13<<jh; //在text.txt中输出一个数
f13.close(); //关闭文件
f14.open ("会员2.txt"); //打开text.txt
f14<<hj; //在text.txt中输出一个数
f14.close(); //关闭文件
f15.open ("会员3.txt"); //打开text.txt
f15<<hy; //在text.txt中输出一个数
f15.close(); //关闭文件
}
void gg1 ()
{
slow ("判断倍数小秘诀---",100);
system ("cls");
slow ("双数是二的倍数---",100);
system ("cls");
slow ("数字和是三的倍数那就是三的倍数",65);
system ("cls");
slow ("末两位是四的倍数那就是四的倍数",65);
system ("cls");
slow ("末一位是零或五那么就是五的倍数",65);
system ("cls");
slow ("数字和是三的倍数且被二整除那就是六的倍数",50);
system ("cls");
slow ("三位积段求差是七的倍数那么它就是七的倍数",50);
system ("cls");
slow ("末三位是八的倍数那就是八的倍数",65);
system ("cls");
slow ("数字和是九的倍数那就是九的倍数",65);
system ("cls");
slow ("末一位是零的话那么就是十的倍数",65);
system ("cls");
slow ("一位积段求差是十一的倍数那就是十一的倍数",50);
system ("cls");
slow ("是三的倍数且是四的倍数那么就是十二的倍数",50);
system ("cls");
slow ("三位积段求差试试三的倍数那就是十三的倍数",50);
system ("cls");
slow ("是二的倍数且是七的倍数那么就是十四的倍数",50);
system ("cls");
slow ("是三的倍数且是五的倍数那么就是十五的倍数",50);
system ("cls");
return;
}
void gg2 ()
{
slow ("大家好,我是于氏之子于沐阳,C++非常的有趣,你们现在玩的剧情 小人战争都是C++写出来的代码,如想获得128个游戏代码,请输入斐波那契数列的100项---",214);
string idx2;
cin>>idx2;
system ("cls");
if (idx2=="3736710778780434371")
{
slow ("网址是https://www.luogu.com.cn/blog/wuwendongxi/c-you-xi-suo-yin 千万不要复制网址,要手抄,否则将会自行关闭运行框,且不会保存!!!!!\n",50);
system ("pause");
}
else
{
cout<<"错误\n";
system ("pause");
}
system ("cls");
return;
}
void gg3 ()
{
slow ("大家好,我是于沐阳的妹妹,小名叫丫丫,我建议大家购买一个玩具叫:香蕉banana玩具,这个玩具非常软,拿着很舒服,我哥哥在升旗仪式主席台的照片上可有我抱着香蕉玩具的哟,我在6月还获得了一个新香蕉玩具!!!",310);
system ("cls");
}
void gg ()
{
srand(time(NULL));
int idx1=rand ()%3+1;
system ("cls");
if (idx1==1)
{
gg1 ();
}
else if (idx1==2)
{
gg2 ();
}
else
{
gg3 ();
}
return;
}
void x1 ()
{
int idx5,idx6;
r11:
system ("color 9E");
system ("cls");
slow ("你(是于同学)回到了选班委(13人/40人)的时候,你那时是班里的小透明,所以你什么官都没有当上",50);
system ("pause");
system ("cls");
r12:
system ("color 9E");
system ("cls");
slow ("你和同学们都是小小年纪啊啥都不懂,你要查看班委表吗 1要 2不要:",50);
cin>>idx5;
system ("cls");
if (idx5!=1)
{
system ("color E9");
slow ("你不知道谁干什么,同学们渐渐的都讨厌你,某天趁你不注意赵同学把你一脚踢出窗外,你摔在了地上,当场毙命---\n1重来(需要看1个广告)\t2退出\t3从本章节玩:",50);
cin>>idx6;
system ("cls");
if (idx6==1)
{
gg ();
goto r12;
}
else if (idx6==3)
{
goto r11;
}
else
{
return;
}
}
system ("color 9E");
system ("cls");
slow ("班长:赵同学\t副班长:钱同学\n中队委:孙同学 李同学 周同学 吴同学 郑同学\n\n小队长:王同学 冯同学 陈同学 褚同学 卫同学 蒋同学\n",50);
system ("pause");
r13:
system ("color 9E");
system ("cls");
slow ("你通关了!",100);
jq1++;
Sleep (1000);
system ("cls");
return;
}
void x2 ()
{
int idx7,idx8;
r21:
system ("color 9E");
system ("cls");
slow ("赵同学是一个很坏的人,他把邪恶的不文明用于和动作变成了“不文明病毒”,不文明病毒扩散很快,再文明的人都禁不起诱惑,任务:你需要在有限时间内清除病毒,不过中途非常危险.\n祝你好运\n---于沐阳\n",50);
system ("pause");
system ("cls");
r22:
system ("color 9E");
system ("cls");
slow ("11月1日 赵同学居高临下的问你:大笨笨,你要不要参加不文明病毒木马集团? \n请做选择 1加入 2不加入 3告老师:",50);
cin>>idx7;
system ("cls");
if (idx7!=2)
{
system ("color E9");
if (idx7==1)
{
slow ("12月1日 你不文明表现被老师发现,你被在午时三刻(11:45)绑在讲台上,一堆同学往你身上吐口水,你的一只眼睛因此失明,不久你被凌迟处死\n1重来(要看1个广告)\t2回到本章节\t3退出",50);
}
else if (idx7==3)
{
slow ("老师不相信你的话,12月1日, 赵同学的知你尽然敢告他的状,他大喝一声,一堆同学们用刀挖你的眼睛 掏你肝脏 打断你的胳膊和腿,不一会,你失血过多而死,好比做了凌迟处死,只不过不在午时三刻--- \n1重来(要看一个广告)\t2回到本章节\t3退出:",50);
}
else
{
slow ("赵同学见你不理他,以居高临下 智障 脑回路长的罪名把你于正午斩于班外,让你连厉鬼都做不成---\n1重来(需要看1个广告)\t2回到本章节\t3退出:",50);
}
cin>>idx8;
system ("cls");
if (idx8==1)
{
gg ();
goto r22;
}
else if (idx8==2)
{
goto r21;
}
else
{
return;
}
}
r23:
system ("color 9E");
system ("cls");
slow ("随着时间的流逝,老师发现你是一个文明的孩子,老师非常高兴\n1月1日,你发现一个讨厌鬼在翻你的钱包,你非常的生气,请问你要怎么做\n1杀了他\t2给他一个出其不意一脚把他踢出十万八千里\t3让他说对不起\t4鄙视他:",50);
cin>>idx7;
system ("cls");
if (idx7<0 || idx7>4)
{
MessageBox (NULL,TEXT ("输入错误!!!"),TEXT (""),MB_OK);
goto r23;
}
if (idx7!=3)
{
system ("color E9");
if (idx7==1)
{
slow ("杀人得偿命,你被判处死刑,连个尸体都没有留下",50);
}
else if (idx7==2)
{
slow ("你不小心踢到了桌子,当场断了一条腿,讨厌鬼看见后把你杀了",50);
}
else if (idx7==4)
{
slow ("你鄙视的动作被老师看见,老师发现你是假文明,把你把在主席台上吊了一百圈99.99999999999999%的概率会掉下来摔死,就算活了下来你也会被塞进大炮达到平流层后摔死",50);
}
slow ("\n1重来(需要看2个广告)\t2回到本章节\t3退出:",50);
cin>>idx8;
if (idx8==1)
{
gg ();
gg ();
goto r23;
}
else if (idx8==2)
{
goto r21;
}
else
{
return;
}
}
system ("color 9E");
system ("cls");
slow ("那个同学意识到自己做错了,想你道了歉后和你成为了朋友,他是杨同学,你通过他还和沈同学,韩同学成为了朋友\n",50);
system ("pause");
system ("cls");
cout<<"恭喜通关";
Sleep (1000);
system ("cls");
jq1++;
return;
}
void xx ()
{
while (1)
{
cout<<"\n\n\n\n\n\t\t0退出\n";
if (jq1>=1)
{
slow ("\t\t1 透明的你\n",50);
}
if (jq1>=2)
{
slow ("\t\t2 文明的你\n",50);
}
if (jq1>=3)
{
slow ("\t\t3 绝望的你\n",50);
}
cout<<"\t\t";
band (true,false,false);
int idx4;
cin>>idx4;
if (idx4==0)
{
break;
}
system ("cls");
if (idx4<0 || idx4>jq1)
{
MessageBox (NULL,TEXT ("输入错误!!!"),TEXT (""),MB_OK);
continue;
}
if (idx4==1)
{
x1 ();
}
else if (idx4==2)
{
x2 ();
}
}
return;
}
void jq ()
{
if (!hy)
{
jz ();
}
while (1)
{
system ("cls");
cout<<"\n\n\n\n\n";
slow ("\t\t1开始\n\n\t\t2离开\n\n\t\t",50);
band (true,false,false);
int idx3;
cin>>idx3;
system ("cls");
if (idx3<1 || idx3>2)
{
MessageBox (NULL,TEXT ("输入错误!!!"),TEXT (""),MB_OK);
continue;
}
if (idx3==2)
{
return;
}
xx ();
}
return;
}
void tj ()
{
int hr1,hr2,sj1,sj2,za1,za2,ddr;
hr1=tj1+1;
hr2=tj1*2;
double sj11,sj21,za11,za21;
sj11=(tj1-1)*0.1+1.0;
sj1=int (sj11);
sj21=(tj1-1)*0.2+3.0;
sj2=int (sj21);
za11=(tj1-1)*0.1+1.0;
za1=int (za11);
za21=(tj1-1)*0.2+3.0;
za2=int (za21);
ddr=30+(tj1*3);
if (!hy)
{
jz ();
}
int cur15=true,cur16,cur17=false;
while (1)
{
system ("cls");
cout<<"\n\n\n\n\n";
slow ("\t\t1下一关\n\n\t\t2离开\n\n\t\t",50);
band (true,false,false);
int cur2;
cin>>cur2;
system ("cls");
if (cur2<1 || cur2>2)
{
MessageBox (NULL,TEXT ("输入错误!!!"),TEXT (""),MB_OK);
continue;
}
if (cur2==2)
{
if (cur15==true)
{
tj1++;
}
return;
}
if (cur15==true)
{
if (cur17==true)
{
tj1++;
hr1+=1;
hr2+=2;
sj11+=0.1;
sj1=int (sj11);
sj21+=0.2;
sj2=int (sj21);
za11+=0.1;
za1=int (za11);
za21+=0.2;
za2=int (za21);
ddr+=3;
}
srand(time(NULL));
cur16=rand ()%(hr2-hr1+1)+hr1;
}
cur17=true;
cout<<"\n\t\t第"<<tj1<<"关\n\n\n\n\n";
srand(time(NULL));
int cur3=rand()%(sj2-sj1+1)+sj1,cur5=0;
slow ("\t\t你收集了",50);
cout<<cur3<<"次\n";
for (int i=1;i<=cur3;i++)
{
slow ("\t\t你收集了",50);
srand(time(NULL));
int cur4;
if (hy)
{
cur4=rand()%16+10;
}
else
{
cur4=rand()%15+1;
}
cout<<cur4<<"人\n\n";
cur5+=cur4;
}
slow ("\t\t你共有(不包括你)",50);
cout<<cur5<<"人\n\n\t\t";
system ("pause");
system ("cls");
cout<<"\n\t\t第"<<tj1<<"关\n\n\n\n\n";
srand(time(NULL));
int cur6=rand()%(za2-za1+1)+za1,cur8=0;
slow ("\t\t前方有",50);
cout<<cur6<<"个障碍物\n";
cur8=cur5;
int der=0;
for (int i=1;i<=cur6;i++)
{
slow ("\t\t你死了",50);
srand(time(NULL));
int cur7=rand()%10+1;
if (!hy)
{
if (cur7==1)
{
cout<<0<<"人(避开了障碍)\n\n";
cur8-=0;
}
if (cur7>=2 && cur7<=4)
{
cout<<3<<"人\n\n";
cur8-=3;
}
if (cur7>=5 && cur7<=9)
{
cout<<5<<"人\n\n";
cur8-=5;
}
if (cur7==10)
{
cout<<cur8/2<<"人\n\n";
cur8/=2;
}
if (cur8<0)
{
der=1;
slow ("\t\t你的所有人(包括你)都被撞死了,请从新玩\n\n\t\t",50);
system ("pause");
cur15=false;
break;
}
}
else
{
if (cur7>=1 && cur7<=6)
{
cout<<0<<"人(避开了障碍)\n\n";
cur8-=0;
}
if (cur7>=7 && cur7<=8)
{
cout<<1<<"人\n\n";
cur8-=1;
}
if (cur7==9)
{
cout<<2<<"人\n\n";
cur8-=2;
}
if (cur7==10)
{
cout<<cur8/4<<"人\n\n";
cur8/=4;
}
if (cur8<0)
{
der=1;
slow ("\t\t你的所有人(包括你)都被撞死了,请从新玩\n\n\t\t",50);
system ("pause");
cur15=false;
break;
}
}
}
if (der==1)
{
continue;
}
slow ("\t\t你还剩(不包括你(你算1个人))",50);
cout<<cur8<<"人\n\n\t\t";
system ("pause");
system ("cls");
srand(time(NULL));
int cur11=rand()%2+1;
if (cur11==1)
{
cout<<"\n\t\t第"<<tj1<<"关\n\n\n\n\n";
slow ("\t\t前方有一个神秘按钮 你要按吗 1按 否则不按\n\n\t\t",50);
srand(time(NULL));
int cur10=rand()%10+1;
if (hy)
{
if (cur10>=1 && cur10<=6)
{
cout<<"(红按钮)";
}
else
{
cout<<"(绿按钮)";
}
}
band (true,false,false);
int cur12;
cin>>cur12;
if (cur10>=1 && cur10<=6)
{
slow ("\t\t那是一个红按钮\n\n",50);
if (cur12==1)
{
slow ("\t\t你按了按钮,一个人都没有收集到\n\n\t\t",50);
}
else
{
slow ("\t\t你收集了",50);
srand(time(NULL));
int cur13;
if (hy)
{
cur13=rand()%40+10;
}
else
{
cur13=rand()%20+1;
}
cout<<cur13<<"人\n\n\t\t";
cur8+=cur13;
}
}
else if (cur10>=7 && cur10<=10)
{
slow ("\t\t那是一个绿按钮\n\n",50);
if (cur12==1)
{
slow ("\t\t你按了按钮,障碍打开了\n\n\t\t",50);
if (hy)
{
cur8+=5;
}
}
else
{
slow ("\t\t你死了",50);
srand(time(NULL));
int cur14;
if (cur8<=20)
{
if (hy)
{
cur14=cur8/4;
}
else
{
cur14=cur8/2;
}
cout<<cur14<<"人\n\n\t\t";
cur8-=cur14;
}
else
{
if (hy)
{
cur14=3;
}
else
{
cur14=10;
}
cout<<cur14<<"人\n\n\t\t";
cur8-=cur14;
}
}
}
system ("pause");
system ("cls");
}
srand (time(0));
int cur20=rand ()%3+1,cur18;
if (tj1%5==0 && cur20%3==1 && hy==0)
{
cur18=cur8;
cout<<"\n\t\t第"<<tj1<<"关\n\n\n\n\n";
slow ("\t\t38线的弓箭大红人看见了你们放箭射死了你",50);
srand (time(0));
int cur22=rand ()%5+1;
cout<<cur22<<"人\n\n\t\t";
cur18-=cur22;
if (cur18<0)
{
cout<<"你们都被射死了\n\n\t\t";
system ("pause");
continue;
}
cout<<"还剩"<<cur18<<"人\n\n\t\t";
system ("pause");
system ("cls");
}
cout<<"\n\t\t第"<<tj1<<"关\n\n\n\n\n";
slow ("\t\t你们冲过了38线,出来了",50);
if (hy)
{
cur16/=2;
if (ddr==30+(tj1*3))
{
ddr/=2;
}
}
if (tj1%5!=0)
{
cout<<cur16<<"个红人\n\n";
cur18=cur8-cur16;
if (cur18>=0)
{
slow ("\t\t红人被杀死了,你赢了\n\n\t\t",50);
cur15=true;
}
else
{
slow ("\t\t你们被红人杀死了,还剩",50);
cur16-=cur8;
cur16--;
cout<<cur16<<"个红人\n\n\t\t";
cur15=false;
}
}
else
{
if (cur20!=1)
{
cur18=cur8;
}
cout<<"1个";
if (cur20==1)
{
cout<<"弓箭";
}
else if (cur20==2)
{
cout<<"炸弹";
}
else if (cur20==3)
{
cout<<"魔杖";
}
slow ("红人,血量",50);
cout<<ddr<<"\n\n\t\t";
double cur23;
int cur24;
if (!hy)
{
slow ("你们冲了上去,大红人冲上来杀了你们",50);
cur23=cur18*1/4.0;
cur24=ceil (cur23);
cout<<cur24<<"人\n\n\t\t";
cur18-=cur24;
}
cur18++;
int ddd=ddr;
while (1)
{
slow ("你们向大红人发起攻击,大红人血量还剩",50);
cur24=(cur18+1)/2;
ddd-=cur24;
cout<<ddd<<'/'<<ddr<<"滴\n\n\t\t";
if (ddd<=0)
{
slow ("大红人死了,你赢了\n\n\t\t",50);
cur15=true;
break;
}
srand (time(0));
int cur25=rand ()%3+1;
slow ("大红人很生气,杀了你们",50);
if (cur25==1)
{
cur23=cur18/3.0;
}
else if (cur25==2)
{
cur23=cur18/4.0;
}
else if (cur25==3)
{
cur23=cur18/5.0;
}
cur24=ceil (cur23);
cout<<cur24<<"人,";
cur18-=cur23;
if (cur18<=0)
{
slow ("你们被大红人杀光了,你输了\n\n\t\t",50);
cur15=false;
ddr=ddd;
break;
}
slow ("你还剩(包括你)",50);
cout<<cur18<<"人\n\n\t\t";
}
}
system ("pause");
}
return;
}
int find (int asd)
{
int ans,i=0;
while (i<1000)
{
i++;
ans=(asd/4*3+9997)*48/47;
asd=ans;
}
return ans;
}
int main ()//主函数
{
if (hj==0)
{
hj=1;
jh=3;
}
#if 0
MessageBox (NULL,TEXT ("1"),TEXT ("1"),MB_ABORTRETRYIGNORE);//终止 重试 忽略
#endif
#if 0
double a;
int b;
a=7.7777;
b=int (a);
cout<<b;
cout<<a;
#endif
dr ();
system ("color 9E");
//tj ();
if (jq1==0)
{
jq1=1;
}
if (tj1==0)
{
tj1=1;
}
system ("title 剧情剧情剧情-于沐阳");
MessageBox(NULL, TEXT("抵制不良游戏 拒绝盗版游戏\n注意自我保护 谨防受骗上当\n适度游戏益脑 沉迷游戏伤身\n合理安排时间 享受健康生活"), TEXT("游戏提示(香蕉banana/健康游戏忠告 0+)"), MB_OK);
if (!hy)
{
jz ();
}
MessageBox (NULL,TEXT ("请不要按运行框右上角的×这样不会保存任何信息---"),TEXT ("游戏提示"),MB_OK);
while (1)
{
system ("cls");
cout<<"\n\n\n\n\n";
slow ("\t\t1剧情(有两个章节)\n\n\t\t2小人战争(非常无聊 但也可以玩的)\n\n\t\t3刷题\n\n\t\t4会员\n\n\t\t5退出(自动保存)\n\n\t\t",50);
band (true,false,false);
int cur1;
cin>>cur1;
system ("cls");
if (cur1==5)
{
bc ();
int ymy1=MessageBox (NULL,TEXT ("你确定吗"),TEXT (""),MB_YESNO);
if (ymy1!=IDYES)
{
continue;
}
MessageBox (NULL,TEXT ("保存成功---"),TEXT ("保存信息"),MB_OK);
break;
}
if (cur1<1 || cur1>5)
{
MessageBox (NULL,TEXT ("输入错误!!!"),TEXT (""),MB_OK);
continue;
}
if (cur1==1)
{
jq ();
}
if (cur1==2)
{
tj ();
}
if (cur1==3)
{
int ymy1=MessageBox (NULL,TEXT ("你确定吗"),TEXT (""),MB_YESNO);
if (ymy1!=IDYES)
{
continue;
}
MessageBox (NULL,TEXT ("祝你AC600题,你也可以去deeplearning.org.cn"),TEXT ("爱思创官网"),MB_OK);
system ("strat https://www.aisichuang.com");
}
if (cur1==4 && jh>0)
{
if (hy==1)
{
MessageBox (NULL,TEXT ("您就是会员"),TEXT ("哇"),MB_OK);
continue;
}
if (jh==3)
{
MessageBox (NULL,TEXT ("请输入密码(只有3次机会)是int正整数"),TEXT ("!"),MB_OK);
}
if (jh==2)
{
MessageBox (NULL,TEXT ("请输入密码(只有2次机会)是int正整数"),TEXT ("!!"),MB_OK);
}
if (jh==1)
{
MessageBox (NULL,TEXT ("请输入密码(只有1次机会)是int正整数"),TEXT ("!!!"),MB_OK);
}
int ymy2;
cin>>ymy2;
jh--;
int tot=1000000000,tat;
tat=find (tot);
if (ymy2!=tat)
{
continue;
}
cout<<"\n\n\n\n\t\t---大会员---";
for (int i=0;i<10;i++)
{
system ("color 1A");
system ("color 3B");
system ("color 5C");
system ("color 7D");
system ("color 9E");
}
system ("cls");
MessageBox (NULL,TEXT ("1无加载\n2小人战争小红人人数/2大红人血量/2障碍小于5个每次收集10-25人提前显示什么按钮"),TEXT ("恭喜成为会员"),MB_OK);
hy=1;
bc ();
}
}
cout<<"再见啦......";
Sleep (3000);
return 0;//返回0
}