本文章为原创,请勿抄袭
#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");
}
}
}
喜欢就收藏一下再走吧!