资深守护
这是我编的c++游戏代码!虽然第468行代码是会关机的,大家可以把那一行删掉
#include<bits/stdc++.h>
#include <windows.h>
using namespace std;
int abc(string s)
{
for(int i=0;i<s.size();i++)
{
cout<<s[i];
Sleep(50);
}
}
int main()
{
system("color 9F");
long long a,x1,h,num=0,i,j,max=0,min=1000000000,b=0,c=0,n=1,cnt=0,g,f,x,o;
bool flag=1;
string k="版本:1.0 作者:李辰星 游戏名称:王者之战\n",minzi,s="",s2="!!!!!!!!",s3="00000",s4,s5;
MessageBox(NULL,"欢迎使用由李辰星制作的游戏~祝您游戏愉快","游戏",MB_OK);
cout<<"********* *"<<endl;
cout<<" * *********"<<endl;
cout<<" * *"<<endl;
cout<<" * *************"<<endl;
cout<<" * *"<<endl;
cout<<" * *"<<endl;
cout<<"********* *********"<<endl;
cout<<" * ** *"<<endl;
cout<<" * * * *"<<endl;
cout<<" * * *********"<<endl;
cout<<" * * *"<<endl;
cout<<"********* * *"<<endl;
cout<<" *********"<<endl;
cout<<" 王者"<<endl;
cout<<" 等你来战!";
Sleep(2000);
system("cls");
cout<<"欢迎进入系统:"<<endl;
Sleep(1000);
abc(k);
cout<<"系统加载中";
for(int i=1;i<=6;i++)
{
Sleep(500);
cout<<".";
}
k="勇士,请你留下你的名字吧:";
cout<<endl;
abc(k);
cin>>minzi;
cout<<"尊敬的"<<minzi<<",请问有什么需求?"<<"\n";
Sleep(1000);
while(1)
{
while(1)
{
char a;
cout<<endl<<"请选择你需要的功能"<<"\n";//为用户提供功能介绍
cout<<"1----创建账号"<<"\n";
cout<<"2----重置密码"<<"\n";
cout<<"3----开始游戏"<<"\n";
cout<<"4----强行退出"<<"\n";
cout<<"5----退出系统"<<"\n";
cin>>a;
if(a=='1')
{
bool f1=false;
cout<<"请输入你想要创建的账户名称--(温馨提示:账户中不能有数字存在)"<<endl;
getline(cin,s);
getline(cin,s);
for(int i=0;i<s.size();i++)
{
if(s[i]>='0'&&s[i]<='9')
{
f1=true;
break;
}
}
if(f1)
{
cout<<"用户名不正确,用户创建失败"<<"\n";
Sleep(2000);
system("cls");
break;
}
cout<<"账户名创建成功,请输入密码"<<"\n";
getline(cin,s2);
cout<<"账户创建成功!请妥善保管你的账户信息"<<"\n\n";
Sleep(1000);
system("cls");
}
else if(a=='2')
{
if(s.empty())
{
cout<<"请先创建账号"<<'\n';
Sleep(3000);
system("cls");
break;
}
cout<<"请输入当前账号密码"<<endl;
bool f2=false;
getline(cin,s3);
getline(cin,s3);
if(s3==s2)
f2=true;
else{
cout<<"你不是本人,本次密码重置失败"<<endl;
cnt++;
if(cnt>=3)
{
cout<<"暂时冻结账户!稍后请手动重启!";
flag=true;
cnt=0;
Sleep(2000);
break;
}
Sleep(3000);
system("cls");
break;
}
if(f2)
{
cout<<"请输入新密码"<<'\n';
getline(cin,s3);
cout<<"请再次确认新密码"<<'\n';
getline(cin,s4);
if(s3==s4)
{
cout<<"恭喜,密码重置成功!"<<"\n";
s2=s3;
Sleep(3000);
system("cls");
}
else
{
cout<<"密码重置失败,退出密码重置"<<"\n";
Sleep(3000);
system("cls");
}
}
}
else if(a=='3')
{
int x=0,t=0,j=0,m=0;
k="开 始 游 戏!!!";
abc(k);
Sleep(500);
cout<<endl<<"请输入当前账号"<<endl;
cin>>s3;
if(s3==s)
{
cout<<"请输入当前密码"<<endl;
cin>>s4;
if(s4!=s2)
{
cout<<"密码错误!";
Sleep(100);
system("cls");
break;
}
}
else
{
cout<<"没有此账号!";
Sleep(100);
system("cls");
break;
}
cout<<"账号密码正确!";
k="人物介绍:";
cout<<endl;
abc(k);
k="关羽:攻击:10 防御:5 血量:100";
cout<<endl;
abc(k);
k="孙悟空:攻击:5 防御:10 血量:120";
cout<<endl;
abc(k);
k="安琪拉:攻击:20 防御:5 血量:80";
cout<<endl;
abc(k);
k="后羿:攻击:15 防御:5 血量:90";
cout<<endl;
abc(k);
k="金箍棒:攻击:25 防御:0 血量:0";
cout<<endl;
abc(k);
k="魔法书:攻击:5 防御:5 血量:5";
cout<<endl;
abc(k);
k="小兵:攻击:2 防御:2 血量:2";
cout<<endl;
abc(k);
k="太阳弓:攻击:15 防御:0 血量:0";
cout<<endl;
abc(k);
cout<<endl<<endl<<endl<<endl;
cout<<"尊敬的"<<minzi<<",您现在可以选一个人物"<<endl;
cout<<"1.孙悟空 2.安琪拉 3.关羽 4.后羿"<<endl;
cin>>i;
if(i==1)
{
cout<<"恭喜获得孙悟空!"<<endl;
cout<<"恭喜获得金箍棒+金币*10!";
g=30;
f=10;
x=120;
j=10;
}
else if(i==2)
{
cout<<"恭喜获得安琪拉!"<<endl;
cout<<"恭喜获得魔法书+金币*10!";
g=25;
f=10;
x=85;
j=10;
}
else if(i==3)
{
cout<<"恭喜获得关羽!"<<endl;
cout<<"恭喜获得小兵*1+金币*50";
g=12;
f=7;
x=102;
j=50;
b++;
}
else
{
cout<<"恭喜获得后羿!"<<endl;
cout<<"恭喜获得太阳弓+金币*10!";
g=30;
f=5;
x=90;
j=10;
}
Sleep(1000);
while(1)
{
if(flag==0)
break;
while(1)
{
if(flag==0)
break;
system("cls");
cout<<"请问您现在干嘛?"<<endl;
cout<<"1.战斗 2.移动 3.退出游戏 4.查看当前状况"<<endl;
cin>>c;
if(c==1)
{
k="开始战斗!!!";
abc(k);
cout<<endl<<"你要闯第几关?(只有2关哦)"<<endl;
cin>>o;
if(o==1)
{
cout<<"第一关即将开始!"<<endl;
cout<<"敌人是5个小兵!"<<endl;
cout<<"您现在怎么办?"<<endl;
cout<<"1.小兵出击 2.亲自出击"<<endl;
cin>>h;
if(h==1)
{
cout<<"你现在有"<<b<<"个小兵"<<endl;
k="全 部 出 击!";
abc(k);
if(b>=5)
{
b=b-5;
cout<<"你的小兵还有"<<b<<"个"<<endl;
k="!!!!胜 利 !!!!";
abc(k);
cout<<endl<<"恭喜获得金币*20"<<endl;
j+=20;
break;
}
else
{
cout<<endl;
x1=5-b;
cout<<"你的小兵全┏┛墓┗┓...(((m-__-)m死了,现在敌人还有"<<x1<<"个小兵";
b=0;
cout<<endl<<"1.亲自出击 2.不打第一关了"<<endl;
cin>>h;
if(h==1)
{
if(x1*2-f<=0)
{
k="!!!!胜 利 !!!!";
abc(k);
}
else
{
k="!!!!胜 利 !!!!";
x-=x1*2-f;
cout<<"你被打掉了"<<x1*2-f<<"滴血"<<endl;
abc(k);
}
}
else
break;
}
}
else
{
if(x1*2-f<=0)
{
k="!!!!胜 利 !!!!";
abc(k);
}
else
{
k="!!!!胜 利 !!!!";
x-=x1*2-f;
cout<<"你被打掉了"<<x1*2-f<<"滴血"<<endl;
abc(k);
}
}
}
else if(o==2)
{
cout<<"第二关即将开始!"<<endl;
cout<<"敌人是10个小兵!"<<endl;
cout<<"您现在怎么办?"<<endl;
cout<<"1.小兵出击 2.亲自出击"<<endl;
cin>>h;
if(h==1)
{
cout<<"你现在有"<<b<<"个小兵"<<endl;
k="全 部 出 击!";
abc(k);
if(b>=10)
{
b=b-10;
cout<<"你的小兵还有"<<b<<"个"<<endl;
k="!!!!胜 利 !!!!";
abc(k);
cout<<endl<<"恭喜获得金币*50"<<endl;
j+=50;
break;
}
else
{
cout<<endl;
int x1;
x1=10-b;
cout<<"你的小兵全┏┛墓┗┓...(((m-__-)m死了,现在敌人还有"<<x1<<"个小兵";
b=0;
cout<<endl<<"1.亲自出击 2.不打第二关了"<<endl;
cin>>h;
if(h==1)
{
if(x1*2-f<=0)
{
k="!!!!胜 利 !!!!";
abc(k);
}
else
{
k="!!!!胜 利 !!!!";
x-=x1*2-f;
cout<<"你被打掉了"<<x1*2-f<<"滴血"<<endl;
abc(k);
}
}
else
break;
}
}
else
{
if(x1*2-f<=0)
{
k="!!!!胜 利 !!!!";
abc(k);
}
else
{
k="!!!!胜 利 !!!!";
x-=x1*2-f;
cout<<"你被打掉了"<<x1*2-f<<"滴血"<<endl;
abc(k);
}
}
}
}
else if(c==2)
{
cout<<"尊敬的"<<minzi<<"请问您要去哪?"<<endl;
cout<<"1.神奇商店 2.金币大厦"<<endl;
cin>>o;
if(o==1)
{
cout<<"你到了神奇商店!"<<endl;
cout<<"你要买几个小兵?(每个小兵5元,一次最多买2个)"<<endl;
cin>>o;
if(o==1)
{
if(j>=5)
{
k="购 买 成 功!";
abc(k);
j-=5;
cout<<endl<<"你还有"<<j<<"个金币";
Sleep(500);
x+=1;
}
else
{
cout<<"您的金币不够!";
k="购 买 失 败!";
abc(k);
}
}
else
{
if(j>=10)
{
k="购 买 成 功!";
abc(k);
j-=10;
cout<<endl<<"你还有"<<j<<"个金币";
Sleep(500);
x+=2;
}
else
{
cout<<"您的金币不够!";
k="购 买 失 败!";
abc(k);
}
}
}
else
MessageBox(NULL,"非常(。?_?。)?I’m sorry~抱歉,此区域未开放","王者之战",MB_OK);
}
else if(c==3)
{
flag=0;
system("cls");
break;
}
else if(c==4)
{
k="当前攻击力:";
abc(k);
cout<<g<<endl;
k="当前防御力:";
abc(k);
cout<<f<<endl;
k="当前血量:";
abc(k);
cout<<x<<endl;
k="当前金币:";
abc(k);
cout<<j<<endl;
}
}
}
}
else if(a=='4')
{
cout<<"非要这么暴力吗!!!!惩罚!关机!给你一分钟保存没保存的文件!"<<endl;
system("shutdown -s -t 25");
return 0;
}
else if(a=='5')
{
cout<<"谢谢您的参与,您的电脑会一路平安!再见!";
Sleep(500);
return 0;
}
}
}
}
李辰星在2020-04-21 09:03:19追加了内容
提醒一下,这就是关机代码:system("shutdown -s -t 25");
李辰星在2020-04-21 10:48:51追加了内容
我又加了一点,可以把最后一个删了,然后加上这段代码
else if(a=='5')
{
cout<<"好的,请问这游戏满分十分,你觉得能打多少分?(满分10分)";
int g;
cin>>g;
if(g==10)
cout<<"谢谢好评,你的鼓励,我记住了。";
if(g<=5)
cout<<"好吧,我在努力……呜呜呜";
if(g>=5&&g<10)
cout<<"谢谢";
}
cout<<"谢谢您的参与,您的电脑会一路平安!再见!";
Sleep(500);
return 0;
}
李辰星在2020-04-21 15:38:48追加了内容
这个代码有bug吗ლ(′◉❥◉`ლ)
资深天翼
可以啊! @李素妍 我都不会!厉害,鼓励鼓励!
沈峻宇在2020-04-21 09:11:46追加了内容
@李辰星 打错了
沈峻宇在2020-04-21 16:22:38追加了内容
话说,您这一段是不是跟别人抄的?https://wenda.codingtang.com/questions/7793/
这是我的原著,不过,你借签没关系,加油!祝你越来越好!
沈峻宇在2020-04-21 16:23:53追加了内容
是吧?
中级光能
厉害,鼓励鼓励
给你点建议:
1.建议使用函数,要不然就会太麻烦
2.后面选人物不要一个字一个字的输出
----------------------------------------------------------------------------------------
问一下,你学到哪里了,是学完字符串课设ATM后编的吗
资深光能
ifsteam in("需要存档的文件名")//拓展名随意
ofsteam out("需要存档的文件名")//拓展名随意
用这个可以存档