问题标题: 酷町堂:这是我自己编的程序,不太难,就是比较多,谁第一个想到可以改进的地方,奖金就是谁的,比以前增加了新功能,但是酷町豆不多了只好少给一点。

0
0
已解决
黄秋实
黄秋实
初级守护
初级守护

#include <bits/stdc++.h>
using namespace std;
long long a=24,b=24,ca,cb,pa,pb,c,i;
char A[8];
int main(){
    cout<<"*************** 游戏说明 ***************"<<'\n';
    cout<<"*每一局AB两个玩家分别输入七个字符,程序*"<<'\n';
    cout<<"*会判断AB的输赢,赢的玩家可能踢对方一拳*"<<'\n';
    cout<<"*踢对方一脚,打对方一巴掌或使用希特勒攻*"<<'\n';
    cout<<"*击,但也可能攻击力度过猛,自己减少一滴*"<<'\n';
    cout<<"*血。注意:每人只有24滴血!!!        *"<<'\n';
    cout<<"****************************************"<<'\n'; 
    while(a!=0&&b!=0){
        c++;
        cout<<'\n'<<'\n'<<'\n'<<'\n'<<"-------------- 这是第"<<c<<"局 ---------------"<<'\n'; 
        cout<<"请A玩家输入7个字母,并换行。"<<'\n';
        cin>>A[1]>>A[2]>>A[3]>>A[4]>>A[5]>>A[6]>>A[7];
        ca=((A[2]*A[7]+A[5]*A[6])+A[1]-A[2])*A[3]*A[5]-A[4]+A[7];
        cout<<"请B玩家输入7个字母,并换行。"<<'\n';
        cin>>A[1]>>A[2]>>A[3]>>A[4]>>A[5]>>A[6]>>A[7];
        cb=((A[5]*A[7]+A[2]*A[1])+A[6]-A[2])*A[3]*A[7]-A[4]+A[6];
        pa=ca%3;
        pb=cb%3;
        if(pa==1&&pb==2){
            a++;
            b-=3;
            if(a>24)a=24;
            if(b<0)b=0;
            cout<<"A赢了,锤了B一拳,B减少了3滴血。"<<'\n';
        }
        if(pa==2&&pb==0){
            a++;
            b-=4;
            if(a>24)a=24;
            if(b<0)b=0;
            cout<<"A赢了,打了B一巴掌,B减少了4滴血。"<<'\n';
        }
        if(pa==0&&pb==1){
            a++;
            b-=6;
            if(a>24)a=24;
            if(b<0)b=0;
            cout<<"A赢了,踢了B一脚,B减少了6滴血。"<<'\n';
        }
        if(pb==1&&pa==2){
            b++;
            a-=3;
            if(b>24)b=24;
            if(a<0)a=0;
            cout<<"B赢了,锤了A一拳,A减少了3滴血。"<<'\n';
        }
        if(pb==2&&pa==0){
            b++;
            a-=4;
            if(b>24)b=24;
            if(a<0)a=0;
            cout<<"B赢了,打了A一巴掌,A减少了4滴血。"<<'\n';
        }
        if(pb==0&&pa==1){
            b++;
            a-=6;
            if(b>24)b=24;
            if(a<0)a=0;
            cout<<"B赢了,踢了A一脚,A减少了6滴血。"<<'\n';
        }
        if(pb==pa){
            if(ca%(a*b)<=2&&cb%(a*b)>2){
                a=24;
                b=b/4;
                cout<<"A赢了,使用了希特勒攻击,A血量爆满,B的血量减少到原来的1/4。"<<'\n';
            }
            else{
                if(cb%(a*b)<=2&&ca%(a*b)>2){
                b=24;
                a=a/4;
                cout<<"B赢了,使用了希特勒攻击,B血量爆满,A的血量减少到原来的1/4。"<<'\n';
                
            }
                else{
                    if(ca<cb){
                        a--;
                        cout<<"A赢了,但攻击力度过猛,自己减少一滴血。"<<'\n'; 
            }
                    if(ca>cb){
                        b--;
                        cout<<"B赢了,但攻击力度过猛,自己减少一滴血。"<<'\n';
                    }
                }
            }
        }
        cout<<"A的血条:";
        if(a>=16)for(i=1;i<=a;i++)cout<<'#';
        if(a<16&&a>=8)for(i=1;i<=a;i++)cout<<'?';
        if(a<8)for(i=1;i<=a;i++)cout<<'!';
        if(a==0)cout<<"空空如也!"<<'\n';
        else cout<<"共"<<a<<"滴"<<'\n'; 
        cout<<"B的血条:";
        if(b>=16)for(i=1;i<=b;i++)cout<<'#';
        if(b<16&&b>=8)for(i=1;i<=b;i++)cout<<'?';
        if(b<8)for(i=1;i<=b;i++)cout<<'!';
        if(b==0)cout<<"空空如也!"<<'\n';
        else cout<<"共"<<b<<"滴"<<'\n'; 
        cout<<"----------------------------------------"<<'\n';
    }
    if(a==0){
        cout<<"这局B赢了,B有"<<b<<"滴血。"<<'\n';
        cout<<"但A也不要灰心,下次加油!"<<'\n';
    }
    else{
        cout<<"这局A赢了,A有"<<a<<"滴血。"<<'\n';
        cout<<"但B也不要灰心,下次加油!"<<'\n';
    }
    cout<<'\n'<<'\n';
    cout<<"*************** 感谢使用 ***************"<<'\n';
    cout<<"*感谢您的使用,但我技术有限,如果有不好*"<<'\n';
    cout<<"*玩的地方,或者好的建议,可以来找我,欢*"<<'\n';
    cout<<"*迎来找我。                            *"<<'\n';
    cout<<"*                  ——大黄狗(黄秋实)*"<<'\n';
    cout<<"****************************************"<<'\n';
}

