- 1、本文档共6页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
(推箱子C语言课程设计
《C语言课程设计》报告
C Program Experiment Designing
C语言课程设计目的及要求
目的:
根据课堂讲授内容,学生做相应的自主练习,消化课堂所讲解的内容;通过调试典型例题或习题积累调试C程序的经验;通过完成辅导教材中的编程题,逐渐培养学生的编程能力、用计算机解决实际问题的能力。
要求:
熟悉Turbo C 的编程环境、主要菜单功能。
通过上机验证运算符、表达式、运算规则、函数使用。
熟练使用C语言的典型语句编写简单程序。
调试典型例题或习题。
提高上机编程能力
实验类型
设计类型
实验学时
40学时
实验设备
微型计算机、WINDOWS98以上版本的操作系统、Turbo C2.0 软件一套
C语言课程参考教材:
1. C语言程序设计 清华大学出版社 马靖善主编
2 谭浩强.C语言程序设计(第三版).北京:高等教育出版社,2002
题目:推箱子
1.基本功能介绍:
本程序为游戏推箱子,该程序的基本功能有:
推箱子游戏的求解难度比其他游戏高很多。有一些游戏有固定的解法,比如魔方。Windows经典小游戏扫雷可以总结出通用推理规则(请参见作者的“自动扫雷”中的说明)。一些游戏的有哪些信誉好的足球投注网站空间很小,可以用电脑蛮力求解,比如华容道,每一步只有两三种可能性。有一些游戏虽然有哪些信誉好的足球投注网站空间比较大,但是可以给电脑制定启发式有哪些信誉好的足球投注网站规则,让电脑比较“智能”地进行有哪些信誉好的足球投注网站,比如空当接龙,作者的空当接龙工具就是让电脑向着理顺牌的次序的方向前进。 推箱子游戏的有哪些信誉好的足球投注网站空间极大,又没有合适的一般方法。人可以总结出一些模糊的规则,但是这些规则非常难以用程序语言描述。推箱子问题已经被证明是一种“NP-难的问题”,“NP-难的问题”是计算机领域中至今没有找到有效算法的一类著名难题。 目前,根本不存在对所有推箱子问题都能有效求解的方法。网上现有的程序一般只能有效地解决10×10大小之内的题目。我的程序也不例外。
软件的特色 我的工具的特色是先进的死锁检测算法。死锁就是一旦把箱子推动到某些位置,一些箱子就再也无法推动或者无法推到目的点,比如四个箱子成2×2摆放。推箱子高手对何种情况引起死锁非常敏感,这样他们预先就知道决不能让某些局面形成,这也是高手高于常人的原因之一。我的工具能够检测出绝大部分这样的死锁,并且,由于对死锁的特征进行了高度提炼,能够检测出很多人也无法很快看穿的死锁。这样,工具的效率得到很大的提高。对于10×10大小以内的题目,一般都能很快解出。
每一行代表仓库的一行,不能有空行。 空格或‘=表示地板。每行最后连续的地板可以省略。 ‘#’表示墙。 ‘’mailto:‘@’表示人。 ‘$’表示箱子。 ‘.’表示目的点。 ‘*’表示在目的点上的箱子。 ‘+’或‘%’表示在目的点上的人。
“编辑”菜单下的“目标人位置”是本工具的特色之一。在求解一些大型题目时,虽然不能直接使用本工具,但是可以把题目分解成若干个子目标,有些目标可以用工具求解。这时,仅仅把箱子推到位是不够的,往往要指定最终状态时人所在的位置。比如要让人通过一个充满箱子的通道,然后把箱子回复原状。这时这个命令就可以起作用,它指定最终状态时人必须在的位置。
工具界面使用不同颜色表示墙、箱子和人。在显示解答时,以推动一次箱子为一步,期间的人的移动不计。此时所有人所能到的格子用绿色填满。
在“试玩模式下”,移动人直接点击目标点即可,推动箱子的方法是鼠标右键点击箱子的目标点并且按住不放,然后点击左键。
Stage目录下提供一些推箱子的题目。其中有些是文本格式的。其中WVsoko目录下的题目由20603(仓库大师游戏的作者)提供。SoftStar目录下的关卡由网友金优转换。他的其他一些收藏整理或创作的关卡放在JinYou目录下。在此向两位网友表示感谢。
==关于目标宏 所谓“目标宏”是模拟这样一种解题思路:很多关卡明显可以分成若干区域,有些区域集中了目标点,另一些区域则集中了很多箱子。对于这样的关卡,人的思路显然是个个击破,对于目标点集中的区域考虑如何按次序摆满所有的目标点;箱子集中的区域考虑如何“突围而出”,然后再把两者集中起来。 推箱子工具可以模拟一种特殊情况下的目标宏,其条件是: 1. 存在一个“断点”。所谓断点是,假如去掉仓库区域里的所有箱子,然后在“断点”放一个箱子,则这个箱子把整个仓库区域分成严格互不连通的两个部分。 2. 初始状态时“断点”上不能有箱子,也不能是目标点。(如果有箱子或目标点的话,一般可以很容易手工改造成没有箱子或目标点的等价的状态。) 3. 所有的箱子在“断点”的一边,所有的目标点在另一
文档评论(0)