软件:DEV-C++
#include<bits/stdc++.h>
#include<windows.h>
#include<stdio.h>
#include<conio.h>
#include<time.h>
#include<cmath>
using namespace std;
void tj();
void jz();
void cka();
void bb();
void ck();
int bd,up,s,a;
string NAME="Genshin";//名字
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]<<" ";
for(int i=0;i<100;i++) out<<spf[i]<<" ";
}
int main()
{
CONSOLE_CURSOR_INFO cursor_info={1,0};
SetConsoleCursorInfo(GetStdHandle(STD_OUTPUT_HANDLE),&cursor_info);
open();
int cz;
system("title 原神");
jz();//出场动画
while(1)
{
printf(//输入对应编号进入程序
"=======================================================================================================================\n"
"| |\n"
"| 1.**************抽卡* 2.****************图鉴* |\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();
if(cz==2)
tj();
}
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退出,按b背包 *\n";
cout<<"* 五星出率:%2 UP出率(已出五星):%10 *\n";
cout<<"**************************************\n";
t=_getch();
if(t!='a'&&t!='s'&&t!='b')
{
cout<<"你按错了!!";
Sleep(600);
system("cls");
continue;
}
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");
}
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;
}
}
}
void tj(){
int x=1;
system("cls");
while(x!=0)
{
sc("0退出");
cout<<1<<'.',sc("爱莉希雅");
cout<<2<<'.',sc("钟离");
cout<<3<<'.',sc("温迪");
cout<<4<<'.',sc("魈");
cout<<5<<'.',sc("迪卢克");
cout<<6<<'.',sc("提纳里");
cout<<7<<'.',sc("琴团长");
cout<<8<<'.',sc("云堇");
cout<<9<<'.',sc("班尼特");
cout<<10<<'.',sc("行秋");
cout<<11<<'.',sc("久岐忍");
cout<<12<<'.',sc("香菱");
sc("请输入查询编号:");
cin>>x;
system("cls");
if(x==0) break;
switch(x)
{
case 1:sc("爱莉希雅");
sc("背景资料:");
cout<<"凡事任凭心意而为,自由自在,与副首领身份格格不入的少女。亦是逐火英桀的创立者,聚集并维系此十三人的核心人物。\n";
Sleep(1000);
cout<<"只在喜欢的人上花时间,但每个人都很喜欢;只在有趣的事上花心思,但每件事都很有趣——心怀如此信念,带着真诚与热情拥抱每一天的纯真女孩\n";
printf("按下任意键继续...");
while(1){
if(kbhit())
break;
}
system("cls");
break;
case 2:sc("钟离");
sc("背景资料:");
cout<<"钟离样貌俊美,举止高雅,拥有远超常人的学识。\n";
Sleep(1000);
cout<<"虽说来历不明,却知礼数、晓规矩。坐镇“往生堂”,能行天地万物之典仪。\n";
cout<<"PS:俗称街溜子\n";
printf("按下任意键继续...");
while(1){
if(kbhit())
break;
}
system("cls");
break;
case 3:sc("温迪");
sc("背景资料:");
cout<<"自由城邦蒙德的建立者,“尘世七执政”中的风神,为了让蒙德人民得到自由而放弃治理。\n";
Sleep(600);
cout<<"千年后重返蒙德,辅助奴隶少女温妮莎推翻贵族的残暴统治,设立四风守护。\n";
Sleep(600);
cout<<"又过千年,愚人众和深渊教团令蒙德内外交困,因而引来神的回归。\n";
cout<<"解救被深渊教团操控的东风之龙。\n";
cout<<"PS:俗称卖唱的\n";
printf("按下任意键继续...");
while(1){
if(kbhit())
break;
}
system("cls");
break;
case 4:sc("魈");
sc("背景资料:");
cout<<"守护璃月港的“三眼五显仙人”之一,妙称“护法夜叉大将”。\n";
Sleep(500);
cout<<"虽然外表看起来是一个少年人,但一些有关他的传说,已在古卷中流传千年。\n";
Sleep(500);
cout<<"在仙人之间,魈的辈分与声望堪称翘楚,但在人间,他的名望并不高。\n";
Sleep(500);
cout<<"因为他既非招揽富贵、庇佑世人安康的福星;也非手握仙道,高居在绝云间的圣众。\n";
cout<<"PS:又称抬头不见低头见真君o(^▽^)o\n";
printf("按下任意键继续...");
while(1){
if(kbhit())
break;
}
system("cls");
break;
case 5:sc("迪卢克");
sc("背景资料");
cout<<"身为蒙德城第一富豪,风度翩翩的迪卢克总是以完美的贵公子形象示人。\n";
Sleep(1000);
cout<<"然而他真实的一面,是秉承坚定信念的战士,他那“不惜一切守护蒙德”的意志犹如火焰般炽热,令他能以恐怖的攻势,毫不留情地将一切敌人击溃。\n";
cout<<"PS:俗称迪锅巴\n";
printf("按下任意键继续...");
while(1){
if(kbhit())
break;
}
system("cls");
break;
case 6:sc("提纳里");
sc("背景资料");
cout<<"道成林的巡林官,毕业于须弥教令院阿弥利多学院的生论派植物学学者。\n";
Sleep(800);
cout<<"每天都过着巡查雨林、保护生态、教训笨蛋的充实生活。\n";
Sleep(800);
cout<<"提纳里是巴螺迦修那和人类的混血后代,但不同于父亲,提纳里不擅长应付烈日。\n晒久了脑袋里就一团浆糊,晃晃荡荡的。\n";
cout<<"PS:歪过诶\n";
printf("按下任意键继续...");
while(1){
if(kbhit())
break;
}
system("cls");
break;
case 7:sc("琴·古恩希尔德");
sc("背景资料");
cout<<"蒙德城西风骑士团代理团长,四风守护中的南风之狮。\n",Sleep(700);
cout<<"身为西风骑士团的代理团长,琴一直忠于职守,为人们带来安宁。\n",Sleep(700);
cout<<"虽然并非天赋异禀,但通过刻苦训练,如今的她已然能够独当一面。\n",Sleep(700);
cout<<"当风魔龙的威胁开始临近,这位可靠的代理团长早已做好了准备,誓要守护蒙德。\n",Sleep(700);
printf("按下任意键继续...");
while(1){
if(kbhit())
break;
}
system("cls");
break;
default:
sc("四星不想做……(~^▽^)~ "),Sleep(500);
system("cls");
}
}
}