掷骰子游戏-C语言
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
DealerMoney += BetMoney; PlayerMoney -=BetMoney; printf("小,两倍赔率,您输了庄家\r\n"); } } else printf("平局\r\n"); printf("当前元宝数:%d\r\n 庄家元宝数:%d\r\n",PlayerMoney,DealerMoney); } //判断赌本是否够 //pm 玩家元宝数,dm 庄家的元宝数 //0 有一方输光 1 继续 int check(int pm,int dm) { if(pm <= 0) { if(pm==0) printf("您输光所有资金\r\n"); else printf("您欠庄家%d 元宝数\r\n",abs(pm));//abs 求绝对值 return 0; } if(dm <= 0) { if(dm==0) printf("庄家输光所有资金\r\n");
scanf("%d",&BetMoney);
if(BetMoney < 10)
BetMoney = 10;
if(BetMoney >100)
BetMoney = 100;
return BetMoney;//返回押的元宝数
}
//掷出骰子
void Throw()
{
system("cls");
printf("\r\n\r\n\r\n
2017 年 1 月 14 日 星期六 16:10 掷骰子游戏-C 语言
游戏规则:
设计思路:
实现代码:
#include <stdio.h> #include <stdlib.h> #include <conio.h>//kbhit 函数 #include <time.h> #include <stdlib.h>//srand,rand system int a,b,c,BetMoney,bet; int PlayerMoney = 1000;//玩家的启动资金 int DealerMoney = 1000;//庄家的启动资金 int ret = 0;//结果
//计算输赢的元宝数 void MoneyCalc() {
ret = Judge(a,b,c); if(ret == 3) {
if(bet == 3) {
BetMoney = BetMoney*10; PlayerMoney += BetMoney; DealerMoney -=BetMoney; printf("豹子,十倍赔率,您赢了庄家\r\n"); } else { BetMoney = BetMoney*10; DealerMoney += BetMoney; PlayerMoney -=BetMoney; printf("豹子,十倍赔率,您输了庄家\r\n");
//游戏规则
void showToScreen(void)
{
//输出标题
printf("***********欢迎体验***********\r\n");
printf("***********V1.0 FHP***********\r\n");
printf("******************************\r\n");
printf("3.赔率为赌数的倍数\r\n");
printf("4.资金输完会结束退出\r\n");
printf("5.按 Q/q 退出,任意键开始游戏\r\n");
printf("*****************************\r\n");
}
//确定下注与赌注
int GetBet()
{
int BetType;//玩家的下注方式
printf("*****************************\r\n");
printf("请选择下注方式:\n");
printf("1.买大 2.买小 3.买豹子");
printf("请下注:");
scanf("%d",&BetType);
}
} else if(ret ==2) {
if(bet == 1)
{ BetMoney = BetMoney*2; PlayerMoney += BetMoney; DealerMoney -=BetMoney; printf("大,两倍赔率,您赢了庄家\r\n");
} else {
BetMoney = BetMoney*2; DealerMoney += BetMoney; PlayerMoney -=BetMoney; printf("大,两倍赔率,您输了庄家\r\n"); } } else if(ret==1) { if(bet == 2) { BetMoney = BetMoney*2; PlayerMoney += BetMoney; DealerMoney -=BetMoney; printf("小,两倍赔率,您赢了庄家\r\n"); } else { BetMoney = BetMoney*2;
c = getchar(); } while(check(PlayerMoney,DealerMoney));//判断赌本是否够
return 0; }
运行情况:
else printf("庄家欠你%d 元宝数\r\n",abs(dm));//abs 求绝对值
return 0; } return 1; } int main() { char c; showToScreen();//显示赌博规则 do {
c = getchar(); if(c=='Q' || c=='q') {
if(BetType == 1 || BetType == 2 || BetType == 3)
{
return BetType;//返回下注方式
}
else
return 1;
}
//获取玩家元宝数
int GetAmount()
{
int BetMoney;
printf("您要压多少元宝数?(最多 100,最少 10):");
欢迎体验,请按任意键掷出色子");
getch();//等待输入任意键
srand(time(0));//重置随机数种子,以当前时间为参数 while(!kbhit())//kbhit 用来检测当前是否有键输入来退出 while 循环,若有,非 0 {
a=rand()%6+1;//1~6 之间随机数 b=rand()%6+1; c=rand()%6+1; system("cls");//清空屏幕 printf("骰子在转动(按任意键挺停止转动)\n"); printf("第一颗骰子数:%d\r\n 第二颗骰子数:%d\r\n 第三颗骰子 数:%d\r\n",a,b,c); } } //判断点数大小 //a,b,c 用来接收三科骰子点 int Judge(int a,int b,int c) { if(a == b && b == c) return 3;//豹子 if(a+b+c > 11) return 2;//大 else if(a+b+c < 11) return 1;//小 else return 0;//一样大 }
printf("下面介绍规则:
\r\n");
printf("1.闲家和专家起始资金各 100 元宝\r\n");
printf("2.下注方式:买大,买小,买豹子\r\n");
printf(" 买大 赔率 2\r\n");
printf(" 买小 赔率 2\r\n");
printf(" 买豹子 赔率 10\r\n");
system("cls"); printf("***********谢谢体验***********"); break; } system("cls"); bet = GetBet();//确定下注与赌注 BetMoney = GetAmount();//获取玩家元宝数 Throw();//掷骰子 MoneyCalc();//计算输赢的元宝数 printf("继续玩ห้องสมุดไป่ตู้?退出请按 Q/q,任意键继续"); getchar();