C语言程序设计大作业
二、实现功能:掷骰子押宝小游戏 三、设计思路:通过设计定义几个函数和数组和指针实现猜点数
押积分的趣味小游戏。流程图
游戏界面>iL>L大于10猜数重新输入小于10大于300押元宝
游戏界面
>
iL>L
大于10
猜数
重新输入
小于10
大于300
押元宝
输了
赢了
重新输入
赢得双倍积分
失去积分
四、使用方法
运行程序后首先会出现一个界面,让你猜所掷骰子点数的大小,
然后押元宝数,若猜中玩家得双倍元宝,若猜错,则玩家失去所
押元宝,电脑赢得相应元宝数。
五、程序清单
#i nclude
#i nclude
#in elude
int money = 300;
in tpc_m oney = 300;
void show();//声明界面显示函数
void play();//声明玩法函数
void getCount(int *);//声明玩家输入为1-10的点数函数
void getMoney(int *);//声明玩家押积分数多少的函数
void contrast(int *, int*);//声明玩家剩余积分的函数
intisEnd();//玩家没有积分时游戏结束
int mai n(){
money = 300;//玩家的初始积分
pc_money = 300;//电脑的初始积分
show();
play();
return 0;
}
void play(){ //游戏的玩法 int count = 0;
in tt_m oney = 0;
//char choose;
while(m oney > 0 &&pc_m on ey> 0){
getCount(&count);//用户输入猜的点数函数
getMoney(&t_money); //用户押的积分函数
co ntrast(&cou nt, &t_mo ney);// 点数进行对比,
if(isE nd() == 1){
printf(”您的元宝已不足1 了,游戏结束! \n");
}
else if(isE nd() == 2){
printf(”你太强了!电脑的元宝已经输完了 \n");
}
};
}
void getCount(int * a){// 玩家输入的点数
do{
printf("请输入您猜的点数(1-10):");
sca nf("%d", a);
if(*(a) > 10){
printf(”输入的点数有误,请输入1-10之间的点数!
并计算积分\n");con ti nue;
并计算积分
\n");
else
break;
}while(*(a) >= 10);
}
void getMoney(int * m){// 玩家押元宝
do{
printf(” 您准备押多少元宝数(100元宝以内):”);
sca nf("%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 = ran d() % 10 + 1;
if(g == *(count)){
money += *(t_m on ey) * 2;
pc_m oney -= *(t_m on ey) * 2;
printf(" 恭喜您,猜对了! \n电脑的点数:%d\t【元宝+%d \t您还
剩余%d分
\n**************************************************\n",g,
\n
**************************************************
\n",
g,
*(t_m on ey) * 2, mon ey);
else{ money -= *(t_m on ey);
printf(” 很遗憾,您没猜对! \n电脑的点数:%d\t【元宝-%d】\t
%d分
\n**************************************************\n",g,
\n
**************************************************
\n",
g,