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

Python024

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 <stdlib.h>

#include <stdio.h>

#include <time.h>

int Probability(float pro_num)

//以一定概率发生的函数, 返回1为发生, 0为不发生

{

int num

pro_num*=100

num=(int)pro_num

if(rand()%100<num)

return 1

else

return 0

}

void main()

{

float pro

int A_money=10,B_money=10

int i=0,j=0,time_bet=0 //i为A赢的次数,j为B赢的次数

printf("input probability of A \n\n")

scanf("%f",&pro) //A赢的概率

srand((unsigned)time(0))

do

{

if(Probability(pro)) //A 赢

{B_money--

i++

}

else

{A_money-- //B 赢

j++

}

time_bet++

} while(A_money!=0 &&B_money!=0)

printf("\nafter %d times bet, the result as follow:\n\n",time_bet)

if(A_money==0)

printf("B win !\n")

else if (B_money==0)

printf("A win !\n")

printf("A win %d\nB win %d \n",i,j)

getch()

}

你可以参考一下