AC荣耀改版
2024-08-13 22:27:42
发布于:广东
是AC荣耀的改版,本人并未恶意,只是想把好玩的东西分享给大家,如果原作者不同意我会删帖(只是改英雄和技能)
下面是代码
原作者作品网站
作者:Blown sand id:4406602
游戏名:杭州天目山 自制游戏-AC荣耀 1.74
#include <bits/stdc++.h>//改版游戏作品 勿喷 原制作者:Blown sand
using namespace std;
int money=100000;
int lifebottle=0,TNT=0;
int ucha[105]={1,1,0,0,0,0};
int work[105]={1,2,3,4,5,6,7,8,9};
int w_win=0,w_qing=0;
string FIL(){
string s="";
int x=money;
while(x>0){
s+=(x%10+48);
x/=10;
}
s+='/';s+=(char)(lifebottle+48);s+='/';s+=(char)(TNT+48);s+='/';
for(int i=0;i<5;i++){
s+=(char)(ucha[i]+66);
}
for(int i=0;work[i]!=0;i++){
s+=(char)(work[i]+66);
}
s+='/';
s+=(char)(w_win+66);s+=(char)(w_qing+66);
if(ucha[5]==1){
s+='/';
}
return s;
}
void LOA(string s){//请不要乱输入,因为会出现钱数变成负数等等一系列奇怪东西)
int i;
money=0;
for(i=0;s[i]!='/';i++){
money+=(s[i]-48)*pow(10,i);
}
lifebottle=s[i+1]-48;
TNT=s[i+3]-48;
for(int ii=i+5;ii<=i+10;ii++){
ucha[ii-i-5]=s[ii]-66;
}
for(int ii=i+11;s[ii]!='/';ii++){
work[ii-i-10]=s[ii]-66;
}
if(s[s.length()-1]=='/'){
w_win=s[s.length()-3]-66;w_qing=s[s.length()-2]-66;
ucha[5]=1;
}else{
w_win=s[s.length()-2]-66;w_qing=s[s.length()-1]-66;
}
}
void living();
void dework(int n){
for(int i=n-1;i<100;i++){
work[i]=work[i+1];
}
}
void game(){
int cha=0;
cout << "欢迎来到AC荣耀,请选择你的英雄。" << endl;
cout << "输入:1.张斌老师 2.眼见老登";
if(ucha[2]==1)cout << " 3.黄金矿工";
if(ucha[3]==1)cout << " 4.带土";
if(ucha[4]==1)cout << " 5.天道超";
if(ucha[5]==1)cout << " 6.杨凡";
cout << endl;
do{
int o1;
cin >> o1;
switch(o1){
case 1:cha=1;break;
case 2:cha=2;break;
case 3:if(ucha[2]==1){cha=3;}else{cha=0;cout << "你没有这个英雄。请重新输入。"<< endl;}break;
case 4:if(ucha[3]==1){cha=4;}else{cha=0;cout << "你没有这个英雄。请重新输入。"<< endl;}break;
case 5:if(ucha[4]==1){cha=5;}else{cha=0;cout << "你没有这个英雄。请重新输入。"<< endl;}break;
case 6:if(ucha[5]==1){cha=6;}else{cha=0;cout << "你没有这个英雄。请重新输入。"<< endl;}break;
default:cout << "你没有这个英雄。请重新输入。"<< endl;break;
}
}while(cha!=1&&cha!=2&&cha!=3&&cha!=4&&cha!=5&&cha!=6);
system("cls");
if(cha==1)cout << "你选择了张斌老师作为你的英雄,初始生命值为100。"<< endl;
else if(cha==2)cout << "你选择了眼见老登作为你的英雄,初始生命值为140。"<< endl;
else if(cha==3)cout << "你选择了黄金矿工作为你的英雄,初始生命值为90。"<< endl;
else if(cha==4)cout << "你选择了带土作为你的英雄,初始生命值为100。"<< endl;
else if(cha==5)cout << "你选择了天道超作为你的英雄,初始生命值为120。"<< endl;
else if(cha==6)cout << "你选择了杨凡作为你的英雄,初始生命值为100。"<< endl;
cout << "正在为你匹配对手..." << endl;
int p2=0;
srand(time(NULL));
p2=rand()%3;
if(p2==0)cout << "匹配成功,你的对手是皮卡丘。" << endl;
else if(p2==1)cout << "匹配成功,你的对手是杰哥。" << endl;
else if(p2==2)cout << "匹配成功,你的对手是美西螈。" << endl;
int life1=100,life2=100,
atk1=100,
gold=0,boom=2,
spirit=0,
bullet=0,weakness=0,
heart=0,feel=0,
wait=0,
power9999=0,
xiang=0;
if(cha==2)life1=140;
if(cha==3)life1=90;
if(cha==5)life1=120;
if(p2==1)life2=120;
int turn=0;
while(life1>0&&life2>0){
int o=0;
wait=0;
do{
cout << "————————————————————————" << endl;
cout << "请选择你的行动。输入:1.技能 2.道具 3.投降 4.查看" << endl;
cout << "————————————————————————" << endl;
cin >> o;
system("cls");
int cho2=0;
int o2=0;
switch(o){
case 1:cout << "使用哪个技能?" <<endl;break;
case 2:
cho2=0;
cout << "请输出要使用的道具编号。" << endl << "1.血瓶 2.炸弹" << endl;
do{
cin >> o2;
switch(o2){
case 1:cho2=1;break;
case 2:cho2=2;break;
default:cout << "你输入的数字应该是1或者2才对。给我重输。"<< endl;break;
}
}while(cho2!=1&&cho2!=2);
if(cho2==1){
if(lifebottle>0){
cout << "你使用1个血瓶,回复了25点生命值。" <<endl;life1+=25;lifebottle--;
for(int i=1;i<=2;i++){
if(work[i-1]==2){
dework(i);
cout << endl << "您完成了任务:回光反照,奖励100钱。" << endl;
money+=100;
}
}
}else{
cout << "你的血瓶不足,使用失败。" << endl;o=0;
}
}else if(cho2==2){
if(TNT>0){
cout << "你使用1个炸弹,对手受到了" << (int)(atk1*0.32) << "点伤害。" <<endl;life2-=(int)(atk1*0.32);TNT--;
}else{
cout << "你的炸弹不足,使用失败。" << endl;o=0;
}
}
break;
case 3:cout << "你投降了。" <<endl;life1=0;xiang=1;break;
case 4:
if(cha==1){
cout << "你的英雄是:张斌老师 ";
}else if(cha==2){
cout << "你的英雄是:眼见老登 ";
}else if(cha==3){
cout << "你的英雄是:黄金矿工 ";
}else if(cha==4){
cout << "你的英雄是:带土 ";
}else if(cha==5){
cout << "你的英雄是:天道超 ";
}else if(cha==6){
cout << "你的英雄是:杨凡 ";
}
if(p2==0){
cout << "对手的英雄是:皮卡丘" << endl;
}else if(p2==1){
cout << "对手的英雄是:杰哥" << endl;
}else if(p2==2){
cout << "对手的英雄是:美西螈" << endl;
}
cout << "你的生命值为" << life1 << " " << "对手的生命值为" << life2 << endl;
cout << "你拥有的血瓶数量为" << lifebottle << endl;
cout << "你拥有的炸弹数量为" << TNT << endl;
cout << "当前游戏轮数为" << turn+1 << endl;
break;
default:cout << "你输入的数字应该是1~4之间的整数才对。"<< endl;break;
}
}while(o!=1&&o!=2&&o!=3&&o!=4);
if(o==3||o==4){
wait=1;
}
if(o==1){
if(cha==1){
do{
cout << "输入:1.大喊一声老师真帅 2.跑一圈" <<endl;
cin >> o;
switch(o){
case 1:cout << "你:\"老师真帅\"对手被恶心到,失去了30点生命值。" <<endl;life2-=30;break;//秀一秀转义字符
case 2:cout << "你跑了一圈,但是没有任何用。" <<endl;//这是这个游戏的一个笑点所在,绝对不能改(?)。
for(int i=1;i<=2;i++){
if(work[i-1]==5){
dework(i);
cout << endl << "您完成了任务:运动狂人,奖励道具<血瓶>*4。";
lifebottle+=4;
}
}
break;
default:cout << "你输入的数字应该是1或者2才对。给我重输。"<< endl;break;
}
}while(o!=1&&o!=2);
}else if(cha==2){
do{
cout << "输入:1.玩杂交版 2.烦死对面" <<endl;
cin >> o;
switch(o){
case 1:cout << "你玩了杂交版,提升了眼见老登百分之的30攻击力。" <<endl;atk1*=1.3;break;
case 2:cout << "'这个老6居然偷分!'对手受到了来自眼见老登查看试卷的怒吼" << (int)(atk1*0.21) << "点的伤害。" << endl;life2-=(int)(atk1*0.21);
for(int i=1;i<=2;i++){
if(work[i-1]==6&&(int)(atk1*0.21)>=60){
dework(i);
cout << endl << "您完成了任务:核爆大佬,奖励道具<炸弹>*2。";
TNT+=2;
}
}
break;
default:cout << "你输入的数字应该是1或者2才对。给我重输。"<< endl;break;
}
}while(o!=1&&o!=2);
}else if(cha==3){
do{
cout << "输入:1.淘金 2.扔炸药 3.贿赂这个游戏" <<endl;
cin >> o;
switch(o){
case 1:gold+=2;cout << "你淘到2块金矿,你现在有" << gold << "块金矿,你的生命值增加了4点。" <<endl;life1+=4;break;
case 2:if(gold==0){
cout << "你没有金矿,用不了炸药。" << endl;o=0;
}else{
if(boom>0){
cout << "你扔出1个炸药,炸掉了金矿,对手也被炸到,受到了32点伤害" << endl;
boom--;
life2-=32;
}else{
cout << "你的炸药用完了,不能再扔炸药。" << endl;
o=0;
}
}
break;
case 3:if(gold>0){
cout << "你用所有的金矿贿赂了程序,程序对对手造成了" << gold * 9 << "点伤害,又回复了你" << gold * 5 << "点生命值" <<endl;
life2-=gold*9;
for(int i=1;i<=2;i++){
if(work[i-1]==7&&gold*9>=60){
dework(i);
cout << endl << "您完成了任务:顶级行贿,奖励300钱。";
money+=300;
}
}
life1+=gold*5;
gold=0;
}else{
cout << "你没有金矿,不能贿赂。" << endl;
o=0;
}
break;
default:cout << "你输入的数字应该是1、2或者3才对。给我重输。"<< endl;break;
}
}while(o!=1&&o!=2&&o!=3);
}else if(cha==4){
do{
cout << "输入:1.神威 2.完美虚化!" <<endl;
cin >> o;
switch(o){
case 1:if(turn%4!=3){
if(spirit<=5){
spirit+=100;
cout << "你使用了神威,恢复了100血量" << "。" <<endl;
life1+=100;
}else if(spirit==1000){
cout << "当前回复已达最大值1000,不能再回复。" <<endl;
o=0;
}else{
cout << "你回复了100点血量,但是你的回复达到了最大值,溢出的血量已经丢失。你当前的血量为100。"<<endl;
life1=100;
}
}else{
cout << "屑带土不能在游戏的每四轮的最后一轮集中回复血量。当前轮数为" << turn+1 << "。" <<endl;
o=0;
}
break;
case 2:cout << "带土使用巴库乱舞对手受到了" << spirit+60 << "点伤害。" << endl;life2-=spirit+15;
if(spirit>=4){
cout << "带土通过散失30点血量,停滞了时间,本回合带土会再次行动。" << endl;life1-=30;wait=1;
}
w_qing++;
for(int i=1;i<=2;i++){
if(work[i-1]==8&&w_qing>=4){
dework(i);
cout << endl << "您完成了任务:神威!,奖励英雄<天道超>。";
ucha[4]=1;
}
}
break;
default:cout << "你输入的数字应该是1或者2才对。给我重输。"<< endl;break;
}
}while(o!=1&&o!=2);
}else if(cha==5){
if(bullet==0){
cout << "输入:1.神罗天征 2.蓄力"<<endl;
do{
cin >> o;
switch(o){
case 1:cout << "您将对手击退了114514米,对面被打飞了,受到40点伤害" << endl;life2-=40;
if(weakness>=1){
cout << "对手被击中弱点,受到的伤害增加" << weakness*20 << ",为" << weakness*20+20 << "点。" << endl;
life2-=weakness*15;
}
for(int i=1;i<=2;i++){
if(work[i-1]==9&&weakness*15>=30){
dework(i);
cout << endl << "您完成了任务:辛辣天写,奖励道具<炸弹>*2。";
TNT+=2;
}
}
break;
case 2:cout << "天道超在手臂上注入了轮回眼的能力,当前蓄力为2 " << endl;bullet+=2;break;
default:cout << "你输入的数字应该是1或者2才对。给我重输。"<< endl;break;
}
}while(o!=1&&o!=2);
}else{
cout << "输入:1.神罗天征 2.蓄力" <<endl;
do{
cin >> o;
switch(o){
case 1:cout << "超哥释放了超-神罗天征,敌方受到了" << weakness*30+20 << "点伤害。" << endl;life2-=weakness*5+20;bullet--;
cout << "超哥的画风变形,进入第2阶段,六道佩恩[超]" << endl;weakness++;break;
case 2:if(bullet<=4){
bullet++;
cout << "超哥在手臂上注入了轮回眼的能力,当前蓄力为" << bullet << "。" << endl;
}else if(bullet==5){
cout << "超哥在手臂上注入了轮回眼的能力,当前蓄力为6,无法再蓄力。" << endl;bullet++;
}else{
cout << "无法再蓄力。" << endl;o=0;
}
break;
default:cout << "你输入的数字应该是1或者2才对。给我重输。"<< endl;break;
}
}while(o!=1&&o!=2);
}
}else if(cha==6){
do{
cout << "输入:1.船桨打击 ";
if(heart<25){
cout << "2.稍作观察";
}else{
cout << "2.开始“科学推理”";
}
cout << endl;
cin >> o;
srand(time(NULL));int R=rand()%2+1;
switch(o){
case 1:cout << "杨凡手持祖传多功能铲形船桨挥击对手,对手受到了25点钝器造成的伤害。" << endl;life2-=25;
cout << "凡人就是凡人,这一击似乎连什么特殊效果都没有。" << endl;break;
case 2:
if(heart<25){
cout << "杨凡试图对对手进行观察。" << endl;
if(R==1){
cout << "可惜他只是个普通人,并没有发现什么。" << endl;
cout << "不过,对于刚才那小小的失败,他似乎更加激动了。" << endl;heart+=5;
}else{
cout << "不小心被对手察觉到了。" << endl;
cout << "对手果断地打断了人如其名的杨凡的观察。杨凡受到了10点来自对手的伤害。" << endl;life1-=10;
cout << "不过,杨凡发现了对手刻意隐藏而又不小心显露的特质,他仍然更加激动了。" << endl;heart+=10;
if(heart>25)heart=25;
}
}else{
cout << "杨凡使用了科学推理,平静了自己的情绪,回复了10点生命值。对手心绪被扰乱,受到了20点伤害。"<<endl;life2-=20;life1+=10;feel+=10;heart-=10;
}break;
default:cout << "你输入的数字应该是1或者2才对。给我重输。"<< endl;break;
}
}while(o!=1&&o!=2);
if(heart>0){
if(heart>=10){
cout << "“有一股热血涌动着。”" << endl << "杨凡异常兴奋,回复了" << (heart+8)/2 << "点生命值。" << endl;
life1+=(heart+8)/2;
}else{
cout << "杨凡有种“推理”的欲望。" << endl;
}
}
}
}
if(wait==0){
int v=0;
if(p2==0){
if(turn%4==3||turn%6==1){
v=(100-life2)/4+20;
cout << "对手皮卡丘使用了拳击,对你造成了" << v << "点伤害。" << endl;
life1-=v;
}else{
v=20;
cout << "对手皮卡丘使用了电击,对你造成了20点伤害。" <<endl;
life1-=v;
}
}else if(p2==1){
if(turn%4==2||turn%7==5){
v=17;
system("cls");
cout << "对手杰哥使用了我家挺大,对你造成了17点伤害。" << endl;
life1-=v;
}else{
srand(time(NULL));
int random=rand()%11+20;
v=random;
cout << "对手杰哥使用了让我看看,对你造成了" << random << "点伤害。" <<endl;
for(int i=1;i<=random;i++){
cout << "让我看看" << endl;
}
life1-=random;
}
}else if(p2==2){
if(turn%4==0||turn%9==7){
v=15;
cout << "对手美西螈大喊\"给我9999金币\",对你造成了15点伤害,";
if(money>=10){
cout << "并偷取了你10钱。";
money-=10;
power9999+=10;
}else{
cout << "但是你太穷了,没有足够的钱给美西螈。";
}
cout << endl;
life1-=v;
}else{
if(power9999>2){
power9999-=2;
v=power9999+14;
cout << "对手美西螈使用了谢谢你!扔出2钱并对你造成了" << v << "点伤害。";
if(v>19){
cout << "美西螈偷取的钱太多了,造成的伤害很高。";
}
}else{
cout << "美西螈使用唔唔唔,获得5钱。";
power9999+=5;
}
cout << endl;
life1-=v;
}
}
if(spirit>=2&&v>=1){
cout << "但是带土的神威正盛,减少了受到的伤害,实际只受到" << v-(spirit-1) << "伤害" << endl;
life1+=spirit-1;
}
if(feel>0&&v>=1){
cout << "但是对手心神不宁,产生了恐惧,也受到" << feel << "伤害" << endl;
life2-=feel;
}
w_qing=0;
turn++;
}
}
if(life1>0){
cout << "你赢了。你的钱数增加200。";
money += 200;
w_win++;
for(int i=1;i<=2;i++){
if(work[i-1]==1){
dework(i);
cout << endl << "您完成了任务:初战告捷,奖励100钱。";
money+=100;
}else if(work[i-1]==3){
if(w_win>=3){
dework(i);
cout << endl << "您完成了任务:战场老手,奖励200钱。";
money+=200;
}
}else if(work[i-1]==4){
if(turn<=4){
dework(i);
cout << endl << "您完成了任务:闪电战,奖励200钱。";
money+=200;
}
}
}
}else if(life2>0){
if(xiang==0){
cout << "你输了。你的钱数增加20。";
money += 20;
}else{
cout << "你输了。投降不会得到任何战后奖励。";
}
}else{
cout << "你和对手的血量同时归零,平局。你的钱数增加100。";
money += 100;
}
}
void work_(){
system("cls");
cout << "————————————————————————" << endl;
cout << "| 任务 列表 |" << endl;
cout << "————————————————————————" << endl;
for(int i=1;i<=2;i++){
cout << "任务" << i << ":" << endl;
switch(work[i-1]){
case 1:cout << "初战告捷:赢得匹配模式胜利1次。" << endl << "奖励:100钱" << endl;break;
case 2:cout << "回光返照:使用血瓶1次。" << endl << "奖励:100钱" << endl;break;
case 3:cout << "战场老手:累计赢得匹配模式胜利3次。" << endl << "奖励:200钱" << endl;break;
case 4:cout << "闪电战:在5轮内赢得匹配模式胜利1次。" << endl << "奖励:200钱" << endl;break;
case 5:cout << "运动狂人:使用张斌老师使用1次技能-跑一圈" << endl << "奖励:道具<血瓶>*4" << endl;break;
case 6:cout << "核爆大佬:使用眼见老登造成1次60点以上的伤害。" << endl << "奖励:道具<炸弹>*2" << endl;break;
case 7:cout << "顶级行贿:使用黄金矿工造成1次60点以上的伤害。" << endl << "奖励:300钱" << endl;break;
case 8:cout << "神威!:使用带土在1回合内使用4次技能-神威!" << endl << "奖励:英雄<超哥5星>" << endl;break;
case 9:cout << "辛辣天写:使用超哥使用1次技能-神罗天征造成一次60点以上的伤害" << endl << "奖励:道具<炸弹>*2" << endl;break;
default:cout << "无新任务" << endl;break;
}
}
cout << "输入任意数字退出任务列表。" << endl;
int vo;
cin >> vo;
system("cls");
living();
}
void living(){
cout << "————————————————————————" << endl;
cout << "| 大厅 |" << endl;
cout << "————————————————————————" << endl;
cout << "输入:1.匹配 2.商城 3.任务 4.查看存档码 5.读取存档" << endl;
int cho=0;
do{
int o;
cin >> o;
switch(o){
case 1:cho=1;break;
case 2:cho=2;break;
case 3:cho=3;break;
case 4:cho=4;break;
case 5:cho=5;break;
default:cout << "输入错了,你要输入1~5之间的整数。再输入一次。"<< endl;break;
}
}while(cho!=1&&cho!=2&&cho!=3&&cho!=4&&cho!=5);
system("cls");
if(cho==2){
cout << "————————————————————————" << endl;
cout << "| 商城 |" << endl;
cout << "————————————————————————" << endl;
cout << "你的钱数:" << money << "。" << endl;
cout << "请输入要购买的商品的编号。" << endl;
cout << "1.英雄<黄金矿工>(价格:500)2.英雄<带土>(价格:1000) 3. 英雄<杨凡>(价格:800)" << endl << "4.道具<血瓶>*3(价格:50) 5.道具<炸弹>*1(价格:80) 6.退出商城" << endl;
cho=0;
do{
int o;
cin >> o;
switch(o){
case 1:cho=1;break;
case 2:cho=2;break;
case 3:cho=3;break;
case 4:cho=4;break;
case 5:cho=5;break;
case 6:cho=6;break;
default:cout << "输入错了,再输入一次。"<< endl;break;
}
}while(cho!=1&&cho!=2&&cho!=3&&cho!=4&&cho!=5&&cho!=6);
system("cls");
if(cho==1){
if(ucha[2]==0){
if(money>=500){
cout << "购买成功" << endl;
ucha[2]=1;
money-=500;
}else{
cout << "你的钱数不够500,买不起 英雄<黄金矿工>。" << endl;
}
}else{
cout << "这件商品你已经买过了。" << endl;
}
living();
}else if(cho==2){
if(ucha[3]==0){
if(money>=1000){
cout << "购买成功" << endl;
ucha[3]=1;
money-=1000;
}else{
cout << "你的钱数不够1000,买不起 英雄<带土>。" << endl;
}
}else{
cout << "这件商品你已经买过了。" << endl;
}
living();
}else if(cho==3){
if(ucha[5]==0){
if(money>=800){
cout << "购买成功" << endl;
ucha[5]=1;
money-=800;
}else{
cout << "你的钱数不够800,买不起 英雄<杨凡>。" << endl;
}
}else{
cout << "这件商品你已经买过了。" << endl;
}
living();
}else if(cho==4){
if(money>=50){
cout << "购买成功" << endl;
lifebottle+=3;
money-=50;
}else{
cout << "你的钱数不够50,买不起 道具<血瓶>*3。" << endl;
}
living();
}else if(cho==5){
if(money>=80){
cout << "购买成功" << endl;
TNT+=1;
money-=80;
}else{
cout << "你的钱数不够80,买不起 道具<炸弹>*1。" << endl;
}
living();
}else{
living();
}
}else if(cho==3){
work_();
}else if(cho==4){
cout << "你的存档码:" << FIL() << endl;
cout << "输入任意数字退出。" << endl;
int bac;
cin >> bac;
system("cls");
living();
}else if(cho==5){
cout << "请输入存档码(需要退出请输入0):";
string s1;
cin >> s1;
if(s1!="0"){
LOA(s1);
system("cls");
cout << "读档成功。" << endl;
}else{
system("cls");
}
living();
}else{
}
}
int main(){
living();
int back=1;
while(back!=0){
game();
cout << endl << "是否退出整个游戏?(是:0/否:其他)" << endl;
cin >> back;
if(back==0){
cout << "已退出。" << endl;
}else{
system("cls");
living();
}
}
return 0;
}
全部评论 1
1周前 来自 浙江
0
有帮助,赞一个