#include
#include
int again,cho,num,about,fla=0,train;
int three=0,five=0,ten=0;
long long money=0;long shop[4],pric[5]={0,30,60,90};
int main()
{
if(three==3) {
printf("恭喜三连胜!\n");
Sleep(1000);
printf("我们为你准备了丰厚的奖品:150元,复活卡3张,冰冻卡3张,无敌卡3张\n\n");
money+=150,shop[1]+=3,shop[2]+=3,shop[3]+=3;
three=0;Sleep(3000);
}
if(five==5) {
printf("恭喜五连胜!\n");
Sleep(1000);
printf("我们为你准备了丰厚的奖品:300元,复活卡6张,冰冻卡6张,无敌卡6张\n\n");
money+=300,shop[1]+=6,shop[2]+=6,shop[3]+=6;
five=0;Sleep(3000);
}
if(ten==10) {
printf("恭喜十连胜!\n");
Sleep(1000);
printf("我们为你准备了丰厚的奖品:1000元,复活卡15张,冰冻卡15张,无敌卡15张\n\n");
money+=1000,shop[1]+=15,shop[2]+=15,shop[3]+=15;
ten=0;Sleep(3000);
}
srand(time(NULL));
int b,p,x,c,d,e=0,f=0,g,h=0,i=1,j,l,m,n=5,o=0,flag=0,t1=0,t2=0,last=0;
printf("选择你的杀手等级(1-5),按6->商店,按7->规则,按8->关于,按9->退出\n");
scanf("%d",&b);
if(b>9) {
printf("请不要乱来!\n\n");
Sleep(1000);return main();
}
if(b==9) return 0;
if(b==8)
{
printf("---------------------------------------------\n游戏信息\n");
printf("游戏版本:1.0.9.3(较1.0.9.2修复了一些bug,加入了连胜奖励,但仍然存在bug) 更新信息按1;\n");
printf("原创: CSDN: ShineEternal ,更新: 51CTO: Jeffrey2020\n");
printf("支持作者请按2,喷作者请按3,返回主页请按4;\n");
scanf("%d",&about);
switch(about)
{
case 1:printf("\n1.1.0版本:\n更新时间:2月15日前\n更新目标:1.研发冰冻卡\n\t 2.修复其他bug");break;
case 2:printf("爱你哟,么么哒!");if(fla==0) money+=60,fla=1;break;
case 3:printf("我记住你了");Sleep(2000);printf("\n踢出游戏!");return 0;break;
}
printf("\n---------------------------------------------\n\n");
return main();
}
if(b==7)
{
Sleep(1000);printf("\n复活卡可死后多加一条命,单局只能使用一次,决斗时无法生效\n");
Sleep(1000);printf("冰冻卡可冰冻指定杀手一回合,死后可随机诅咒(暂未研发)\n");
Sleep(1000);printf("无敌卡可开局无敌一回合(暂未研发)\n");
Sleep(1000);printf("其他规则参见CSDN: ShineEternal 的博客\n");
Sleep(1000);printf("10秒后返回主页\n\n");
Sleep(10000);return main();
}
if(b==6)
{
printf("---------------------------------------------\n杀手商店---");
printf("您现在有%d元\n",money);
printf("复活卡30一张,您现在拥有%d张(购买:按1)\n",shop[1]);
printf("(暂不可买)冰冻卡60一张,您现在拥有%d张(购买:按2)\n",shop[2]);
printf("(暂不可买)无敌卡90一张,您现在拥有%d张(购买:按3)\n(返回主页:按4)\n",shop[3]);
scanf("%d",&cho);
if(cho==4) {
printf("---------------------------------------------\n\n");
return main();
}
printf("请输入购买个数:");
scanf("%d",&train);
if(money>=pric[cho]train) {
money-=pric[cho]
train;
shop[cho]+=train;
printf("购买成功,道具已开始生效!3秒后返回主页\n---------------------------------------------\n\n");
Sleep(3000);
return main();
}
else {
printf("钱不够了!3秒后返回主页\n---------------------------------------------\n\n");
Sleep(3000);
return main();
}
}
printf("\n");
int a[6]={0,1,2,3,4,5},k[10]={0};
AA:while(n!=1)
{
if(n==2&&last==0) {
Sleep(1000);
printf("\n决斗时刻!\n");
for(int las=1;las<=5;++las)
{
if(t1==0&&a[las]!=0) t1=las;
else if(a[las]!=0&&t1!=0) t2=las;
}
Sleep(1000);
printf("%d号与%d号冠军之争!\n\n",t1,t2);
last=1;
}
if(i==1)
{
Sleep (1000);
printf("存活者:%d %d %d %d %d\n\n",a[1],a[2],a[3],a[4],a[5]);
}
if(i==6) i=1;
if(a[i]==0)
{
i++;
continue;
}
Sleep(1000);
printf("轮到%d号\n",i);
if(i==b)
{
Sleep(1000);
printf("选择你的目标:%d %d %d %d %d\n",a[1],a[2],a[3],a[4],a[5]);
scanf("%d",&p);
}
else
{
do
p=rand()%5+1;
while(p!=i);
while(a[p]==0||p==i) p=rand()%5+1;
}
Sleep(1000);
printf("%d号选择了%d号\n",i,p);
Sleep(1000);
printf("%d号掷出了%d\n",i,c=rand()%6+1);
if(i>=c)
{
a[p]=0;
Sleep(1000);
printf("%d号杀死了%d号\n\n",i,p);
n--;
}
else {Sleep(1000); printf("%d号没有杀死目标\n\n",i);}
if(i==5&&a[p]==0)
{
if(rand()%3==1||rand()%3==2)
{
if(p==1&&f<=2)
{
Sleep(1000); printf("5号无视1号复活权\n");
Sleep(800); printf("直接将其杀死\n\n");
f=3;
}
if(p==2&&h==0)
{
Sleep(1000); printf("5号无视2号复活权\n");
Sleep(800); printf("直接将其杀死\n\n");
h=1;
}
if(p==3&&o==0)
{
Sleep(1000); printf("5号无视3号复活权\n");
Sleep(800); printf("直接将其杀死\n\n");
o=1;
}
}
}
DD:if(a[1]==0)
{
if(b==1&&flag==1) goto AA;
if(f<=2)
{
Sleep(1000);
printf("1号使用复活权\n");
f++; n++; a[1]=1;
if(f==1)
{
do g=rand()%5+1;
while(a[g]==0||g==1);
Sleep(1000); printf("并随机诅咒了%d号\n",g);
Sleep(1000); printf("%d号死了\n\n",g);
a[g]=0; n--;
}
}
else a[1]=0;
}
if(a[2]==0&&h==0)
{
if(b==2&&flag==1) goto AA;
Sleep(1000);
printf("2号使用复活权\n");
n++;
a[2]=2;
do m=rand()%5+1;
while(a[m]==0||m==2);
Sleep(1000); printf("并随机诅咒了%d号\n",m);
if(rand()%2==1)
{
a[m]=0;
Sleep(1000); printf("%d号死了\n\n",m);
n--;
}
else
{
Sleep(1000); printf("但他没死\n\n");
}
h=1;goto DD;
}
if(a[3]==0&&o==0)
{
if(b==3&&flag==1) goto AA;
Sleep(1000); printf("3号使用复活权\n\n"); a[3]=3; o++; n++;
}
if(i==4&&a[p]==0)
{
if(n==1) break;
else
{
Sleep(1000); printf("4号使用再次***权\n");
goto AA;
}
}
if(a[b]==0&&e==0)
{
if(n==1) {
num=1;
goto CC;
}
if(shop[1]>=1&&flag==0) {
Sleep(1000);
printf("%d号使用复活卡继续游戏\n\n",b);
flag=1;
a[b]=b;
shop[1]--;
i++;n++;goto AA;
}
printf("你死了,是否继续?是按0,否按1\n");
scanf("%d",&x);
if(x==1) {
num=n;
goto BB;
}
else if(x==0) e=1,num=n;
}
i++;
}
CC:for(j=1;j<=5;j++) if(a[j]!=0) d=j;
Sleep(800);
printf("%d号赢了",d);
if(d==b) {
printf("\n恭喜你第1名!赢得30元\n"),money+=30;
three++,five++,ten++;
}
else {
BB:Sleep(1000);
printf("\n结算:你的成绩为第%d名 奖励:",num+1);
switch(num)
{
case 1:printf("20元\n");money+=20;break;
case 2:printf("10元\n");money+=10;break;
case 3:printf("5元\n");money+=5;break;
case 4:printf("无\n");break;
default:printf("(电脑出现未知现象,发生了什么?这是一个bug,待修复)\n");
}
three=0,five=0,ten=0;
}
printf("游戏结束\n\n是否重新一局?是按0,否按1,退出钱将清零\n");
scanf("%d",&again);
if(again==0) {
printf("\n\n");
return main();
}
if(again==1) return 0;
}````