黄秋实在2021-06-12 21:42:13追加了内容

#include <bits/stdc++.h>
using namespace std;
long long a=24,b=24,ca,cb,pa,pb,c,i;
char A[8];
int main(){
    cout<<"*************** 游戏说明 ***************"<<'\n';
    cout<<"*每一局AB两个玩家分别输入七个字符,程序*"<<'\n';
    cout<<"*会判断AB的输赢,赢的玩家可能踢对方一拳*"<<'\n';
    cout<<"*踢对方一脚,打对方一巴掌或使用希特勒攻*"<<'\n';
    cout<<"*击,但也可能攻击力度过猛,自己减少一滴*"<<'\n';
    cout<<"*血。注意:每人只有24滴血!!!        *"<<'\n';
    cout<<"****************************************"<<'\n'; 
    while(a!=0&&b!=0){
        c++;
        cout<<'\n'<<'\n'<<'\n'<<'\n'<<"-------------- 这是第"<<c<<"局 ---------------"<<'\n'; 
        cout<<"请A玩家输入7个字母,并换行。"<<'\n';
        cin>>A[1]>>A[2]>>A[3]>>A[4]>>A[5]>>A[6]>>A[7];
        ca=((A[2]*A[7]+A[5]*A[6])+A[1]-A[2])*A[3]*A[5]-A[4]+A[7];
        cout<<"请B玩家输入7个字母,并换行。"<<'\n';
        cin>>A[1]>>A[2]>>A[3]>>A[4]>>A[5]>>A[6]>>A[7];
        cb=((A[5]*A[7]+A[2]*A[1])+A[6]-A[2])*A[3]*A[7]-A[4]+A[6];
        pa=ca%3;
        pb=cb%3;
        if(pa==1&&pb==2){
            a++;
            b-=3;
            if(a>24)a=24;
            if(b<0)b=0;
            cout<<"A赢了,锤了B一拳,B减少了3滴血。"<<'\n';
        }
        if(pa==2&&pb==0){
            a++;
            b-=4;
            if(a>24)a=24;
            if(b<0)b=0;
            cout<<"A赢了,打了B一巴掌,B减少了4滴血。"<<'\n';
        }
        if(pa==0&&pb==1){
            a++;
            b-=6;
            if(a>24)a=24;
            if(b<0)b=0;
            cout<<"A赢了,踢了B一脚,B减少了6滴血。"<<'\n';
        }
        if(pb==1&&pa==2){
            b++;
            a-=3;
            if(b>24)b=24;
            if(a<0)a=0;
            cout<<"B赢了,锤了A一拳,A减少了3滴血。"<<'\n';
        }
        if(pb==2&&pa==0){
            b++;
            a-=4;
            if(b>24)b=24;
            if(a<0)a=0;
            cout<<"B赢了,打了A一巴掌,A减少了4滴血。"<<'\n';
        }
        if(pb==0&&pa==1){
            b++;
            a-=6;
            if(b>24)b=24;
            if(a<0)a=0;
            cout<<"B赢了,踢了A一脚,A减少了6滴血。"<<'\n';
        }
        if(pb==pa){
            if(ca%(a*b)<=2&&cb%(a*b)>2){
                a=24;
                b=b/4;
                cout<<"A赢了,使用了希特勒攻击,A血量爆满,B的血量减少到原来的1/4。"<<'\n';
            }
            else{
                if(cb%(a*b)<=2&&ca%(a*b)>2){
                b=24;
                a=a/4;
                cout<<"B赢了,使用了希特勒攻击,B血量爆满,A的血量减少到原来的1/4。"<<'\n';
                
            }
                else{
                    if(ca<cb){
                        a--;
                        cout<<"A赢了,但攻击力度过猛,自己减少一滴血。"<<'\n'; 
            }
                    if(ca>cb){
                        b--;
                        cout<<"B赢了,但攻击力度过猛,自己减少一滴血。"<<'\n';
                    }
                }
            }
        }
        cout<<"A的血条:";
        if(a>=16)for(i=1;i<=a;i++)cout<<'#';
        if(a<16&&a>=8)for(i=1;i<=a;i++)cout<<'?';
        if(a<8)for(i=1;i<=a;i++)cout<<'!';
        if(a==0)cout<<"空空如也!"<<'\n';
        else cout<<"共"<<a<<"滴"<<'\n'; 
        cout<<"B的血条:";
        if(b>=16)for(i=1;i<=b;i++)cout<<'#';
        if(b<16&&b>=8)for(i=1;i<=b;i++)cout<<'?';
        if(b<8)for(i=1;i<=b;i++)cout<<'!';
        if(b==0)cout<<"空空如也!"<<'\n';
        else cout<<"共"<<b<<"滴"<<'\n'; 
        cout<<"----------------------------------------"<<'\n';
    }
    if(a==0){
        cout<<"这局B赢了,B有"<<b<<"滴血。"<<'\n';
        cout<<"但A也不要灰心,下次加油!"<<'\n';
    }
    else{
        cout<<"这局A赢了,A有"<<a<<"滴血。"<<'\n';
        cout<<"但B也不要灰心,下次加油!"<<'\n';
    }
    cout<<'\n'<<'\n';
    cout<<"*************** 感谢使用 ***************"<<'\n';
    cout<<"*感谢您的使用,但我技术有限,如果有不好*"<<'\n';
    cout<<"*玩的地方,或者好的建议,可以来找我,欢*"<<'\n';
    cout<<"*迎来找我。                            *"<<'\n';
    cout<<"*                  ——大黄狗(黄秋实)*"<<'\n';
    cout<<"****************************************"<<'\n';
}


0
已采纳
张展嘉
张展嘉
新手天翼
新手天翼

@黄秋实 

system("cls");//清屏

0
李宜和
李宜和
高级启示者
高级启示者

还可以加一个商店(胜利多少次可领)

或人机模式

0
吴品睿
吴品睿
高级守护
高级守护

换行少一点,不然容易看错。

0
0
李宜和
李宜和
高级启示者
高级启示者

建议:一轮过后清屏

——————————第一轮——————————————

a:###########

b:#############

————————————————————————————

0
我要回答