zoukankan      html  css  js  c++  java
  • c++小游戏——杀手

    杀手小游戏

    会有一个存活者:(1 2 3 4 5),如果出现(1 0 3 4 5),代表二号已经死了。

    一号有3次复活权 且有一次随机诅咒权(即当自己被杀死时,会随机诅咒另外一个人,当然不是死人或自己,使其死亡)

    二号有一次复活权 且有一次随机诅咒权(但目标死亡率为50%)

    三号有一次复活权

    四号有再次攻击权(即当4号杀死一个人时,便可以再次攻击一个人)

    五号有无视复活权(当成功杀死一个人时,有2/3的几率可以无视目标复活权直接将其杀死)

    #include<cstdio>
    #include<cstdlib>
    #include<ctime>
    #include<windows.h>
    int main()
    {
    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;
    printf("选择你的杀手等级(1-5)
    ");
    scanf("%d",&b);
    printf("
    ");
    int a[6]={0,1,2,3,4,5},k[10]={0};
    AA:while(n!=1)
    {
    if(i==1) 
    {
    Sleep (1000);
    printf("存活者:%d %d %d %d %d
    
    ",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号
    ",i);
    if(i==b)
    {
    Sleep(1000);
    printf("选择你的目标:%d %d %d %d %d
    ",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号
    ",i,p);
    Sleep(1000);
    printf("%d号掷出了%d
    ",i,c=rand()%6+1);
    
    if(i>=c)
    {
    a[p]=0;
    Sleep(1000);
    printf("%d号杀死了%d号
    
    ",i,p);
    n--;
    }
    else {Sleep(1000); printf("%d号没有杀死目标
    
    ",i);}
    if(i==5&&a[p]==0)
    {
    if(rand()%3==1||rand()%3==2)
    {
    if(p==1&&f<=2)
    {
    Sleep(1000); printf("5号无视1号复活权
    ");
    Sleep(800); printf("直接将其杀死
    
    ");
    f=3;
    }
    if(p==2&&h==0)
    {
    Sleep(1000); printf("5号无视2号复活权
    ");
    Sleep(800); printf("直接将其杀死
    
    ");
    h=1;
    }
    if(p==3&&o==0)
    {
    Sleep(1000); printf("5号无视3号复活权
    ");
    Sleep(800); printf("直接将其杀死
    
    ");
    o=1;
    }
    }
    }
    if(a[1]==0)
    {
    if(f<=2)
    {
    Sleep(1000);
    printf("1号使用复活权
    ");
    f++; n++; a[1]=1;
    if(f==1)
    {
    do g=rand()%5+1;
    while(a[g]==0||g==1);
    Sleep(1000); printf("并随机诅咒了%d号
    ",g); 
    Sleep(1000); printf("%d号死了
    
    ",g);
    a[g]=0; n--;
    }
    }
    else a[1]=0;
    }
    if(a[2]==0&&h==0)
    {
    Sleep(1000);
    printf("2号使用复活权
    ");
    n++;
    a[2]=2;
    do m=rand()%5+1;
    while(a[m]==0||m==2);
    Sleep(1000); printf("并随机诅咒了%d号
    ",m);
    if(rand()%2==1)
    { 
    a[m]=0; 
    Sleep(1000); printf("%d号死了
    
    ",m);
    n--;
    } 
    else 
    {
    Sleep(1000); printf("但他没死
    
    ");
    } 
    h=1;
    }
    if(a[3]==0&&o==0)
    {
    Sleep(1000); printf("3号使用复活权
    
    "); a[3]=3; o++; n++;
    }
    if(i==4&&a[p]==0)
    {
    if(n==1) break;
    else
    {
    Sleep(1000); printf("4号使用再次攻击权
    ");
    goto AA;
    }
    }
    if(a[b]==0&&e==0)
    {
    if(n==1) break;
    printf("你死了,是否继续?是按0,否按1
    ");
    scanf("%d",&x);
    if(x==1) break;
    else e=1;
    }
    i++;
    }
    for(j=1;j<=5;j++) if(a[j]!=0) d=j;
    if(x!=1)
    {
    Sleep(800);
    printf("%d号赢了",d);
    }
    else
    printf("游戏结束"); 
    return 0;
    }
    
  • 相关阅读:
    poj 1328 Radar Installation (贪心)
    hdu 2037 今年暑假不AC (贪心)
    poj 2965 The Pilots Brothers' refrigerator (dfs)
    poj 1753 Flip Game (dfs)
    hdu 2838 Cow Sorting (树状数组)
    hdu 1058 Humble Numbers (DP)
    hdu 1069 Monkey and Banana (DP)
    hdu 1087 Super Jumping! Jumping! Jumping! (DP)
    必须知道的.NET FrameWork
    使用记事本+CSC编译程序
  • 原文地址:https://www.cnblogs.com/vercont/p/10210101.html
Copyright © 2011-2022 走看看