C语言赌博机掷骰子

一个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

  • 0
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值