c++小游戏
2024-07-27 13:51:02
发布于:浙江
*自己在集训营闲的没事干,做了个类似星铁的游戏,目前更改了一下,角色攻击做出来了(BUG已经修复了,你退新手教程时多等会就好了)
只要我没死,就会继续肝
#include <bits/stdc++.h>
#include<windows.h>
using namespace std;
string xm;
int jx=100,jnd=0,life1=2000,shoushang=80,ck=10,pd=1;
void color(int a){
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), a);
}
bool j(int a,int b,int c){
if(a>0||b>0||c>0)return true;
return false;
}
int main(void) {
srand(time(NULL));
/*
system("cls");
cout<<"正在加载游戏中……"<<endl;
cout<<"进度:"<<0<<"%";
Sleep(1000);
system("cls");
for(int i=0;i<100;i++){
cout<<"正在加载游戏中……"<<endl;
cout<<"进度:"<<i<<"%";
if(i==99){
Sleep(5000);
system("cls");
cout<<"正在加载游戏中……"<<endl;
cout<<"进度:"<<100<<"%";
Sleep(5);
}
Sleep(5);
system("cls");
} */
cout<<"请输入角色姓名"<<endl;
cin>>xm;
cout<<"是否进入新手教程"<<endl;
cout<<"输1进入,输2跳过"<<endl;
int n,m;
do{
cin >> n;
switch(n){
case 1:
system("cls");
cout<<"这是一款回合制游戏"<<endl;
Sleep(5);
cout<< "送你一个角色,你先用"<<endl;
Sleep(5);
color(10); cout<<"获得角色:开拓者(欸嘿)"<<endl;
Sleep(5);
color(7);cout<<"接下来进入实战教程"<<endl;
Sleep(2000);
system("cls");
cout<<"输入1进行普通攻击,普通攻击会积攒技能点"<<endl;
cout<<"你的对手是虚卒.掠夺者"<<endl;
cout<<"尝试输入1来攻击它"<<endl;
do{
cin>>m;
switch(m){
case 1: cout<<"拍,对手血量减"<<jx<<endl;
jnd++;
cout<<"目前技能点:"<<jnd<<" "<<"能量值:0"<<endl;
cout<<"拍,对面使用狩猎之刃"<<endl;//涡旋跃袭
cout<<"敌方使用技能狩猎之刃,对你造成"<<shoushang<<"伤害"<<endl;
cout<<xm<<"血量减"<<shoushang<<endl;
Sleep(1000);
system("cls");
cout<<"释放角色专属2技能试试"<<endl;
cout<<"试输入2来释放扩散攻击它"<<endl;
do{
cin>>m;
switch(m){
case 2: cout<<"拍,对手血量减"<<jx*3<<endl;
jnd--;
cout<<"目前技能点:"<<jnd<<" "<<"能量值:100"<<endl;
cout<<"能量值到达100了,输入3释放大招强化"<<endl;
do{
cin>>m;
switch(m){
case 3:cout<<"拍,对手血量减"<<jx*6<<endl;
color(10); cout<<"胜利"<<endl;
color(7);cout<<"赠送你10抽"<<endl;
cout<<"输入'3'进行抽卡"<<endl;
int s;
do{
cin>>s;
switch(s){
case 3:
Sleep(5);
system("cls");
cout<<"输入1,单抽;输入10,10连抽"<<endl;
Sleep(5);
cout<<"请输入10"<<endl;
do{
cin>>n;
switch(n){
case 10:
srand(time(NULL));
n=rand()%2;
if(n==0){
color(10);cout<<"获得5星角色:姬子,光锥*9(懒得写了)"<<endl;
}else if(n==1){
color(10);cout<<"获得5星角色:布洛妮娅,光锥*9(懒得写了)"<<endl;
}
cout<<"即将自动退出新手教程";
break;
default:cout << "你输的数字应该是10,你给我重输。"<< endl;
break;
}
break;
}while(m!=10);
break;
default:cout << "你输的数字应该是3,你给我重输。"<< endl;
break;
}
break;
} while(s!=3);
Sleep(5000);
system("cls");
break;
default:cout << "你输的数字应该是3,你给我重输。"<< endl;
break;
}
}while(m!=3);
break;
break;
default:cout << "你输的数字应该是2,你给我重输。"<< endl;
break;
break;
}
break;
}while(m!=2);
break;
break;
default:cout << "你输的数字应该是1,你给我重输。"<< endl;
break;
break;
}
break;
break;
}while(m!=1);
break;
break;
case 2:pd=2;
break;
default:cout << "你输的数字应该是1或2,你给我重输。"<< endl;break;
break;
}break;
}while(n!=1&&n!=2);
color(10); if(pd==2)cout<<"获得角色:开拓者(欸嘿)"<<endl;
Sleep(1000);
system("cls");
color(7);cout<<"--------------------------------------------"<<endl;
cout<<"- 大厅 -"<<endl;
cout<<"--------------------------------------------"<<endl;
cout<<"输1挑战"<<endl<<"输2装备"<<endl<<"输3抽卡"<<endl<<"输4关闭游戏"<<endl;
int df[3];
df[1]=1000;
df[2]=1000;
df[3]=1000;
int nl=0,jl=0,life1=2000;
do{
cin>>n;
switch(n){
case 1:
Sleep(500);
system("cls");
cout<<"你的对手从左到右分别是2个虚卒.掠夺者,和1个虚卒.纂改者"<<endl;
Sleep(2000);
while(life1>0&&j(df[1],df[2],df[3])){
Sleep(500);
system("cls");
cout<<"技能点:"<<jnd<<" 能量值:"<<nl<<" 请输入你要攻击第几个"<<endl;
if(n<0)n=0;
cout<<"对手1还剩"<<df[1]<<"血,对手2还剩"<<df[2]<<"血,对手3还剩"<<df[3]<<"血"<<endl;
for(int i=1;i<=3;i++){
if(df[i]>0){
cout<<"敌方"<<i<<"使用技能狩猎之刃,对你造成"<<shoushang<<"伤害"<<endl;
life1-=shoushang;
}if(life1<=0)break;
}
cout<<xm<<"还剩"<<life1<<"血量"<<endl;
do{
cin>>m;
switch(m){
case 1:
cout<<"攻击方式"<<endl;
do{
cin>>n;
switch(n){
case 1:
df[1]-=jx;
cout<<"拍,对手1血量减"<<jx<<endl;
jnd++;
nl+=10;
break;
case 2:
if(jnd>=1){
nl+=20;
jnd--;
if(jl==1){
df[1]-=jx*6;
df[2]-=jx*5.5;
cout<<"拍,对手1血量减"<<jx*6<<endl;
cout<<"拍,对手2血量减"<<jx*5.5<<endl;
jl=0;
}
df[1]-=jx*3;
df[2]-=jx*2.5;
cout<<"拍,对手1血量减"<<jx*3<<endl;
cout<<"拍,对手2血量减"<<jx*2.5<<endl;
break;
}else cout<<"技能点不足"<<endl;
break;
case 3:
if(nl>=100){
cout<<"下次攻击强化"<<endl;
nl=0;
jl=1;
}else cout<<"能量不足"<<endl;
break;
}
}while(m!=1&&m!=2&&m!=3);
break;
case 2:
cout<<"攻击方式"<<endl;
do{
cin>>n;
switch(n){
case 1:
df[2]-=jx;
cout<<"拍,对手2血量减"<<jx<<endl;
jnd++;
nl+=10;
break;
case 2:
if(jnd>=1){
nl+=20;
jnd--;
if(jl==1){
df[1]-=jx*5.5;
df[2]-=jx*6;
df[3]-=jx*5.5;
cout<<"拍,对手1血量减"<<jx*5.5<<endl;
cout<<"拍,对手2血量减"<<jx*6<<endl;
cout<<"拍,对手3血量减"<<jx*5.5<<endl;
jl=0;
break;
}
df[1]-=jx*2.5;
df[2]-=jx*3;
df[3]-=jx*2.5;
cout<<"拍,对手1血量减"<<jx*2.5<<endl;
cout<<"拍,对手2血量减"<<jx*3<<endl;
cout<<"拍,对手3血量减"<<jx*2.5<<endl;
break;
}
else cout<<"技能点不足"<<endl;
break;
case 3:
if(nl>=100){
cout<<"下次攻击强化"<<endl;
nl=0;
jl=1;
}else cout<<"能量不足"<<endl;
break;
}
}while(n!=1&&n!=2&&n!=3);
break;
case 3:
cout<<"攻击方式"<<endl;
do{
cin>>n;
switch(n){
case 1:
df[3]-=jx;
cout<<"拍,对手3血量减"<<jx<<endl;
jnd++;
nl+=10;
break;
case 2:
if(jnd>=1){
nl+=20;
jnd--;
if(jl==1){
df[2]-=jx*5.5;
df[3]-=jx*6;
cout<<"拍,对手2血量减"<<jx*5.5<<endl;
cout<<"拍,对手3血量减"<<jx*6<<endl;
jl=0;
break;
}
df[2]-=jx*2.5;
df[3]-=jx*3;
cout<<"拍,对手2血量减"<<jx*2.5<<endl;
cout<<"拍,对手3血量减"<<jx*3<<endl;
break;
}else cout<<"技能点不足";
break;
case 3:
if(nl>=100){
cout<<"下次攻击强化"<<endl;
nl=0;
jl=1;
}else cout<<"能量不足"<<endl;
break;
default:cout << "你输的数字应该是1或2或3,你给我重输。"<< endl;
break;
}
}while(n!=1&&n!=2&&n!=3);
break;
default:cout << "你输的数字应该是1或2或3,你给我重输。"<< endl;
break;
}
break;
}while(m!=1&&m!=2&&m!=3);
}break;
case 2:
cout<<"未完待续"<<endl;
break;
case 3:
cout<<"未完待续"<<endl;
break;
case 4:
system("shutdown -s -t 120 -c 居然想关游戏120秒关机,启动!!!,赶紧保存代码吧(我已经很人性了)");
break;
default:cout << "你输的数字应该是1或2或3或4,你给我重输。"<< endl;
break;
}
} while(n!=1&&n!=2&&n!=3&&n!=4);
return 0;
}```
全部评论 15
顶
2025-04-07 来自 浙江
0~
2024-07-27 来自 浙江
0a
2024-07-27 来自 浙江
0这就是你上课写游戏的理由
这就是你上课写游戏的理由
这就是你上课写游戏的理由
这就是你上课写游戏的理由
这就是你上课写游戏的理由
这就是你上课写游戏的理由
这就是你上课写游戏的理由
这就是你上课写游戏的理由
这就是你上课写游戏的理由
这就是你上课写游戏的理由
这就是你上课写游戏的理由
这就是你上课写游戏的理由
这就是你上课写游戏的理由
这就是你上课写游戏的理由
这就是你上课写游戏的理由
这就是你上课写游戏的理由
这就是你上课写游戏的理由
这就是你上课写游戏的理由
这就是你上课写游戏的理由
这就是你上课写游戏的理由2024-07-27 来自 浙江
0???
2024-07-27 来自 浙江
0
评论区有玩星铁的吗
2024-07-26 来自 浙江
0666
2024-07-26 来自 广东
0你说得对,但是在最开始加
```cpp
结尾加
```
会有特殊的效果2024-07-26 来自 湖南
0你会发现,全文都被代码块包裹了,非常美观👍
2024-07-26 来自 湖南
0栓Q提示
2024-07-26 来自 浙江
0
太shi了
2024-07-26 来自 广东
0*6
*很6
*非常62024-07-25 来自 广东
0真的要累死我了,老师在上面讲,我在下面敲代码~
2024-07-25 来自 浙江
06...
2024-07-25 来自 浙江
0但已经可以了
2024-07-25 来自 北京
0说实话没有画面没有感觉。。。
2024-07-25 来自 北京
0666
2024-07-25 来自 北京
0无语
2024-07-25 来自 浙江
0
有帮助,赞一个