您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > 66C语言课程设计+推箱子游戏_IT168文库
1山东交通学院C语言课程设计推箱子游戏院(系)别信息工程系班级学号姓名指导教师时间2010-4-6—2010-4-12课程设计任务书题目推箱子游戏系(部)信息工程系专业计算机科学与技术班级信息093学生姓名xxx学号0908103114月6日至4月10日共1周指导教师(签字)系主任(签字)2010年4月12日3一、设计内容及要求【规则】本游戏的目的就是把所有的箱子都推到目标位置上。箱子只能推动而不能拉动。一次只能推动一个箱子。二、设计原始资料经典的推箱子是一个来自日本的古老游戏,目的是在训练你的逻辑思考能力。在一个狭小的仓库中,要求把木箱放到指定的位置,稍不小心就会出现箱子无法移动或者通道被堵住的情况,所以需要巧妙的利用有限的空间和通道!三、设计完成后提交的文件和图表1.计算说明书部分程序设计分析总体来说,这次推箱子游戏软件遵循的依旧是从上到下,逐步细化的编程思想。我也是在设想好大体轮廓后,从最基础的功能开始,不断地调试、补充、检查直到最后达到预定目的。这样的设计不仅仅可以使自己不至于太过急躁,而且还可以使自己的思路清晰,便于对程序整体性把握,使自己对编程过程的每一步都很清晰明了。给自己的修改与添加留有了足够的扩展空间,这样的设计可以使编程者不至于在反复重读程序上浪费太多时间,而且每一步都有具体而明确的目标。我想这对我以后的编程工作会有很大的影响,而这也正是我认为本次课程设计最大的收获。42.图纸部分:程序流程图是否是否是否是否进c操作游戏开始提示界面输入tt=dt=a进b输出结束进at=bt=c结束或按d5四、进程安排第一天:初步分析程序,并对程序需要用到的函数及工具进行分析;第二天:分析程序各个模块及功能并编出大体轮廓;第三天:初步完善程序功能及模块,分析各种情况;第四天:进一步分析完善程序、补充功能,修复漏洞;第五天:最后检查程序,准备答辩。五、主要参考资料1.《C程序设计(第三版)》,谭浩强编,清华大学出版社2.《TurboC2.0实用大全》,常玉龙等编写,北京航空航天大学出版社3.《C游戏编程从入门到精通》,浦滨著,北京希望电子出版社4.《C函数实用手册》,张曜郭立山吴天著,冶金工业出版社6成绩评定表口试(答辩)成绩报告成绩总评成绩7摘要ちょうど1週間では、訓練学校の学生の手-能力に、我々はC言語のカリキュラムデザインを開催します。教師と生徒の助けを借り、私は最終的にゲーム倉庫番を終えた。カリキュラムは、私たちだけに、プログラミングの経験を持っていないが、我々は協力の重要性を理解する。お気軽に学期が本当にで継続的な改善の上昇を行い、試運転徐々に私のプログラムを改善します。自分のプログラミングに同じ時間も深い洞察力で、常に改善され、魂を作成します。わずか1週間だけ、実際に私たちのプラットフォームを自分たちの知識を適用する指定されたが。そして、我々の最愛のプログラムの熱意に影響を与えた。私は以上の教科書はいくつかのプログラミングの知識とスキルをお持ち得ているこの1週間で展開します。私は勉強したいこれはバーの定数の拡大で完了するはずです。关键字:カリキュラムデザイン、C言語、ゲーム倉庫番8目录前言...................................................................91推箱子游戏软件预览.................................................101.1推箱子游戏软件发展之路......................................101.2程序结构流程图..............................................101.3程序总体模块分析............................................112推箱子游戏软件函数分析.............................................112.1程序中的函数组成及其功能....................................112.2各函数实现原理..............................................113程序各界面截图及说明...............................................123.1开始界面....................................................123.2a、b或c对应界面及计时和限时功能...........................123.3选d后进入界面..............................................144程序相关源代码及相应注释...........................................144.1输出函数....................................................144.2移动函数(仅以向左代表)....................................164.2.1当输入d时...........................................164.2.2向左移动.............................................164.3设置背景函数................................................184.4主函数......................................................20致谢................................................................22参考文献..............................................................239前言随着科技的不断发展,世界对计算机的依赖逐渐加深。而编程作为指导计算机工作的的一门学科也正在逐步被发展完善。作为信息技术的重要部分,编程无疑是学习计算机科学路途中的的重要组成部分。而作为一个编程初学者,说实在话这是编程生涯的第一次课程设计,因此难免会有许多不尽如人意的地方,希望各位读者能够以宽阔的胸怀给予谅解。在课程设计之初选课题时,我和我的组友为了给自己一个挑战而选择了推箱子游戏软件开发。本来按我们的能力编一个游戏软件其实是有一定难度的,但最终我们通过自己一个星期的努力,终于将它调试通过并初步完善,心中真的很高心。因为我们学习是调试环境多是在VC6.0下,所以我们放弃了WinTC下的编程,这其实也为我们下一步的C++课程的学习做好铺垫。要说程序中有令自己遗憾的地方那就应该说没能用到图形驱动函数,在此希望读者能够谅解。在此谨向那些在我编程过程中为我提供帮助的老师和同学表示真挚的感谢和敬意。101推箱子游戏软件预览1.1推箱子游戏软件发展之路在刚接到这个程序时我的要求还仅仅只是要求能够推着箱子到达目的地,其他功能还没敢考虑。可现在重新回顾才发现原来随着不断地调试与补充,最终使程序向丰满和功能完善发展。由刚开始的移动问题到后来的推箱子问题再到后来到目的地后变化,进而达到限时和获胜提示。这之间有太多的努力与学习,直到答辩完成才发现原来在无形之间自己已经获得了太多太多。我想这也正是一个正常编程员的成长史。所以在本文之初想用这几段文字与大家一块分享自己的成功喜悦及经验,希望能对大家能有一定帮助……1.2程序结构流程图结束并计算用时通过时间到按回车键计时后回车开始选择d选择b选择界面选择c进入游戏c选择a进入游戏a进入游戏b中途退出按d键并回车111.3程序总体模块分析本程序总体大致可分为三大模块,即读入、判断调整、输出。(1)读入:即设置读入操作把使用者的输入操作符读入程序,并定义变量储存起来为下一步的判断做好准备;(2)判断调整:这一操作为下一步的调整二维数组内容提供依据,通过大量的判断语句对所有可能出现的情况提供相对应的唯一操作,使用户能顺利使用软件并起到规范化输入的目的——当输入不明字符时不作处理。判断结束后,执行相应操作改变数组内容从而改变输出内容,使用户顺利进行下一步操作。(3)输出:通过刷屏后重新输出从而使背景得以改变,进而等待用户下一步的输入操作。2推箱子游戏软件函数分析2.1程序中的函数组成及其功能(1)输出函数(show函数):输出转义背景;(2)移动函数(move):改变二维数组内部数据并判断结束与否;(3)设置背景函数(map):设置游戏场景提供基础游戏数据;(4)其他系统函数:略。2.2各函数实现原理(1)移动函数:移动函数又可分为上、下、左、右四种移动方式。在移动的时候还会遇到许多情况,如遇到墙不能移动、不能同时推动两个箱子、进入目的地后需要改变图标、离开目的地后要还原图标等问题。在可操作情况下设置相应操作,在不可操作情况下设置空执行从而不进行任何操作(也起到规范化输入作用)。(2)输出函数:通过for语句套用从而达到输出二维数组的效果,另外通过if语句判断转义进而实现输出更加人性化的背景,从而达到更高的可用性。(3)设置背景函数:通过二维数组初始化对游戏背景进行设置,并在其内部设计移动函数调用从而达到每一关都是一个独立的个体,可以单独实现计时、限时、刷屏等功能,另外还可以输出相应的提示界面。从而为下一步添加场景提12供了宽阔的空间。(4)计时、限时、刷屏和调色函数:提供了更加人性化的游戏界面,提高了使用者的游戏兴趣。使dos界面不再仅是黑白的、毫无生气的操作窗口。3程序各界面截图及说明3.1开始界面通过按abcd四个键来选择是进入特定游戏还是退出。3.2a、b或c对应界面及计时和限时功能第一层游戏界面,按方向键移动游戏结束,下部有提示单个共用时数,星号(代人)去推箱子;提高游戏乐趣。同时有提示限制时间30秒。13第二层游戏界面,按方向键移动游戏结束,下部有提示单个共用时星号(代人)去推箱子;数,提高游戏乐趣。同时有提示限制时间30秒。第三层游戏界面,按方向键移动游戏结束,下部有提示单个共用时星号(代人)去推箱子;数,提高游戏乐趣。同时有提示限制时间30秒。提示游戏已超时按回车键回到主界面重新选择游戏。143.3选d后进入界面回到主界面后继续按d,结束总游戏并计算游戏过程总共用时。4程序相关源代码及相应注释4.1输出函数voidshow(charb[9][9]){printf(\t\t\t\t***************************\n);printf(\t\t\t\t推箱子游戏);printf(\n\t\t\t\t***************************\n);printf(\t\t\t\t人:★墙:■\n\t\t\t\t箱子:◎目的地:□\n\t\t\t\t按d键退出游戏\n\t\t\t\t限时30秒!);printf(\n\t\t\t\t***************************\n);for(inti=0;i9;i++)//使用循环将地图转换输出{printf(\t\t\t\t);for(intk=0;k9;k++){if(b[i][k]=='#'){printf(■);15}else{if(b[i][k]==3){printf(□);}else{if(b[i][k]==5){printf(◎);}else{if(b[i][k]==1){printf(★);}else{if(b[i][k]=='!'){printf(⊙);}else{printf(%c,b[i][k]);}}}}}}16printf(\n);}printf(\t\t\t\t***************************\n);}4.2移动函数(
本文标题:66C语言课程设计+推箱子游戏_IT168文库
链接地址:https://www.777doc.com/doc-5481607 .html