Fake Genshin1.0

· · 个人记录

沿用了抽卡小程序1.6的大部分代码,以后会逐渐变成类似Silly Wisher的无图版

上代码

#include<bits/stdc++.h>
#include<windows.h>
using namespace std;
void jz();
void cka();
void bb();
void ck();
int bd,up,s,a;
int n,x;
char t;
bool flag=true;
bool uppf[100],wpf[100],spf[100];
void sc(string n)
{
    for(int i=0;i<n.size();i++)
    {
        cout<<n[i];
        Sleep(10);
    }
    puts("");
    Sleep(15);
}
void open()
{
    ifstream in("ysck.txt");
    in>>bd;
    in>>up;
    in>>s;
    in>>a;
    for(int i=0;i<100;i++) in>>uppf[i];
    for(int i=0;i<100;i++) in>>wpf[i];
    for(int i=0;i<100;i++) in>>spf[i];
    in.close();
}
void cclose()
{
    ofstream out("ysck.txt");
    out<<bd<<" ";
    out<<up<<" ";
    out<<s<<" ";
    out<<a<<" ";
    for(int i=0;i<100;i++) out<<uppf[i]<<" ";
    for(int i=0;i<100;i++) out<<wpf[i]<<" ";
}
int main()
{
    open();
    int cz;
    string NAME="原始人";//默认名字为‘原始人’,在此可改 
    system("title 原神");
    jz();//出场动画
    cout<<"请输入您的昵称:";
    system("cls");
    while(1)
    {
        printf(//输入对应编号进入程序 
        "=======================================================================================================================\n"
        "|                                                                                                                     |\n"
        "| 1.**************抽卡*                                                                                               |\n"
        "|   ***@@@****@**@*****                                                                                               |\n"
        "|   **@*******@*@******                                                                                               |\n"
        "|   **@*******@@@******                                                                                               |\n"
        "|   ***@@@****@**@*****                                                                                               |\n"
        "|   *******************                                                                                               |\n"
        "|                                                                                                                     |\n"
        "|                                                                                                                     |\n"
        "|                                                                                                                     |\n"
        "|                                                                                                                     |\n"
        "|                                                                                                                     |\n"
        "|                                                                                                                     |\n"
        "|                                                                                                                     |\n"
        "|                                                                                                                     |\n"
        "|                                                                                                                     |\n"
        "|注:按0退出                                                                                                           |\n"
        "=======================================================================================================================\n"
        );
        cin>>cz;
        if(cz==0) break;
        if(cz==1)
            ck();
    }
    cclose();
}
void ck()
{
    system("cls");
    srand(time(0));
    cout<<"你好!\n";
    Sleep(500);
    cout<<"我是您的抽卡小助手,接下来是抽卡的一些小规则\n\n";
    Sleep(100);
    while(1)
    {
        cout<<"**************************************\n";
        cout<<"* 1.卡池分为新手池和UP池,本次UP为尘 *\n";
        cout<<"* 世闲游——钟离、无暇之人——爱莉希 *\n";
        cout<<"* 雅,五星(S级)陪跑为迪锅巴、小提,四 *\n";
        cout<<"* 星(A级)陪跑若干,九十抽小保底,一百 *\n";
        cout<<"* 八十抽大保底。                     *\n";
        cout<<"* 注:按a一抽,按s十连,0退出          *\n";
        cout<<"* 五星出率:%2   UP出率(已出五星):%10 *\n";
        cout<<"**************************************\n";
        cin>>t;
        if(t=='a')
        {

        }
        if(t=='0')
            break;
        if(t=='s')
        {
            for(int i=1;i<=10;i++)
            {
                cka();
            }
        }
        if(s>99){
            s=100;
            cout<<"目前五星99+个 ";
        }
        else cout<<"目前五星"<<s<<"个 UP";
        if(up>99){
            up=100;
            cout<<"99+个 四星";
        }
        else cout<<up<<"个 四星";
        if(a>99){
            a=100;
            cout<<"99+个 距离大保底还有";
        }
        else cout<<a<<"个 距离大保底还有";
        cout<<180-bd<<"次\n";
        if(t=='b')
        {
            bb();
        }
        cclose();
        Sleep(2000);
        system("cls");
    }
}
void jz(){
    system("color F0");
    cout<<"\n\n\n\n\n\n\n\n\n\n                                                       玖葉";
    Sleep(2000);
    system("cls");
    cout<<"\n\n\n\n\n\n\n\n\n\n                                                       斗原\n\n\n\n\n\n\n\n\n\n\n\n\n\nGAME制作:玖葉  剧情策划:玖葉  如侵立删";
    Sleep(2000);
    system("cls");
    cout<<"\n\n\n\n\n\n\n\n\n\n                                                      加载中\n\n";
    cout<<"                                            火  水  风  雷  草  冰  岩";
    Sleep(1000);
    system("cls");
    cout<<"\n\n\n\n\n\n\n\n\n\n                                                      加载中\n\n";
    SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),252);
    cout<<"                                            火";
    SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),240);
    cout<<"  水  风  雷  草  冰  岩";
    system("cls");
    cout<<"\n\n\n\n\n\n\n\n\n\n                                                      加载中\n\n";
    SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),252);
    cout<<"                                            火";
    SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),249);
    cout<<"  水";
    SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),240);
    cout<<"  风  雷  草  冰  岩";
    Sleep(1000);
    system("cls");
    cout<<"\n\n\n\n\n\n\n\n\n\n                                                      加载中\n\n";
    SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),252);
    cout<<"                                            火";
    SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),249);
    cout<<"  水";
    SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),250);
    cout<<"  风";
    SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),240);
    cout<<"  雷  草  冰  岩";
    Sleep(600);
    system("cls");
    cout<<"\n\n\n\n\n\n\n\n\n\n                                                      加载中\n\n";
    SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),252);
    cout<<"                                            火";
    SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),249);
    cout<<"  水";
    SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),250);
    cout<<"  风";
    SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),245);
    cout<<"  雷";
    SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),240);
    cout<<"  草  冰  岩";
    system("cls");
    cout<<"\n\n\n\n\n\n\n\n\n\n                                                      加载中\n\n";
    SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),252);
    cout<<"                                            火";
    SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),249);
    cout<<"  水";
    SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),250);
    cout<<"  风";
    SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),245);
    cout<<"  雷";
    SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),242);
    cout<<"  草";
    SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),240);
    cout<<"  冰  岩";
    Sleep(895);
    system("cls");
    cout<<"\n\n\n\n\n\n\n\n\n\n                                                      加载中\n\n";
    SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),252);
    cout<<"                                            火";
    SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),249);
    cout<<"  水";
    SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),250);
    cout<<"  风";
    SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),245);
    cout<<"  雷";
    SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),242);
    cout<<"  草";
    SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),251);
    cout<<"  冰";
    SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),240);
    cout<<"  岩";
    Sleep(1599);
    system("cls");
    cout<<"\n\n\n\n\n\n\n\n\n\n                                                      加载中\n\n";
    SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),252);
    cout<<"                                            火";
    SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),249);
    cout<<"  水";
    SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),250);
    cout<<"  风";
    SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),245);
    cout<<"  雷";
    SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),242);
    cout<<"  草";
    SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),251);
    cout<<"  冰";
    SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),254);
    cout<<"  岩";
    system("cls");
    system("color F0");
    Sleep(20);
    system("color 70");
    Sleep(20);
    system("color 80");
    Sleep(20);
    system("color 0F");
    Sleep(500);
}
void cka(){
    if(bd==180)
    {
        s++;
        x=rand()%10;
        if(x>0&&x<6)
        {
            cout<<"获得——爱莉希雅!\n";
            uppf[0]=1;
                up++;
        }
        else
        {
            cout<<"获得——钟离!\n";
            uppf[1]=1;
            up++;
        }
        bd=0;
    }
    if(bd==90)
    {
        s++;
        x=rand()%100;
        if(x>11&&x<17||x==99||x==43||x>=50&&x<=53)
        {
            x=rand()%10;
            if(x>0&&x<6)
            {
                cout<<"获得——爱莉希雅!\n";
                uppf[0]=1;
                up++;
            }
            else
            {
                cout<<"获得——钟离!\n";
                uppf[1]=1;
                up++;
            }
            bd=0;
        }
        else
        {
            x=rand()%10;
            if(x==1||x==5||x==2||x==10||x==7)
                cout<<"获得——迪卢克!\n",wpf[0]=1;
            else
                cout<<"获得——提纳里!\n",wpf[1]=1;
        }
    }
    x=rand()%1000;
    if(x>=11&&x<=21||x>=597&&x<=607)//五星 
    {
        s++;
        x=rand()%100;
        if(x>11&&x<17||x==99||x==43||x>=50&&x<=53)
        {
            x=rand()%10;
            if(x>0&&x<6)
            {
                cout<<"获得——爱莉希雅!\n";
                uppf[0]=1;
                up++;
            }
            else
            {
                cout<<"获得——钟离!\n";
                uppf[1]=1;
                up++;
            }
            bd=0;
        }
        else
        {
            x=rand()%10;
            if(x==1||x==5||x==2||x==10||x==7)
                cout<<"获得——迪卢克!\n",wpf[0]=1;
            else
                cout<<"获得——提纳里!\n",wpf[1]=1;
        }
    }
    else
    {
        x=rand()%100;
        if(x>=22&&x<=66)
        {
            x=rand()%100;
            if(x>=1&&x<=20) cout<<"获得——云堇!\n",spf[0]=1;
            else if(x>=21&&x<=40) cout<<"获得——班尼特!\n",spf[1]=1;
            else if(x>=41&&x<=60) cout<<"获得——行秋!\n",spf[2]=1;
            else if(x>=61&&x<=80) cout<<"获得——久岐忍!\n",spf[3]=1;
            else if(x>=81&&x<=100) cout<<"获得——香菱!\n",spf[4]=1;
            a++;
        }
        else
            cout<<"依托答辩\n";
        bd++;
    }
}
void bb(){
    cout<<NAME<<"的角色库\n-----------------------------------------------------\n";
    int y=1;
    for(int i=0;i<12;i++)
    {
        switch(i)
        {
            case 0:if(uppf[0])cout<<y<<'.',sc("爱莉希雅"),y++;break;
            case 1:if(uppf[1])cout<<y<<'.',sc("钟离"),y++;break;
            case 2:if(uppf[2])cout<<y<<'.',sc("温迪"),y++;break;
            case 3:if(uppf[3])cout<<y<<'.',sc("魈"),y++;break;
            case 4:if(wpf[0])cout<<y<<'.',sc("迪卢克"),y++;break;
            case 5:if(wpf[1])cout<<y<<'.',sc("提纳里"),y++;break;
            case 6:if(wpf[2])cout<<y<<'.',sc("琴团长"),y++;break;
            case 7:if(spf[0])cout<<y<<'.',sc("云堇"),y++;break;
            case 8:if(spf[1])cout<<y<<'.',sc("班尼特"),y++;break;
            case 9:if(spf[2])cout<<y<<'.',sc("行秋"),y++;break;
            case 10:if(spf[3])cout<<y<<'.',sc("久岐忍"),y++;break;
            case 11:if(spf[4])cout<<y<<'.',sc("香菱"),y++;break;
        }
    }
}