问题标题: 酷丁名人堂 v3.0

1
1
周少平
周少平
新手守护
新手守护

#include<bits/stdc++.h>
#include<windows.h>
using namespace std;
int star;
int input1,rk,sk;
int card[15]/*={0,5,5,5,5,5,5,5,5}*/;
int rzcnt;
bool judge=1;
string grade[10]={"","","  \\\\ A //  ","  \\\\ A //  ","  \\\\ A //  ","  \\\\ S //  ","  \\\\ A //  ","  \\\\ A //  ","  \\\\ S //  ","  \\\\SSR//  "},people[9]={"","羊大婶","菲菲","沐沐","BUG狼","小程","小呆","布丁","酷丁猫"},input;
string rizhi[10005];
string tostr(int x){
    stringstream ss;
    ss<<x;
    string ans;
    ss>>ans;
    return ans;
}
int main(){
    system("title 酷丁名人堂 v3.0");
    ::MessageBox(NULL, TEXT("新版本特性:\n    1.贴图调大(文字没变)\n    2.彻底解决了★的问题\n\n有Bug或其他想法记得在评论区回复我! "), TEXT("酷丁名人堂 v3.0"), 0);
    while(true){
        cout<<"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n                          酷丁名人堂";
        cout<<"\n"<<right<<setw(61)<<"□×"+tostr(sk)<<endl;
        cout<<"─────────────────────────────────────────────────────────────\n";
        cout<<"╭───────────╮   ╭───────────╮   ╭───────────╮   ╭───────────╮   \n";
        for(int i=1;i<=4;i++)
            if(card[i])
                cout<<"│"<<grade[i]<<"│   ";
            else
                cout<<"│           │   ";
        for(int i=1;i<=3;i++)
            cout<<"\n│           │   │           │   │           │   │           │";
        cout<<"\n";
        if(judge){
            for(int i=1;i<=4;i++)
                if(card[i]-1==1)
                    cout<<"│★          │   ";
                else if(card[i]-1==2)
                    cout<<"│★ ★        │   ";
                else if(card[i]-1==3)
                    cout<<"│★ ★ ★      │   ";
                else if(card[i]-1==4)
                    cout<<"│★ ★ ★ ★    │   ";
                else if(card[i]-1>=5)
                    cout<<"│★ ★ ★ ★ ★  │   ";
                else
                    cout<<"│           │   ";
        }
        else{
            for(int i=1;i<=4;i++)
                if(card[i]-1==1)
                    cout<<"│★            │   ";
                else if(card[i]-1==2)
                    cout<<"│★ ★         │   ";
                else if(card[i]-1==3)
                    cout<<"│★ ★ ★      │   ";
                else if(card[i]-1==4)
                    cout<<"│★ ★ ★ ★   │   ";
                else if(card[i]-1>=5)
                    cout<<"│★ ★ ★ ★ ★│   ";
                else
                    cout<<"│           │   ";
        }
        cout<<"\n";
        for(int i=1;i<=4;i++)
            if(card[i])
                cout<<"│"<<std::left<<setw(12)<<people[i]<<"│   ";
            else
                cout<<"│           │   ";
        cout<<"\n╰───────────╯   ╰───────────╯   ╰───────────╯   ╰───────────╯   \n";
        cout<<"╭───────────╮   ╭───────────╮   ╭───────────╮   ╭───────────╮   \n";
        for(int i=5;i<=8;i++)
            if(card[i])
                cout<<"│"<<grade[i]<<"│   ";
            else
                cout<<"│           │   ";
        for(int i=1;i<=3;i++)
            cout<<"\n│           │   │           │   │           │   │           │";
        cout<<"\n";
        if(judge){
            for(int i=5;i<=8;i++)
                if(card[i]-1==1)
                    cout<<"│★          │   ";
                else if(card[i]-1==2)
                    cout<<"│★ ★        │   ";
                else if(card[i]-1==3)
                    cout<<"│★ ★ ★      │   ";
                else if(card[i]-1==4)
                    cout<<"│★ ★ ★ ★    │   ";
                else if(card[i]-1>=5)
                    cout<<"│★ ★ ★ ★ ★  │   ";
                else
                    cout<<"│           │   ";
        }
        else{
            for(int i=5;i<=8;i++)
                if(card[i]-1==1)
                    cout<<"│★            │   ";
                else if(card[i]-1==2)
                    cout<<"│★ ★         │   ";
                else if(card[i]-1==3)
                    cout<<"│★ ★ ★      │   ";
                else if(card[i]-1==4)
                    cout<<"│★ ★ ★ ★   │   ";
                else if(card[i]-1>=5)
                    cout<<"│★ ★ ★ ★ ★│   ";
                else
                    cout<<"│           │   ";
        }
        cout<<"\n";
        for(int i=5;i<=8;i++)
            if(card[i])
                cout<<"│"<<std::left<<setw(11)<<people[i]<<"│   ";
            else
                cout<<"│           │   ";
        cout<<"\n╰───────────╯   ╰───────────╯   ╰───────────╯   ╰───────────╯   \n";
        cout<<"你现在要干什么?\n1.说明  2.上课  3.抽卡  4.日志  5.修复  6.重置  7.退出\n";
        cin>>input;
        if(input=="1"){
            cout<<"上课: 可以获得随机名片\n";
            Sleep(500);
            cout<<"抽卡: 抽取一张卡牌\n";
            Sleep(500);
            cout<<"日志: 查询历史纪录\n";
            Sleep(500);
            cout<<"修复: 修复五角星的贴图bug, 再使用一次即可恢复\n";
            Sleep(500);
            cout<<"重置: 重置当前历史记录\n";
            Sleep(500);
            cout<<"退出: 略(doge)\n";
            Sleep(500);
            cout<<"重置和退出不可恢复, 慎用!\n";
            Sleep(500);
            system("pause"); 
        }
        else if(input=="2"){
            int ck=rand()%7+-2;
            if(sk-ck<0)
                ck=rand()%5+1;
            sk+=ck;
            if(ck>0){
                cout<<"你上表现较好, 老师奖励了你";
                cout<<ck<<"个名片\n";
                rizhi[rzcnt+1]="老师奖励"+tostr(ck)+"个名片";
            }
            else if(ck<0){
                cout<<"你上课表现较差, 老师扣了你";
                cout<<abs(ck)<<"个名片\n";
                ck=abs(ck);
                rizhi[rzcnt+1]="老师扣除"+tostr(ck)+"个名片";
            }
            else{
                cout<<"你上课啥都没干\n";
                rizhi[rzcnt+1]="啥也没干";
            }
            Sleep(500);
            rzcnt++;
            if(rzcnt==10001){
                rzcnt==10000;
                for(int i=2;i<=10001;i++)
                    rizhi[i-1]=rizhi[i];
            }
            system("pause");
        }
        else if(input=="3"){
            cout<<"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n";
            cout<<"╭──────╭──────╭──────╭──────╭──────╭──────╭──────╭───────────╮\n";
            for(int i=1;i<=6;i++)
                cout<<"│      │      │      │      │      │      │      │           │\n";
            cout<<"╰──────╰──────╰──────╰──────╰──────╰──────╰──────╰───────────╯\n";
            cout<<"\n\n\n\n\n\n\n\n";
            cout<<"输入卡牌序号, 表示你所抽的卡牌\n";
            cout<<"范围: 1~8\n";
            cout<<"                             □×6    抽取\n";
            cin>>input1;
            rk=rand()%8+1;
            if(input1<1 || input1>8){
                cout<<"               无法抽取, 没有这张卡\n";
                rizhi[rzcnt+1]="抽卡错误, 未选择范围内卡片";
            }
            else if(sk>=6 && card[rk]==0){
                cout<<"你抽到了卡牌 "<<people[rk]<<" \n";
                card[rk]++;
                sk-=6;
                rizhi[rzcnt+1]="抽到(新卡) "+people[rk];
            }
            else if(sk>=6 && card[rk]>0){
                cout<<"你的卡牌 "<<people[rk]<<" 加了一颗星\n";
                card[rk]++;
                sk-=6;
                rizhi[rzcnt+1]="抽到(+一颗星) "+people[rk];
            }
            else{
                cout<<"          无法抽取, 名片不足\n";
                rizhi[rzcnt+1]="无法抽取, 名片不足";
            }
            Sleep(500);
            rzcnt++;
            if(rzcnt==10001){
                rzcnt==10000;
                for(int i=2;i<=10001;i++)
                    rizhi[i-1]=rizhi[i];
            }
            system("pause");
        }
        else if(input=="4"){
            for(int i=1;i<=rzcnt;i++)
                cout<<i<<"."<<rizhi[i]<<endl;
            system("pause");
        }
        else if(input=="5"){
            cout<<"正在修复中, 请稍后";
            Sleep(500);
            cout<<".";
            Sleep(500);
            cout<<".";
            Sleep(500);
            cout<<".";
            Sleep(1000);
            cout<<"\n修复成功! \n";
            judge==!judge;
            Sleep(1000);
        }
        else if(input=="6"){
            cout<<"防误触! \n";
            cout<<"真的要重置当前记录吗? (输入 是 或 否) \n";
            cin>>input;
            if(input=="是"){
                cout<<"正在重置中, 请稍后";
                Sleep(500);
                cout<<".";
                Sleep(500);
                cout<<".";
                Sleep(500);
                cout<<".";
                Sleep(1000);
                cout<<"\n重置成功! \n";
                Sleep(1000);
                memset(card,10,0);
                memset(rizhi,10000,0);
                sk=0;
                rzcnt=0;
                system("pause");
            }
        }
        else if(input=="7"){
            cout<<"防误触! \n";
            cout<<"真的要退出吗? (输入 是 或 否) \n";
            cin>>input;
            if(input=="是")
                return 0;
        }
    }
    return 0;
}
 


0
0
0
0
0
0
0
0
0
我要回答