ImageVerifierCode 换一换
格式:DOCX , 页数:15 ,大小:151.05KB ,
资源ID:6009580      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/6009580.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(高级程序语言课程设计猜数字推箱子.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

高级程序语言课程设计猜数字推箱子.docx

1、高级程序语言课程设计猜数字推箱子高级程序语言课程设计课程名称:C语言课程设计 指导老师: 班 级: 学 号: 姓 名: 一、实验题目1、猜数字游戏;2、推箱子游戏。二、实验内容1、猜数字编写一个猜数字游戏,规则如下:a,一个四位数,各位上的数字不重复,从1到9。b,按一下提示猜出这个四位数。c,每次猜测输入的数据给出本次共猜对了多少个数字。d,给出本次猜对的数字并且为之正确的个数。2、推箱子利用数组和字符显示实现推箱子游戏。三、设计思路1、猜数字游戏首先通过rand()随机产生一个四位数,将各个数位上的数字储存到一个数组num中,定义int型变量number储存输入的四位数,然后将这个数的各个

2、数位上的数字储存到数组cmp中,将num和cmp中的元素相比较,当numi= =cmpj时,m+,当i= =j同时成立时,n+,这样就可以判断出本次输入的四位数猜对了m个,其中n个位置正确。2、推箱子游戏推箱子游戏地图由一个字符型二维数组确定,通过调用无返回值的函数move_up(),move_down(),move_left(),move_right()来实现向上下左右的移动。每次移动前都会有一个循环遍历数组找到小人位置,然后用switch语句对不同情况下小人如何移动进行不同的处理,while()循环来判断是否箱子都被移动到指定位置来确定是继续移动还是结束游戏。int step用于记录移动的

3、步数。四、程序代码1、猜数字游戏程序代码如下:#include#include#includevoid main() int i,j,x,number,m,n; int num10,cmp10; srand(unsigned(time(NULL); for (i=0;i4;i+) leap:x=rand()%9+1; for(j=0;ji;j+) if(numj=x) goto leap; numi=x; cout*endlendl; cout 猜数字游戏 endlendl; cout*endlendl; cout* 游戏规则:此数字为一个由19组成的各个数位不相等的四位数,每次输入后,系统给

4、出猜对数字个数xAyB(即猜对x个,其中y个位置正确),直到猜对四个数字,游戏结束。endlendl; cout* 小提示:输入“0”直接看答案。endlendl; cout* 开始游戏! *endlendl;leapp:cout请输入一个四位数:nnumber;if(number=0) cout正确答案:endl;for(i=0;i4;i+) coutnumi ; coutendl;m=n=0;for(i=0;i4;i+) cmp3-i=number%10; number=number/10;for(i=0;i4;i+)for(i=0;i4;i+) for(j=0;j4;j+) if(cmp

5、i=numj) m+; if(i=j) n+; if(n=4) coutCONGRATULATIONA!endl; for(i=0;i4;i+) coutnumi ; coutendl;else coutnAmBendl; goto leapp;2、推箱子游戏程序代码如下:#include#includechar arr88=37,37,37,37,37,37,37,37,37,20, ,37, , , ,37,37, ,2,37, ,2, ,37,37, , ,37, , , ,37,37, , ,2, , , ,37,37,15, ,37,37,37,37,37,37,15, , , ,

6、,15,37,37,37,37,37,37,37,37,37;int i,j,step=0;char t=0,a=20,b=2,c=15,d=37;void print() system(cls); cout*endlendl; cout 推 箱 子 endlendl; cout*endlendl; cout* 游戏规则 *endlendl; cout d 代表墙壁,a 是人,b 是箱子,c 是目的地,8、5、4、6分别为上、下、左、右。endlendl; cout* 开始游戏 *endlendlstep:stependlendl; if (arr51= ) arr51=15; if (arr

7、61= ) arr61=15; if (arr66= ) arr66=15; for(i=0;i8;i+) for(j=0;j8;j+) coutarrij ; if(j=7) coutendl; void move_up() for(i=0;i8;i+) for(j=0;j8;j+) if(arrij=20) switch(arri-1j) case 37:print(); break; case 2: switch (arri-2j) case 15: t=arri-2j; arri-2j=arri-1j; arri-1j=arrij; arrij= ; step+; print(); b

8、reak; case : t=arri-2j; arri-2j=arri-1j; arri-1j=arrij; arrij=t; step+; print(); break; case 37:print(); break; break; case 15: t=arri-1j; arri-1j=arrij; arrij= ; step+; print(); break; case : t=arri-1j; arri-1j=arrij; arrij=t; step+; print(); break; default: print(); void move_down() for(i=0;i8;i+)

9、 for(j=0;j8;j+) if(arrij=20) switch(arri+1j) case 37: print(); break; case 2: switch (arri+2j) case 15: t=arri+2j; arri+2j=arri+1j; arri+1j=arrij; arrij= ; step+; print(); break; case : t=arri+2j; arri+2j=arri+1j; arri+1j=arrij; arrij=t; step+; print(); break; case 37:print(); break; break; case 15:

10、 t=arri+1j; arri+1j=arrij; arrij= ; step+; print(); break; case : t=arri+1j; arri+1j=arrij; arrij=t; step+; print(); break; default: print(); void move_left() for(i=0;i8;i+) for(j=0;j8;j+) if(arrij=20) switch(arrij-1) case 37: print(); break; case 2: switch (arrij-2) case 15: t=arrij-2; arrij-2=arri

11、j-1; arrij-1=arrij; arrij= ; step+; print(); break; case : t=arrij-2; arrij-2=arrij-1; arrij-1=arrij; arrij=t; step+; print(); break; case 37:print(); break; break; case 15: t=arrij-1; arrij-1=arrij; arrij= ; step+; print(); break; case : t=arrij-1; arrij-1=arrij; arrij=t; step+; print(); break; def

12、ault: print(); void move_right() for(i=0;i8;i+) for(j=0;jn; switch(n) case 8: move_up(); break; case 5: move_down(); break; case 4: move_left(); break; case 6: move_right(); break; default : goto leap; coutendl恭喜过关!endlendlstep:stependl; 五、运行结果1、猜数字运行结果:2、推箱子游戏运行结果:六、实验心得这次课程设计题目有实用性强的“学生信息管理系统”,还有趣

13、味性强的“推箱子”和“猜数字”小游戏,也有挑战自我的“大数相乘”。通过“猜数字”和“推箱子”小游戏程序的设计和编写,我感觉在编写调试运行程序的过程中,我正在一点点的享受这个过程,而不是把它当做枯燥无味的作业来应付。虽然这个过程也许并不是很顺利,有时候会很纠结,甚至在编写“推箱子”代码的过程中我还面临把即将完成的代码推到重写的情况,在这种情况下,我学会了如何说服自己心平气和的坐下来重新整理思路,重新一行行的把新的代码写好并调试运行成功。我想这就是我们能从一遍遍的程序编写中学到的相比知识更重要的东西,这也算是一种经验,也是一种态度吧。虽然以现在的水平还不能做的尽善尽美,但是只要是自己一点点想出来做出来的东西,就是一点点经验的积累,也是值得肯定的。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1