- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
语言课程设计报告小游戏石头剪子布
《C语言课程设计》报告
题目:石头剪子布
班级:
学号:
姓名:
指导教师:
成绩:
目 录:
一、 选题背景 - 3 -
二、 设计思路 - 3 -
三、 主要问题的解决方法及关键技术 - 4 -
四、 程序流程图 - 4 -
五、 源程序清单 - 6 -
六、 程序运行结果 - 8 -
七、 设计总结 - 8 -
八、 教师评语 - 8 -
选题背景
通过一个学期的C语言课程的学习,《C语言程序设计》课程已结束,根据学校课程学习的安排,要进行一周的C语言实习,自己动手编写游戏和系统。根据老师布置的设计任务书,按照学委的安排,根据个人的能力及意愿,我选择了设计一格小游戏:石头剪子布。
实验准备:做游戏前,首先,自己详细看了《C语言程序设计》(教科书),理解了相关函数的用法和作用;另外,上网查询了很多相关资料,还有找了很多相关的游戏设计的代码,都详细的看了一遍,加深了对C语言以及相关内容进一步理解。根据实际情况设计出一款比较理想的小游戏。
设计题目的要求:
①游戏要设置开始,结束操作控制
②游戏要有时间提示即相关结果的提示语
③游戏要能自动判断输赢,并显示最终比赛结果
设计思路
系统功能模块图:
输入:计算机随机输入选择,用户输入选择,并将数据储存。
计算:根据计算机和用户的选择,计算大小,并判断输赢,计算用户的胜负率,并储存。
输出:根据用户的输入,将用户的游戏结果显示在屏幕上。
主要问题的解决方法及关键技术
游戏功能需求分析:
输入数据:
计算机随机输入数据;
用户输入合法的数据
存储数据:
存储计算机的输入数据;
存储用户的合法输入数据;
判断用户的输赢:
根据用户的选择,比较用户与计算机的胜负
计算用户的胜负率:
根据计算机的记录,计算用户的胜负次数的总和及概率
程序流程图
获取计算机的输入
获取用户的合法输入
判断用户的输赢
记录用户的数据机胜负率
源程序清单
#includestdio.h
#includetime.h
#includestdlib.h
void main()
{
char r; /* 用来存放用户的选择 */
char dn; /* 用来存放电脑的选择 */
int s,q;
double p,y,n,f,z;
p=0;
y=0;
n=0;
printf(出锤子输入c\n出剪刀输入j\n出布输入b\n计算您的得分输入f\n可以一次输入许多 会一次性出很多结果哦\n请输入您的选择:\n);
srand(time(0)); /* 随机数生成器,设置rand种子值,用来获取计算机的输入 */
do{
do{
s=rand()%3;
switch(s)
{
case 0 : dn=c;break;
case 1 : dn=j;break;
case 2 : dn=b;break;
}
do{
scanf(%c,r); /* 用来获取用户的合法输入 */
}while(r!=cr!=br!=jr!=f);
if(r==f)
{
z=y+n+p;
f=100/z*(p/2.0+y);
printf(一共比了%g场\n赢了%g场\n输了%g场\n平局%g场\n,z,y,n,p);
y=100/z*y;
n=100/z*n;
p=100/z*p;
printf(您的胜率为%.3g%%\n您的败率为%.3g%%\n您平局率为%.3g%%\n您的综合分数为%.3g\n对您成绩的评语:,y,n,p,f);
if(f=20)
printf(您的运气真的差到一定无法想象的程度了~!\n\n);
if(f20f=40)
printf(您的运气差了点哦,努力,加油!\n\n);
if(f40f=60)
printf(您的运气还可以中等啦~中等啦……\n\n);
if(f60f=80)
printf(您的运气不错哟~!嘿嘿……\n\n);
if(f80f=100)
printf(哇~!~!~您的运气真的好到家了 你太帅了GG 你太可爱了MM~!!~\n\n);
printf(\n随便输入几个字符按回车关闭程序\n);
scanf(%d,q);
}
if(dn==r)
{
printf(平手,继续\n);
p++;
}
else
switch(dn)
{
case c : if(r==j)
{
printf(电脑WIN!! 锤子:剪刀\n);n++;
}
else
{
printf(
您可能关注的文档
最近下载
- 最新人教版九年级上册数学期中试题(含答案).docx VIP
- 西门子智能照明办公大楼应用.pdf VIP
- 2024北师大版小学数学六年级上册第四单元百分数集体备课教学设计.docx VIP
- 智能照明系统(西门子InstabusKNXEIB系统)专项施工方案.doc VIP
- 乡村物流配送体系完善.pptx
- 智能照明控制方案1843.pdf VIP
- GB15618-2018 土壤环境质量 农用地土壤污染风险管控标准.docx VIP
- 高中地理新老教材比较研究——以人教版教材必修一为例.pdf VIP
- GB 50487-2008 水利水电工程地质勘察规范 (2022年版) .docx VIP
- 街道居民议事会组织与运行规范.pdf VIP
原创力文档


文档评论(0)