#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()
}
你可以参考一下