C语言大作业(掷骰子押宝小游戏)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C语言程序设计大作业
二、实现功能:掷骰子押宝小游戏
三、设计思路:通过设计定义几个函数和数组和指针实现猜点数押积分的趣味小游戏。流程图
。
是
四、使用方法
运行程序后首先会出现一个界面,让你猜所掷骰子点数的大小,然后押元宝数,若猜中玩家得双倍元宝,若猜错,则玩家失去所
押元宝,电脑赢得相应元宝数。
五、程序清单
#include
#include
#include
int money = 300;
intpc_money = 300;
void show(); //声明界面显示函数
void play(); //声明玩法函数
void getCount(int *); //声明玩家输入为1-10的点数函数void getMoney(int *); //声明玩家押积分数多少的函数void contrast(int *, int*); //声明玩家剩余积分的函数intisEnd(); //玩家没有积分时游戏结束
int main(){
money = 300; //玩家的初始积分
pc_money = 300; //电脑的初始积分
show();
play();
return 0;
}
void play(){ //游戏的玩法
int count = 0;
intt_money = 0;
//char choose;
while(money > 0 &&pc_money> 0){
getCount(&count); //用户输入猜的点数函数
getMoney(&t_money); //用户押的积分函数
contrast(&count, &t_money); //点数进行对比,并计算积分if(isEnd() == 1){
printf("您的元宝已不足1了,游戏结束!\n");
}
else if(isEnd() == 2){
printf("你太强了!电脑的元宝已经输完了\n");
}
};
}
void getCount(int * a){ //玩家输入的点数
do{
printf("请输入您猜的点数(1-10):");
scanf("%d", a);
if(*(a) > 10){
printf("输入的点数有误,请输入1-10之间的点数!\n"); continue;
}
else
break;
}while(*(a) >= 10);
}
void getMoney(int * m){ //玩家押元宝
do{
printf("您准备押多少元宝数(100元宝以内):");
scanf("%d", m);
if(*(m) <= 100 && *(m) > 0 && *(m) <= money){
//money -= *(m);
break;
}
else{
printf("押元宝失败!请重新输入\n");
}
}while(!(*(m) <= 100 && *(m) > 0 && *(m) <= money));
}
void contrast(int * count, int * t_money){ //玩家元宝数剩余情况
srand((unsigned)time(NULL)); //初始化随机种子
int g = rand() % 10 + 1;
if(g == *(count)){
money += *(t_money) * 2;
pc_money -= *(t_money) * 2;
printf("恭喜您,猜对了!\n电脑的点数:%d\t【元宝+%d】\t您还剩余%d分\n**************************************************\n", g, *(t_money) * 2, money);
}
else{
money -= *(t_money);
printf("很遗憾,您没猜对! \n电脑的点数:%d\t【元宝-%d】\t 您还剩余%d分\n**************************************************\n", g, *(t_money), money);
}
}
intisEnd(){ //游戏结束的条件
if(money <= 0){
return 1;
}
if(pc_money<= 0){
return 2;
}
}
void show(){ //游戏界面
printf("\t\t===猜骰子押宝小游戏===\n\n");
printf("\t规则:玩家和电脑初始元宝数均为 300 个\n");
printf("\t 玩家猜一个点数,并押上积分(50个以内)\n"); printf("\t 如果玩家猜对了,获得双倍元宝\n");
printf("\t 如果玩家猜错了,扣掉所押元宝(不翻倍)\n"); printf("\t 玩家和电脑其中一方元宝数不足1则游戏结束\n\n");
printf("\t\tGame Start!\n\n");
}
[此文档可自行编辑修改,如有侵权请告知删除,感谢您的支持,我们会努力把内容做得更好]