2014-2015学年第一学期
《C程序设计》课程设计
题目名称:
趣味小游戏
姓 名
学 号
班 级
指导教师
编写日期
2015-1-52015-1-25
成绩:
目录:
一、选题背景
二、设计思路
三、主要问题的解决方法及关键技术……
四、程序流程图
五、源程序清单
六、程序运行结果
七、设计总结
八、参考文献
九、致谢
一、选题背景
通过一个学期的C语言课程的学习,《C语言程序设计》课程已结束,根据 学校课程学习的安排,要进行一周的C语言实习,口己动手编写游戏和系统。根 据老师布置的设计任务书,按照学委的安排,根据个人的能力及意愿,我选择了 设计一格小游戏:石头剪子布。
实验准备:做游戏前,首先,自己详细看了《C语言程序设计》(教科书), 理解了相关函数的用法和作用;另外,上网查询了很多相关资料,还有找了很多 相关的游戏设计的代码,都详细的看了一遍,加深了对c语言以及相关内容进一 步理解。根据实际情况设计出一款比较理想的小游戏。
设计题口的要求:
游戏要设置开始,结束操作控制
游戏要有操作流程的提示语
游戏能显示比赛结果
二、设计思路
系统功能模块图:
输入:计算机随机输入选择,用户输入选择,并将数据储存。
计算:根据计算机和用户的选择,计算大小,并判断输赢,计算用户的胜负 率,并储存。
输出:根据用户的输入,将用户的游戏结果显示在屏幕上。
三、主要问题的解决方法及关键技术
游戏功能需求分析:输入数据:
计算机随机输入数据;用户输入合法的数据存储数据:
存储计算机的输入数据;存储用户的合法输入数据;判断用户的输赢: 根据用户的选择,比较用户与计算机的胜负
四、程序流程图
获取计算机的输入
获取用户的合法输入
判断用户的输赢
储存給崇
统计并输出结果
I
(结束 )
五、源程序清单
#include
#include
#include
int main()
{
char gamer; // 玩家;I【拳
int computer; // 电脑出拳
int result; //比赛结果
//为了避免玩一次游戏就退出程序,可以将代码放在循环中
while (1)
{
printfC'这是一个猜拳的小游戏,请输入你要出的拳头:\n”);
printf("A:剪刀 \nB:石头 \nC^\nD:不玩 了 \n”); scanf("%c%*cu,&gamer);
switch (gamer) {
case 65 | 97: //A | a
gamer=4; break;
case 66 | 98: // B | b
gamer=7; break;
case 67 | 99: // C | c
gamer=10; break;
case 68 | 100://D | d
return 0;
default:
printfC'你的选择为%c选择错误,退出...\nn,gamer);
getchar();
system(”cis"); // 清屏
return 0;
break;
srand((unsigned)time(NULL)); // 随机数种子
computer=rand()%3; //产生随机数并取余,得到电脑出拳
result=(int)gamer+computer;//
result=(int)gamer+computer;
// gamer为char类型,数学
运算时耍强制转换类世
printf(M 电脑出了 ”);
switch (computer)
{
TOC \o "1-5" \h \z case O:printf("剪刀\nH);break; //41
case l:printf("石头\n”);break; 〃72
case 2:printf("布\n”);break; //103
}
printf("你出了 ”);
switch (gamer)
case 4:printf("剪刀\nu);break;
case 7:printf("石头\n");break;
case 10:printf("^|j\nn);break;
}
if (result==6||result==7||result== 11) printf("你赢 了!”);
else if (result==5||result==9||result==10) printf(H电脑赢了!");
else printf(”平手”); system("pause>nul&&cls”);// 暂停并清屏
}
return 0;
}
六、程序运行结果 测试:
①显示主菜单界而