C语言中关于掷骰子和赌注的代码编写

C语言中关于掷骰子和赌注的代码编写,第1张

#include <stdio.h>

#include <stdlib.h>

#include <time.h>

#define MONEY 200

int get_num(void)

{

    srand(clock())

    

    return 1+rand()%6

}

int win(int me_num,int computer_num,int n,int *me,int *computer)

{

    if(me_num-computer_num > 0)

    {

        printf("太厉害了,您这把赢了呢!\n")

        printf("您的财富 +%d\n",n*2)

        *me+=n*2

        printf("计算机的财富 -%d\n",n)

        *computer-=n

        printf("您当前的财富为 %d\n计算机当前的财富为 %d\n",*me,*computer)

        if(*computer < 0)

        {

            printf("太厉害了、太厉害了,计算机被你打败了!\n")

            return -1

        }

        return 0

    }

    else if(me_num-computer_num < 0)

    {

        printf("不好,您输了!\n")

        printf("您的财富 -%d\n",n)

        *me-=n

        printf("计算机的财富 +%d\n",n*2)

        *computer+=n*2

        printf("您当前的财富为 %d\n计算机当前财富为 %d\n",*me,*computer)

        if(*me < 0)

        {

            printf("我们非常遗憾地通知您,由于您的帐户欠费,我们做了一个艰难的决定,把您赶出赌场,大赌伤身,小赌宜情,回家好好过日子吧!\n您被赶出了赌场!\n")

            return -1

        }

        return 0

    }

    else

    {

        printf("不分上下,打成平手,让我们再来决战一次吧!\n")

        printf("您的财富 +%d\n",n)

        *me+=n

        printf("计算机的财富 +%d\n",n)

        *computer+=n

        printf("您当前的财富为 %d\n计算机当前财富为 %d\n",*me,*computer)

        return 0

    }

}

int main(int argc,char **argv)

{

    int computer=MONEY

    int me=MONEY

    int me_n=0,computer_n=0

    int me_num=0,computer_num=0

    int o

    printf("欢迎来到掷骰子游戏!\n现在是人机对战模式,您和计算机现在都拥有%d财富!\n",MONEY)

    printf("游戏规则:\n按1键进行下注,不设置则默认按上次下的注计算\n按0键进行掷骰子\n按9键查看帮助\n按2键查看自己的财富\n按3键查看计算机的财富\n按4键退出游戏\n")

    while(1)

    {

        printf("输入 *** 作:")

        scanf("%d",&o)

        switch(o)

        {

            case 0:

                if(me_n == 0)

                {

                    printf("您还没有下注,请先下注!\n")

                    break

                }

                printf("开始掷骰子 . . .\n")

                me_num=get_num()

                printf("您掷得的骰子为 %d\n",me_num)

                printf("计算机开始掷骰子 . . .\n")

                computer_num=get_num()

                printf("计算机掷得的骰子为 %d\n",computer_num)

                if(win(me_num,computer_num,me_n,&me,&computer) == -1)

                    goto end

                break

            case 1:

                while(1)

                {

                    printf("请输入您的赌金:")

                    if(scanf("%d",&me_n) != 1)

                    {

                        printf("输入的赌金出错,请重新输入!\n")

                        continue

                    }

                    if(me_n > me)

                    {

                        printf("您的赌金不够,请重新输入!\n")

                        continue

                    }

                    if(me_n > computer)

                    {

                        printf("啊哦,计算机的财富没有这么多哦,您太厉害了,请输下一个计算机可承受的注吧!\n")

                        continue

                    }

                    break

                }

                break

                

            case 2:

                printf("您当前的财富为:%d\n",me)

                break

            case 3:

                printf("计算机当前的财富为: %d\n",computer)

                break

            case 4:

                goto end

                break

            case 9:

                printf("游戏规则:\n按1键进行下注,不设置则默认按上次下的注计算\n按0键进行掷骰子\n按9键查看帮助\n按2键查看自己的财富\n按3键查看计算机的财富\n按4键退出游戏\n")

                break

            default:

                printf("\n错误的 *** 作,请看帮忙!\n")

        }

    }

end:

    printf("游戏结束!\n")

    return 0

}

#include<iostream>

using namespace std

int main()                          //主函数

{char c=0,a                        //c用于存放x或d,a用于存放开出来的数

 srand(time(0))                    //种随机种子

 do{printf("押大请按D,押小请按X,退出请按T:")

    fflush(stdin)                  //清除输入缓冲区

    scanf("%c",&c)                 //接受输入

    if(c=='t'||c=='T') break       //如果输入t退出循环

    if(c=='x'||c=='X') c=0         //如果输入x置0 

    else if(c=='d'||c=='D') c=1    //否则如果输入y置1 

         else {printf("输入有误,请重来!\n")

               continue}           //如果都不是则重新输入

    a=rand()%16+3                  //模拟骰子开出3-18的一个随机数

    printf("开%d,%s! ",a,a>10?"大":"小")//显示开奖结果

    if((a>10&&c==1)||(a<11&&c==0))  //如果开大猜大或者开小猜小

       printf("恭喜你,猜对了!\n")  //猜对了就提示正确

    else printf("很遗憾,猜错了!\n")//猜错了就提示错误

 }while(1)                         //循环,重来一次

 system("PAUSE")                   //暂停屏幕,以看清运行结果

 return 0}                         //程序结束


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/7912425.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-11
下一篇2023-04-11

发表评论

登录后才能评论

评论列表(0条)

    保存