澳门赌场猜数游戏

本文章为原创,请勿抄袭

#include<bits/stdc++.h>
#include<stdlib.h>
#include<windows.h>
using namespace std;
int play=0;
struct ty{
 int rank;
 int an;
};
struct data{
 long long m=0;
 char s[100];
 int ans=0;
 int pos=0;
 int fs=0;
 int fa=0;
 int fb=0;
 int fc=0;
 bool vip=0;
 int yd=0;
 int sd=0;
 bool pick=0;
 int sets=0;
 void getname(){
  scanf("%s",&s);
 }
 void putname(){
  int i;
  for(i=0;i<strlen(s);i++)
      printf("%c",s[i]);
 }
 void money(int num){
  m+=num;
 }
};
int cmp(ty a,ty b){
 if(a.an<=b.an){
  return 1;
 }
 return 0;
}
data a[101];
int find(data a[],data b,int n){
 int i;
 for(i=1;i<=n;i++){
  if(strcmp(a[i].s,b.s)==0){
   return i;
  }
 }
 return -1;
}
long long pool=0;
int flag=0;
char cmd[100];
void qq(){
 int i;
 for(i=1;i<=play;i++){
  if(a[i].m<0){
       a[i].putname();
       printf("已欠债%d元!\n",0-a[i].m);
  }
 }
}
void house(){
 int i;
 for(i=1;i<=play;i++){
  if(a[i].vip==1||a[i].pick==1){
   a[i].money(a[i].fc*200);
   a[i].money(a[i].fb*600);
   a[i].money(a[i].fa*1200);
   a[i].money(a[i].fs*2400);
  }
  a[i].money(a[i].fc*100);
  a[i].money(a[i].fb*300);
  a[i].money(a[i].fa*600);
  a[i].money(a[i].fs*1200);
 }
 qq();
}
int main(){
 srand((unsigned int)time(NULL));
 system("cls");
 system("title 澳门赌场 Ver1.0 ");
 printf("请输入玩家人数:");
  scanf("%d",&play);
  if(play==0||play>=100){
   exit(100);
  }
  system("cls");
  int i;
  data nls;
  for(i=1;i<=play;i++){
   printf("请输入玩家%d的姓名:",i);
   nls.getname();
   if(find(a,nls,i)==-1){
    strcpy(a[i].s,nls.s);
    memset(nls.s,0,sizeof(nls.s));
   }else{
    printf("禁止重名!\n");
    i--;
    continue;
   }
 }
 system("cls");
 printf("[系统]输入/sj进入送金场\n");
 printf("[系统]输入/dj进入赌金场\n");
 printf("[系统]输入/mf来买房\n");
 printf("[系统]输入/xy来幸运赚取金币\n");
 printf("[系统]输入/money来查询金币\n");
 printf("[系统]输入/cls来清屏\n");
 printf("[系统]输入/exit退出\n");
 for(i=1;i<=play;i++){
  a[i].money(1000);
 }
 printf("[系统]已为所有人分配1000金币\n");
 while(1){
  scanf("%s",cmd);
  system("cls");
  if(strcmp(cmd,"/sj")==0){
   printf("进入送金场...\n");
   Sleep(1000);
   int k=rand()%2+1;
   system("cls");
   if(k==1){
    printf("抽到的是:猜奇偶\n");
    for(i=1;i<=play;i++){
     printf("请输入");
     a[i].putname();
     printf("的赌注:A奇B偶");
     char ch[100]={0};
      scanf("%s",ch);
      if(ch[0]=='a'||ch[0]=='A'){
       a[i].ans=1;
     }else if(ch[0]=='b'||ch[0]=='B'){
       a[i].ans=2;
     }else{
      printf("只能选A或B!\n");
      i--;
      continue;
     }
    } 
    system("cls");
    printf("正确答案是:");
    int u=rand()%2+1;
    if(u%2==0){
     printf("偶");
    }else{
     printf("奇");
    }
    int all=0;
    printf("\n恭喜");
    for(i=1;i<=play;i++){
     if(a[i].ans%2==u%2){
      all++;
      if(a[i].vip==1){
       a[i].m+=2000;
      }
      a[i].m+=2000;
      a[i].putname();
      printf(",");
      a[i].yd+=1;
     }else{
      a[i].sd+=1;
     }
     a[i].ans=0;
    }
    printf("投注正确!正确:%d人\n他们会获得2000金币\n",all);
    house();
    continue; 
   }else{
    printf("抽到的是:猜多少\n");
    int q=rand()%100+1;
    ty au[100]={0};
    for(i=1;i<=play;i++){
     printf("请输入");
     a[i].putname();
     printf("的赌注(1-100):");
     scanf("%d",&a[i].ans);
     a[i].ans=a[i].ans-q;
     a[i].ans=abs(a[i].ans);
     au[i].an=a[i].ans;
     au[i].rank=i;
    }
    int c=play/3;
    system("cls");
    printf("正确答案是%d\n恭喜",q); 
    sort(au+1,au+play+1,cmp);
    for(i=1;i<=play;i++){
     if(i<=c){
      a[au[i].rank].putname();
      if(a[i].vip==1){
       a[i].m+=2000;
      }
      printf(",");
      a[au[i].rank].m+=2000;
      a[i].yd+=1;
     }
     else if(i>c&&au[i].an==au[i-1].an){
      a[au[i].rank].putname();
      if(a[i].vip==1){
       a[i].m+=2000;
      }
      printf(",");
      a[au[i].rank].m+=2000;
      a[i].yd+=1;
     }
     else{
       a[i].sd+=1;
     }
    }
    printf("投注正确!每人分到2000金币!\n");
    house();
    continue;    
   }
  }else if(strcmp(cmd,"/dj")==0){
   for(i=1;i<=play;i++){
    if(a[i].m<500){
     a[i].putname(); 
     printf("的钱数不够,请先玩送金场!\n");
     flag=1;
    }
   }
   if(flag==1){
    flag=0;
    continue;
   }
   printf("进入赌金场...\n");
   Sleep(1000); 
   int k=rand()%2+1;
   system("cls");
   for(i=1;i<=play;i++){
    printf("请输入玩家");
    a[i].putname();
    printf("的赌注:");
    scanf("%d",&a[i].pos);
    if(a[i].pos<500||a[i].pos>a[i].m){
     printf("赌金不能少于500或多于钱数!\n");
     i--;
     continue;
    }else{
     a[i].m-=a[i].pos;
     pool+=a[i].pos;
     a[i].pos=0;
    }
   }
   if(k==1){
    printf("抽到的是:猜奇偶\n");
    for(i=1;i<=play;i++){
     printf("请输入");
     a[i].putname();
     printf("的赌注:A奇B偶");
     char ch[100]={0};
      scanf("%s",ch);
      if(ch[0]=='a'||ch[0]=='A'){
       a[i].ans=1;
     }else if(ch[0]=='b'||ch[0]=='B'){
       a[i].ans=2;
     }else{
      printf("只能选A或B!\n");
      i--;
      continue;
     }
    } 
    system("cls");
    printf("正确答案是:");
    int u=rand()%2+1;
    if(u%2==0){
     printf("偶");
    }else{
     printf("奇");
    }
    int all=0;
    printf("\n恭喜");
    for(i=1;i<=play;i++){
     if(a[i].ans%2==u%2){
      all++;
      a[i].putname();
      printf(",");
      a[i].yd++;
     }else{
      a[i].sd++;
     }
    }
    printf("投注正确!正确:%d人\n他们会将2倍奖池金币平分,",all);
    int text=pool*2-(pool*2)%all;
    text/=all;
    for(i=1;i<=play;i++){
     if(a[i].ans%2==u%2){
      a[i].money(text);
      if(a[i].vip==1){
       a[i].money(text);
      }
     }    
     a[i].ans=0;
    }
    printf("分到%d个金币\n",text); 
    house();
    continue; 
   }else{
    int all=0;
    printf("抽到的是:猜多少\n");
    int q=rand()%100+1;
    ty au[100]={0};
    for(i=1;i<=play;i++){
     printf("请输入");
     a[i].putname();
     printf("的赌注(1-100):");
     scanf("%d",&a[i].ans);
     a[i].ans=a[i].ans-q;
     a[i].ans=abs(a[i].ans);
     au[i].an=a[i].ans;
     au[i].rank=i;
    }
    int c=play/3;
    system("cls");
    printf("正确答案是%d\n恭喜",q); 
    sort(au+1,au+play+1,cmp);
    for(i=1;i<=play;i++){
     if(i<=c){
      a[au[i].rank].putname();
      printf(",");
      all++;
      a[i].yd++;
      
     }
     else if(i>c&&au[i].an==au[i-1].an){
      a[au[i].rank].putname();
      printf(",");
      all++;
      a[i].yd++;
     }
     else{
      a[i].sd++;
     }
    }
    printf("投注正确!每人将平分2倍奖池金币,");
    int text=pool*2-(pool*2)%all;
    text/=all;
    printf("平分到%d个金币!\n",text);
    for(i=1;i<=play;i++){
     if(i<=c){
      a[i].money(text);
      if(a[i].vip==1){
       a[i].money(text);
      }
     }
     if(i>c&&au[i].an==au[i-1].an){
      a[i].money(text);
      if(a[i].vip==1){
       a[i].money(text);
      }
     }
     a[i].pos=0;
     a[i].ans=0;
    }
    house();
    continue;
   }
  }else if(strcmp(cmd,"/mf")==0){
   printf("请输入玩家姓名:");
   data sp;
   scanf("%s",sp.s);
   if(find(a,sp,play)==-1){
    printf("没有此玩家!\n");
    continue;
   }else{
    printf("C级房:1000金币,每局收成100金币\n");
    printf("B级房:2000金币,每局收成300金币\n");
    printf("A级房:5000金币,每局收成600金币\n");
    printf("S级房:10000金币,每局收成1200金币\n");
    printf("请输入玩家");
    a[find(a,sp,play)].putname();
    printf("需要购买的C级房数量:");
    int p=0;
    scanf("%d",&p);
    if(p*1000>a[find(a,sp,play)].m){
     printf("钱数不够!\n");
     continue;
    }else{
     a[find(a,sp,play)].m-=p*1000;
     printf("已购买%d个C级房",p);
     a[find(a,sp,play)].fc+=p;
    }
    
    printf("\n请输入玩家");
    a[find(a,sp,play)].putname();
    printf("需要购买的B级房数量:");
    p=0;
    scanf("%d",&p);
    if(p*2000>a[find(a,sp,play)].m){
     printf("钱数不够!\n");
     continue;
    }else{
     a[find(a,sp,play)].m-=p*2000;
     printf("已购买%d个B级房",p);
     a[find(a,sp,play)].fb+=p;
    }
    
    printf("\n请输入玩家");
    a[find(a,sp,play)].putname();
    printf("需要购买的A级房数量:");
    p=0;
    scanf("%d",&p);
    if(p*5000>a[find(a,sp,play)].m){
     printf("钱数不够!\n");
     continue;
    }else{
     a[find(a,sp,play)].m-=p*5000;
     printf("已购买%d个A级房",p);
     a[find(a,sp,play)].fa+=p;
    }
    
    printf("\n请输入玩家");
    a[find(a,sp,play)].putname();
    printf("需要购买的S级房数量:");
    p=0;
    scanf("%d",&p);
    if(p*10000>a[find(a,sp,play)].m){
     printf("钱数不够!\n");
     continue;
    }else{
     a[find(a,sp,play)].m-=p*10000;
     printf("已购买%d个S级房",p);
     a[find(a,sp,play)].fa+=p;
    }
    continue;
   }
  }else if(strcmp(cmd,"/xy")==0){
   int mo=rand()%11+1;
   printf("请输入玩家姓名:");
   data pp;
   scanf("%s",pp.s);
   if(find(a,pp,play)==-1){
    printf("没有此玩家!\n");
    continue;
   }else{
    int zood=find(a,pp,play);
    int lg;
    switch(mo){
     case 1:a[zood].putname();printf("获得5000金币!\n");a[zood].money(5000);break;
     case 2:a[zood].putname();printf("获得4000金币!\n");a[zood].money(4000);break;
     case 3:a[zood].putname();printf("获得3000金币!\n");a[zood].money(3000);break;
     case 4:a[zood].putname();printf("获得2000金币!\n");a[zood].money(2000);break;
     case 5:a[zood].putname();printf("获得1000金币!\n");a[zood].money(1000);break;
     case 6:a[zood].putname();printf("获得0金币!\n");break;
     case 7:a[zood].putname();printf("失去了5000金币!\n");a[zood].money(-5000);break;
     case 8:a[zood].putname();printf("失去了4000金币!\n");a[zood].money(-4000);break;
     case 9:a[zood].putname();printf("失去了3000金币!\n");a[zood].money(-3000);break;
     case 10:a[zood].putname();printf("失去了2000金币!\n");a[zood].money(-2000);break;
     case 11:a[zood].putname();printf("失去了1000金币!\n");a[zood].money(-1000);break;
    }
    if(a[zood].m<0){
     printf("该玩家已经欠债了!\n");
     continue;
    }
   }
  }else if(strcmp(cmd,"/money")==0){
   data p;
   printf("请输入玩家名字:");
   char sn[100];
   scanf("%s",sn);
   strcpy(p.s,sn);
   if(find(a,p,play)==-1){
    printf("没有此玩家!\n");
    continue;
   }else{
    a[find(a,p,play)].putname();
    printf("的钱数:%d金币",a[find(a,p,play)].m);
    printf("\n");
    continue; 
   }
  }else if(strcmp(cmd,"/exit")==0){
   exit(00000000000);
   continue;
  }else if(strcmp(cmd,"/cls")==0){
   system("cls");
   continue;
  }else if(strcmp(cmd,"/set")==0){
   printf("请输入秘钥:");
   char sign[100];
   scanf("%s",sign);
   if(strcmp(sign,"iloveyou0102")==0){
    system("cls");
    int t;
    data qw;
    printf("请输入被执行人:");
    scanf("%s",&qw.s);
    printf("请输入钱数:"); 
    scanf("%d",&t);
    if(find(a,qw,play)==-1){
     printf("此玩家不存在!\n");
     continue;
    }
    a[find(a,qw,play)].money(t);
   }
  }else if(strcmp(cmd,"/color")==0){
   char ss[2];
   scanf("%s",ss);
   char nn[100]="color ";
   nn[6]=ss[0];
   nn[7]=ss[1];
   system(nn);
  }else if(strcmp(cmd,"/error")==0){
   vector<int>vc;
   vc.at(0)++;
  }else if(strcmp(cmd,"/vipsdasadadasdadda")==0){
   printf("请输入玩家名称:");
   data app;
   scanf("%s",app.s);
   int que=find(a,app,play);
   if(que==-1){
    printf("玩家不存在!\n");
    continue;
   }else{
    if(a[que].m<12345){
     printf("钱数不足12345金币!");
    }else{
     printf("已为");
     a[que].putname();
     printf("创建VIP!");
     a[que].m-=12345;
     a[que].vip=1;
     printf("\nVIP福利:\n每局可多获得1倍加成;\n无需信誉度即可借账;\n可选择亲友,使其房子加成×2\n");
     printf("请输入你的亲友名:");
     data ssr;
     scanf("%s",ssr.s);
     int am=find(a,ssr,play);
     if(am==-1){
      printf("此玩家不存在!");
      while(1){
       printf("请输入你的亲友名:");
       scanf("%s",ssr.s);
       int am=find(a,ssr,play);
       if(am==-1){
        printf("此玩家不存在!");
       }else{
        break;
       }
      } 
     }else{
      a[am].pick=1;
     }
     continue;
    }
   }
  }else{
   printf("没有本指令!\n");
  }
 }
}

喜欢就收藏一下再走吧!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值