一个C语言写的小游戏——赌博机,适合学习C语言的人学习借鉴。
(A C language to write a small game- gambling machines, suitable for learning C language people learn.)
http://www.pudn.com/Download/item/id/2568776.html
下面介绍赌博规则
庄家(及赌场老板)和玩家(及玩家)各有1000元宝作为提示资金
闲家下注的方式有三种:
(1) 买大 (2)买小 (3)买豹子
下面逐一介绍这三种方式的不同:
买大: 如果闲家所掷的三枚骰子的点数之和大于11,则闲家赢,否则庄家赢
买小:如果闲家所掷的三枚骰子的点数之和小于11,则闲家赢,否则庄家赢
买豹子:如果闲家所掷出的三枚骰子点数相等,则闲家赢,否则庄家赢
买大和买小的赔率都为2,即输家一下注元宝的两倍赔给赢家,买豹子的赔率是10
闲家和下注的元宝数必须在10到100元宝之间
闲家可随时按q键结束赌博,否则继续进行,直到一方的元宝输完为止
游戏规则介绍完毕
祝你玩得愉快
代码:
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#include<math.h>
#include<conio.h>
int a,b,c,bet,betmoney;
int playermoney=1000,dearmoney=1000;
void showtoscreen()
{
printf("下面介绍赌博规则:\n");
printf("*************************************************************\n");
printf("庄家(及赌场老板)和玩家(及玩家)各有1000元宝作为提示资金\n");
printf("闲家下注的方式有三种:\n");
printf("(1) 买大 (2)买小 (3)买豹子\n");
printf("下面逐一介绍这三种方式的不同:\n\n");
printf("买大: 如果闲家所掷的三枚骰子的点数之和大于11,则闲家赢,否则庄家赢\n");
printf("买小:如果闲家所掷的三枚骰子的点数之和小于11,则闲家赢,否则庄家赢\n");
printf("买豹子:如果闲家所掷出的三枚骰子点数相等,则闲家赢,否则庄家赢\n");
printf("买大和买小的赔率都为2,即输家一下注元宝的两倍赔给赢家,买豹子的赔率是10\n");
printf("闲家和下注的元宝数必须在10到100元宝之间\n");
printf("闲家可随时按q键结束赌博,否则继续进行,直到一方的元宝输完为止\n");
printf("游戏规则介绍完毕\n");
printf("祝你玩得愉快\n");
}
int Getbet()
{
int bettype;
printf("\n请选择下注方式");
printf("1.买大 2.买小 3.买豹子\n");
printf("请下注:");
scanf("%d",&bettype);
if((bettype==1)||(bettype==2)||(bettype==3))
{
return bettype;
}
else
{
return 1;
}
}
int getAmount()
{
int betmoney;
printf("你要压多少元宝,最少10个,最多100个.");
scanf("%d",&betmoney);
if(betmoney<10)
{
return 10;
}
if(betmoney>100)
{
return 100;
}
return betmoney;
}
void Throw()
{
printf("欢迎体验赌博机,按键盘任意键掷出骰子\n");
getch();
srand(time(0));
while(!kbhit())
{
a=rand()%6+1;
b=rand()%6+1;
system("cls");
c=rand()%6+1;
printf("骰子在转动:..................按键盘上的任意键来终止转动\n");
printf("第一粒骰子:%d\n第二粒骰子:%d\n第三例骰子:%d\n",a,b,c);
}
getchar();
}
int judge(int a,int b,int c)
{
if(a==b&&a==c)
{
return 3;
}
if(a+b+c>11)
{
return 1;
}
if(a+b+c<11)
{
return 2;
}
else
{
return 0;
}
}
void moneycale()
{
if(judge(a,b,c)==3)
{
betmoney=betmoney*10;
if(bet==3)
{
playermoney+=betmoney;
dearmoney-=betmoney;
printf("豹子,10赔率,玩家赢了%d,玩家还有%d元宝,庄家还剩%d元宝\n",betmoney,playermoney,dearmoney);
}
else
{
playermoney-=betmoney;
dearmoney+=betmoney;
printf("豹子,10赔率,玩家输了%d,玩家还剩%d元宝,庄家还有%d元宝\n",betmoney,playermoney,dearmoney);
}
}
else if(judge(a,b,c)==2)
{
betmoney=betmoney*2;
if(bet==2)
{
playermoney+=betmoney;
dearmoney-=betmoney;
printf("小,2赔率,玩家赢了%d,玩家还有%d元宝,庄家还剩%d元宝\n",betmoney,playermoney,dearmoney);
}
else
{
playermoney-=betmoney;
dearmoney+=betmoney;
printf("小,2赔率,玩家输了%d,玩家还剩%d元宝,庄家还有%d元宝\n",betmoney,playermoney,dearmoney);
}
}
else if(judge(a,b,c)==1)
{
betmoney=betmoney*2;
if(bet==1)
{
playermoney+=betmoney;
dearmoney-=betmoney;
printf("大,2赔率,玩家赢了%d,玩家还有%d元宝,庄家还剩%d元宝\n",betmoney,playermoney,dearmoney);
}
else
{
playermoney-=betmoney;
dearmoney+=betmoney;
printf("大,2赔率,玩家输了%d,玩家还剩%d元宝,庄家还有%d元宝\n",betmoney,playermoney,dearmoney);
}
}
else
{
printf("平局,玩家还有%d,庄家还有%d\n",playermoney,dearmoney);
}
}
int checkmoney(int pm,int dm)
{
if(pm<=0)
{
if(pm==0)
{
printf("你输光了所有的元宝,被赶出赌场\n");
}
else
{
printf("你欠赌场老板%d元宝\n",abs(pm));
}
return 0;
}
if(dm<=0)
{
if(dm==0)
{
printf("老板输光了所有的元宝,\n");
}
else
{
printf("老板欠赌场老板%d元宝\n",abs(dm));
}
return 0;
}
return 1;
}
int main()
{
int Chekmoney;
char ch;
showtoscreen();
for(;;)
{
if(playermoney<10)
{
printf("你的元宝不足10个,不能在赌博了。\n");
break;
}
if(dearmoney<10)
{
printf("你的元宝不足10个,不能在赌博了。\n");
break;
}
bet=Getbet();
repeat:betmoney=getAmount();
if(betmoney>playermoney)
{
printf("你没有这么多元宝,请重新输入。");
goto repeat;
}
if(betmoney>dearmoney)
{
printf("老板没有这么多元宝,请重新输入。");
goto repeat;
}
Throw();
moneycale();
getchar();
Chekmoney=checkmoney(playermoney,dearmoney);
if(Chekmoney==0)
break;
printf("继续玩吗?退出请按q,否则继续\n\n");
ch=getch();
if(ch=='q')
break;
}
return 0;
}
更多内容访问omegaxyz.com