1、嵌入式课程设计报告题目:石头剪子布班级: 学号: 姓名: 一、 选题背景实验准备:做游戏前,首先,自己详细看了C语言程序设计(教科书),理解了相关函数的用法和作用;另外,上网查询了很多相关资料,还有找了很多相关的游戏设计的代码,都详细的看了一遍,加深了对C语言以及相关内容进一步理解。根据实际情况设计出一款比较理想的小游戏。设计题目的要求:游戏要设置开始,结束操作控制游戏要有时间提示即相关结果的提示语游戏要能自动判断输赢,并显示最终比赛结果二、 设计思路系统功能模块图:输入:计算机随机输入选择,用户输入选择,并将数据储存。计算:根据计算机和用户的选择,计算大小,并判断输赢,计算用户的胜负率,并储
2、存。输出:根据用户的输入,将用户的游戏结果显示在屏幕上。三、 主要问题的解决方法及关键技术游戏功能需求分析:输入数据:计算机随机输入数据;用户输入合法的数据存储数据:存储计算机的输入数据;存储用户的合法输入数据;判断用户的输赢:根据用户的选择,比较用户与计算机的胜负计算用户的胜负率:根据计算机的记录,计算用户的胜负次数的总和及概率四、 程序流程图 获取计算机的输入 获取用户的合法输入 判断用户的输赢 记录用户的数据机胜负率五、 源程序清单#include #include #include void main() char r; /* 用来存放用户的选择 */char dn; /* 用来存放电
3、脑的选择 */int s,q; double p,y,n,f,z; p=0; y=0; n=0; printf(出锤子输入cn出剪刀输入jn出布输入bn计算您的得分输入fn可以一次输入许多 会一次性出很多结果哦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!=
4、c&r!=b&r!=j&r!=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您的综合分数为%.3gn对您成绩的评语:,y,n,p,f); if(f20&f40&f60&f80&f=100) printf(哇!您的运气真的好到家了 你太帅了GG 你太可爱了MM!nn); printf(n随便输入几个字符按回车关闭程序n); scan
5、f(%d,&q); if(dn=r) printf(平手,继续n); p+; else switch(dn) case c : if(r=j) printf(电脑WIN! 锤子:剪刀n);n+; else printf(人WIN! 锤子:布n);y+; break; case j : if(r=b) printf(电脑WIN! 剪刀:布n);n+; else printf(人WIN! 剪刀:锤子n);y+; break; case b : if(r=c) printf(人WIN! 剪刀:锤子n);y+; else printf(电脑WIN! 布:锤子n);n+; break; while(r=
6、dn); while(r=j|r=b|r=c); 六、 程序运行结果测试: 显示主菜单界面 输入界面 输出界面 结果统计界面 游戏结束界面七、 设计总结此的程序实设计实验是对我进入大学以来学习程序设计语言成果的一个检验。自己动手,自己发现和解决问题,学会了独立,自主的思考,发现了自己的许多不足。平时没有掌握好的知识在这次实验中彻底暴露出来,经过不断思考,不断查阅资料和上机运行,解决其中大部分问题,当然还存在一些问题没有解决。我相信在以后的学习能够解决好它们。但是,收获还是不小的,我不仅对编程操作有了进一步的掌握。当我选择编写小游戏“石头剪子布”这个题目时,一开始想运用大量函数及循环来完成,但是在慢慢琢磨之后,觉得这个程序可以简化,于是改变了编程思路。当然还有不少文件的读写问题,不过还是通过不断测试之后顺利解决了。另外一点要说的就是这个程序用了很多的选择循环,因此对于循环的控制要十分小心。还有一点体会就是,书上和老师教的内容是有限的,我们需要不断地靠自己去学习,向他人请教,学会利用网络等了解知识的平台去学习和掌握更多的知识,这样我们才能编出更好的嵌入式程序。总体来说,这次嵌入式程序设计实验还是比较成功的,虽然最终程序还存在一些不足,但能取得这样的成绩我还是比较高兴的。最后,要感谢学校为我们提供这次实验机会,也要感谢老师的教导和其他同学对我的帮助与支持。