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;
    }
    
  • 相关阅读:
    转载的:关于matlab中princomp的使用说明
    STL容器Vector
    Ubuntu20.04下创建Pycharm桌面图标
    c++和c中const的区别
    内存性能分析\垃圾回收 文章
    jq使用教程
    iOS15适配 UITableView下移22px
    linux 内核头文件(转)
    bjfu1143 小蝌蚪安家 解题报告
    hdu 1874 畅通工程续 flody
  • 原文地址:https://www.cnblogs.com/ShineEternal/p/10834344.html
Copyright © 2011-2022 走看看