#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
#include<bits/stdc++.h>
#define B 10000
int count1 = 0;
int count2 = 0;
int count3 = 0;
int count4 = 0;
int count5 = 0;
int total = 0;
//菜单
void menu()
{
printf("eggy抽卡模拟器:\n");
printf("---------------------------------------\n");
printf("奖池:\n");
printf("彩光");
printf("紫光\n");
printf("蓝光\n");
printf("---------------------------------------\n");
printf("抽卡数:1 or 10\n");
printf("---------------------------------------\n");
printf("退出exit(0)\n");
}
void wuxing()
{
int wai = rand() % 9 + 1;
switch (wai)
{
case 0:printf("彩光 ***** 苗疆圣女\n");
break;
case 1:printf("彩光 ***** 神月将军夜魄\n");
break;
case 2:printf("彩光 ***** 蔷薇白皇后\n");
break;
case 3:printf("彩光 ***** 蛋糕龙嗝嗝\n");
break;
case 4:printf("彩光 ***** 小天使\n");
break;
case 5:printf("彩光 ***** 玉龙云岫\n");
break;
case 6:printf("彩光 *****小机甲\n");
break;
case 7:printf("彩光限定 ***** 捕梦软软\n");
break;
case 8:printf("彩光限定 ***** 太空船长贝贝\n");
break;
case 9:printf("彩光限定 ***** 川剧少女梧桐\n");
break;
case 10:printf("彩光限定 ***** 蔷薇红皇后\n");
break;
case 11:printf("彩光饰品 ***** 彩虹小马\n");
break;
case 12:printf("彩光坐骑 ***** 龙\n");
break;
case 13:printf("彩光坐骑 ***** 兔\n");
break;
case 14:printf("彩光坐骑 ***** 蛋蛋车\n");
break;
}
count1++;
count2++;
count5++;
total++;
}
void sixing()
{
int four = 0;
int fourwai = 0;
fourwai = rand() % 100;
if (fourwai <50)
{
four = rand() % 3;
switch (four)
{
case 0:printf("紫光**** 东东\n");
break;
case 1:printf("紫光 **** 熊出没\n");
break;
case 2:printf("紫光 **** 红小豆\n");
break;
}
}
else
{
four = rand() % 48;
switch (four)
{
case 0:printf("紫光 **** 东东羊\n");
break;
case 1:printf("紫光 **** 机械鼓手贝克\n");
break;
case 2:printf("紫光 **** 红小豆\n");
break;
case 3:printf("紫光 **** 淘气丸子\n");
break;
case 4:printf("紫光 **** 僵尸博士\n");
break;
case 5:printf("紫光 **** 奥特曼\n");
break;
case 6:printf("紫光 **** 懒洋洋\n");
break;
case 7:printf("紫光 **** 灰太狼\n");
break;
case 8:printf("紫光 **** 仔仔熊\n");
break;
case 9:printf("紫光 **** GGbond\n");
break;
case 10:printf("紫光 **** 星罗猫\n");
break;
case 11:printf("紫光 **** 吾皇猫\n");
break;
case 12:printf("紫光 **** 巴扎黑\n");
break;
case 13:printf("紫光 **** 水母\n");
break;
case 14:printf("紫光 **** 卡罗\n");
break;
case 15:printf("紫光 **** 温妮\n");
break;
case 16:printf("紫光 **** 巧脆骑士\n");
break;
case 17:printf("紫光 **** 砂糖熊\n");
break;
case 18:printf("紫光 **** 抹茶游侠\n");
break;
case 19:printf("紫光 **** 极光女神\n");
break;
case 20:printf("紫光 **** 小福袋\n");
break;
case 21:printf("紫光 饰品 **** 2024眼镜\n");
break;
case 22:printf("紫光 饰品 **** 2024背饰\n");
break;
case 23:printf("紫光 饰品 **** 东东画板\n");
break;
case 24:printf("紫光 饰品 **** 哭哭眼镜\n");
break;
case 25:printf("紫光 饰品**** 东东眼镜\n");
break;
case 26:printf("紫光 **** 熊大、熊二\n");
break;
case 27:printf("紫光 饰品**** 蜂蜜罐\n");
break;
case 28:printf("紫光 饰品**** 蜂蜜眼镜\n");
break;
case 29:printf("紫光 饰品**** 东东调色盘\n");
break;
case 30:printf("紫光 饰品**** 音浪翅膀\n");
break;
case 31:printf("紫光 坐骑*** 鸡\n");
break;
}
}
count1 = 0;
count2++;
count4++;
total++;
}
void sanxing()
{
int three = rand() % 13;
switch (three)
{
case 0:printf("蓝光 *** 鹅鹅杀\n");
break;
case 1:printf("蓝光 *** 厨师\n");
break;
case 2:printf("蓝光 *** 小莓莓\n");
break;
case 3:printf("蓝光 *** 小芝芝\n");
break;
case 4:printf("蓝光 *** 小盐盐\n");
break;
case 5:printf("蓝光 *** 布偶卡卡\n");
break;
case 6:printf("蓝光 *** 布偶贝贝\n");
break;
case 7:printf("蓝光 *** 布偶曜曜\n");
break;
case 8:printf("蓝光 *** 小夜曲\n");
break;
case 9:printf("蓝光 *** 梦幻曲\n");
break;
case 10:printf("蓝光 *** 摇篮曲\n");
break;
case 11:printf("蓝光 *** 我的世界\n");
break;
case 12:printf("蓝光 *** 光头强\n");
break;
}
count1++;
count2++;
count3++;
total++;
}
//单次抽卡
void one()
{
int up = rand() % B;
if (count2 <= 73)
{
if (count1 <= 8)
{
if (up < 60)
{
wuxing();
}
else if (up >= 60 && up < 510 + 60)
{
sixing();
}
else
{
sanxing();
}
}
else if (count1 >= 9)
{
if (up < 60)
{
wuxing();
}
else if (up >= 60 && up < 510 + 60 + 5100 * (count1 - 8))
{
sixing();
}
else
{
sanxing();
}
}
}
else
{
if (count1 <= 8)
{
if (up < 60 + 600 * (count2 - 73))
{
wuxing();
}
else if (up >= 60 && up < 510 + 60)
{
sixing();
}
else
{
sanxing();
}
}
else if (count1 >= 9)
{
if (up < 60)
{
wuxing();
}
else if (up >= 60 && up < 510 + 60 + 5100 * (count1 - 8))
{
sixing();
}
else
{
sanxing();
}
}
}
}
int main()
{
while (1)
{
menu();//菜单展示
srand(time(0));//设置随机种子
int x = 0;
printf("请输入抽卡数:\n");
scanf("%d", &x);
if (x == 1)
{
one();
//printf("count1 = %d\n", count1);
printf("count2 = %d\n", count2);
}
else if (x == 10)
{
for (int i = 0; i < 10; i++)
{
one();
//printf("count1 = %d\n", count1);
printf("count2 = %d\n", count2);
}
}
else if (x == 0)
{
printf("总共抽取%d抽\n", total);
printf("彩光共%d个\n", count5);
printf("紫光共%d个\n", count4);
printf("蓝光共%d个\n", count3);
break;
}
system("pause");
system("cls");
}
return 0;
}