#include<bits/stdc++.h>
#include<windows.h>
using namespace std;
const string g="";
#define red "\e[31m"
#define green "\e[32m"
#define blue "\e[34m"
#define yellow "\e[33m"
#define black "\e[0m"
#define sky "\e[36m"
#define purple "\e[35m"
#define normal "\e[0m"
#define clearline "\e[K"
#define clear system("cls");
string a[21]={"大吉","中吉","中吉","小吉","小吉","小吉","中平","中平","中平","中平","凶","凶","凶","中凶","大凶","大奖励","关机","万事皆宜","宇宙满级凶","宇宙满级吉","万事皆不宜"};
string j[21]={"上洛谷:\n 你谷日爆","切水题:\n 被抓抄题解","水讨论区:\n 与他人吵架一起禁言","请教问题:\n 被当作水帖禁言","纳财:\n 今天并没有财运","研究C++:\n 脑子干废了","学新算法:\n 怎么也学不会","抄题解:\n 被棕名","爆肝:\n 肝都废了,还没搞完","出行:\n 路途十分坎坷","装蒟蒻:\n 被看穿","熬夜:\n 通宵干不完","开电脑:\n 意外的死机故障不可避","膜拜大神:\n 被大神鄙视","背课文:\n 记忆力只有50字节","看视频网站:\n 被制裁","玩我的世界:\n 转角遇到苦力怕","重构代码:\n 越改越乱","放假:\n 就放一天,全是作业","继续完成WA的题:\n 然而变成了TLE,RE","刷题:\n 容易WA"},y[21]={"学新算法:\n 看一遍就懂了","上厕所:\n 想出了题目的解法","上课摸鱼:\n 放松身心","看视屏网站:\n 很开心","开电脑:\n 电脑的状态很好","做题:\n 直接AC","完成WA的题:\n 下一秒就过了","上洛谷:\n 洛谷没有日爆","研究C++:\n 弄清白了","考试:\n AK全场","做作业:\n 全都会","交友:\n 友谊地久天长","切水题:\n 通过数猛涨","玩我的世界:\n 下界挖到远古残骸","刷题:\n 成为虐题狂魔","出公开赛:\n rated,评价很高","骗分:\n \"不可以,总司令\"然后得一半分","放假:\n 自由自在的一个假期","膜拜大神:\n 接受神犇光芒的照耀","造数据:\n 严谨数据,经久耐用","祭祀:\n 获得祖宗的庇护"};
char* gettime()
{
time_t now = time(nullptr);
return ctime(&now);
}
void slowprint(double msec,string test,string color="normal")
{
if(color=="red")cout<<red;
else if(color=="green")cout<<green;
else if(color=="blue")cout<<blue;
else if(color=="purple")cout<<purple;
else if(color=="yellow")cout<<yellow;
else if(color=="sky")cout<<sky;
else if(color=="black")cout<<black;
for(int i=0;i<test.length();i++)
{
cout<<test[i];
Sleep(msec);
}
}
void nb()
{
for(int dsf=1;dsf<=5;dsf++)
{
system("color 10");
Sleep(100);
system("color 10");
Sleep(100);
system("color 30");
Sleep(100);
system("color 40");
Sleep(100);
system("color 10");
Sleep(100);
system("color 60");
Sleep(100);
system("color 70");
Sleep(100);
system("color 80");
Sleep(100);
system("color 90");
Sleep(100);
system("color 00");
Sleep(100);
system("color a0");
Sleep(100);
system("color b0");
Sleep(100);
system("color c0");
Sleep(100);
system("color d0");
Sleep(100);
system("color e0");
}
}
void getevent(string s)
{
srand(time(0));
int a1=rand()%21;
int a2=rand()%21;
int b1=rand()%21;
int b2=rand()%21;
while(a1==a2)a1=rand()%21;
while(b1==b2)b2=rand()%21;
if(s=="万事皆宜"||s=="大奖励"||s=="隐藏:&10000钻石块")
{
cout<<yellow;
cout<<"宜:\n";
slowprint(50," "+y[a1]+"\n");
if(s=="万事皆宜")
{
slowprint(50," "+y[rand()%21]+"\n");
}
else
{
slowprint(50,"万事皆宜\n");
}
}
else if(s=="万事皆不宜"||s=="宇宙满级凶")
{
system("color 8");
slowprint(50,"今天好像没有什么适合做的事情呢...\n");
cout<<"忌:\n";
cout<<" "+j[b1]+"\n"+" "+j[b2]+"\n";
if(s=="万事皆不宜")
{
slowprint(50,"忌:\n "+j[rand()%21]+"\n");
slowprint(50,"忌:\n "+j[rand()%21]+"\n");
}
}
else if(s=="大吉")
{
cout<<red;
slowprint(50,"宜\n");
slowprint(50," "+y[a1]+"\n");
slowprint(50,"万事皆宜\n");
}
else if(s=="中吉"||s=="小吉"||s=="中平"||s=="凶"||s=="中凶")
{
if(s=="中吉"||s=="小吉")cout<<red;
else if(s=="中平")cout<<green;
else system("color 8");
slowprint(50,"宜:\n");
slowprint(50," "+y[a1]+"\n"+" "+y[a2]+"\n");
slowprint(50,"忌:\n");
slowprint(50," "+j[b2]+"\n"+" "+j[b1]+"\n");
}
else if(s=="大凶")
{
system("color 8");
slowprint(50,"万事皆不宜...\n");
cout<<"忌:\n";
cout<<" "+j[b2]+"\n"+" "+j[b1]+"\n";
}
}
int getRP(int n)
{
if(n==0)return rand()%3+8;
else if(n==1||n==2)return rand()%3+6;
else if(n>=3&&n<=5)return rand()%2+5;
else if(n>=6&&n<=9)return rand()%4+1;
else if(n>=10&&n<=12)return rand()%1-1;
else if(a[n]== "中凶")return rand()%3-2;
else if(a[n]=="大凶")return rand()%3-4;
else if(a[n]=="大奖励")return 10;
else if(a[n]=="关机")return -1000;
else if(a[n]=="隐藏:&苦力怕×114514")return -10;
else if(a[n]=="宇宙满级凶")return -10;
else if(a[n]=="宇宙满级吉")return 10;
else if(a[n]=="万事皆不宜")return -10;
else return 114514;
}
void write(string test)
{
for(int i=0;i<test.length();i++)
{
if(test[i]!='&'&&test[i]!='^'&&test[i]!='~'&&test[i]!='$'&&test[i]!='/')cout<<test[i];
else
{
switch(test[i])
{
case '&':Sleep(1000);break;
case '^':Sleep(500);break;
case '~':Sleep(200);break;
case '/':
{
Sleep(50);
break;
}
case '$':
{
cout<<endl;
system("pause");
}
}
}
}
}
int get()
{
srand(time(0));
return rand()%21;
}
long long to_int(string s)
{
long long sum=0;
for(int i=s.size()-1;i>=0;i--)
{
sum+=int(s[i]-'0')*pow(10,i);
}
return sum;
}
int ok(string s)
{
if(s.find("吉"))return 1;
else if(s.find("凶"))return 2;
else return 3;
}
void picking(int n)
{
int vv;
for(int i=1;i<=100;i++)
{
vv=rand()%20+1;
clear
cout<<a[vv];
Sleep(i);
}
Sleep(1000);
clear
slowprint(1,"=======================================================================================================================");
Sleep(500);
cout<<"\n";
string t=gettime();
t.erase(11,16);
cout<<t<<endl;
write("\n你的运势是~.~.~.^\n");
int color=ok(a[vv]);
switch(color)
{
case 1:cout<<a[vv]+"!"<<black;break;
case 2:cout<<a[vv]+"!"<<black;break;
case 3:cout<<a[vv]+"!"<<black;break;
}
cout<<"\n";
if(a[vv]=="大奖励")nb();
if(a[vv]=="关机")
{
slowprint(100,"..................................");
system("shutdown -s -t 60");
}
cout<<endl;
getevent(a[vv]);
cout<<endl;
system("pause");
cout<<normal<<"\n你今天的RP是:\n";
write("~"+to_string(getRP(vv)));
cout<<endl;
cout<<endl;
system("pause");
system("color f");
}
#define shit GetAsyncKeyState(VK_MENU)?1:0
#define exit GetAsyncKeyState(VK_ESCAPE)?1:0
void start()
{
cout<<"按Alt开始抽签,esc结束";
{
while(1)
{
if(shit)picking(get());
if(exit)
{
clear
Sleep(1000);
slowprint(50,"..........");
cout<<"\n\n\n";
return;
}
Sleep(1000);
clear
cout<<"按Alt开始抽签,esc结束";
}
}
}
int main()
{
start();
return 0;
}
2 个赞
这个倒确实,我看看能不能找到
2 个赞