推箱子C语言课程设计
5页1、C语言课程设计报告C Program Experiment Designing 一、 C语言课程设计目的及要求目的:根据课堂讲授内容,学生做相应的自主练习,消化课堂所讲解的内容;通过调试典型例题或习题积累调试C程序的经验;通过完成辅导教材中的编程题,逐渐培养学生的编程能力、用计算机解决实际问题的能力。要求:1 熟悉Turbo C 的编程环境、主要菜单功能。2 通过上机验证运算符、表达式、运算规则、函数使用。3 熟练使用C语言的典型语句编写简单程序。4 调试典型例题或习题。5 提高上机编程能力二、 实验类型设计类型三、 实验学时40学时四、 实验设备微型计算机、WINDOWS98以上版本的操作系统、Turbo C2.0 软件一套五、 C语言课程参考教材:1. C语言程序设计 清华大学出版社 马靖善主编2 谭浩强.C语言程序设计(第三版).北京:高等教育出版社,2002 题目:推箱子1基本功能介绍:本程序为游戏推箱子,该程序的基本功能有:推箱子游戏的求解难度比其他游戏高很多。有一些游戏有固定的解法,比如魔方。Windows经典小游戏扫雷可以总结出通用推理规则(请参见作者的“自动扫雷”中的说
2、明)。一些游戏的搜索空间很小,可以用电脑蛮力求解,比如华容道,每一步只有两三种可能性。有一些游戏虽然搜索空间比较大,但是可以给电脑制定启发式搜索规则,让电脑比较“智能”地进行搜索,比如空当接龙,作者的空当接龙工具就是让电脑向着理顺牌的次序的方向前进。 推箱子游戏的搜索空间极大,又没有合适的一般方法。人可以总结出一些模糊的规则,但是这些规则非常难以用程序语言描述。推箱子问题已经被证明是一种“NP-难的问题”,“NP-难的问题”是计算机领域中至今没有找到有效算法的一类著名难题。 目前,根本不存在对所有推箱子问题都能有效求解的方法。网上现有的程序一般只能有效地解决1010大小之内的题目。我的程序也不例外。软件的特色 我的工具的特色是先进的死锁检测算法。死锁就是一旦把箱子推动到某些位置,一些箱子就再也无法推动或者无法推到目的点,比如四个箱子成22摆放。推箱子高手对何种情况引起死锁非常敏感,这样他们预先就知道决不能让某些局面形成,这也是高手高于常人的原因之一。我的工具能够检测出绝大部分这样的死锁,并且,由于对死锁的特征进行了高度提炼,能够检测出很多人也无法很快看穿的死锁。这样,工具的效率得到很大
3、的提高。对于1010大小以内的题目,一般都能很快解出。每一行代表仓库的一行,不能有空行。 空格或=表示地板。每行最后连续的地板可以省略。 #表示墙。 表示人。 $表示箱子。 .表示目的点。 *表示在目的点上的箱子。 +或%表示在目的点上的人。 “编辑”菜单下的“目标人位置”是本工具的特色之一。在求解一些大型题目时,虽然不能直接使用本工具,但是可以把题目分解成若干个子目标,有些目标可以用工具求解。这时,仅仅把箱子推到位是不够的,往往要指定最终状态时人所在的位置。比如要让人通过一个充满箱子的通道,然后把箱子回复原状。这时这个命令就可以起作用,它指定最终状态时人必须在的位置。 工具界面使用不同颜色表示墙、箱子和人。在显示解答时,以推动一次箱子为一步,期间的人的移动不计。此时所有人所能到的格子用绿色填满。 在“试玩模式下”,移动人直接点击目标点即可,推动箱子的方法是鼠标右键点击箱子的目标点并且按住不放,然后点击左键。 Stage目录下提供一些推箱子的题目。其中有些是文本格式的。其中WVsoko目录下的题目由20603(仓库大师游戏的作者)提供。SoftStar目录下的关卡由网友金优转换。他的其
《推箱子C语言课程设计》由会员博****1分享,可在线阅读,更多相关《推箱子C语言课程设计》请在金锄头文库上搜索。
六年级语文下册《石灰吟》教案
建设混凝土预制构件改建项目商业计划书写作模板
病房一般消毒隔离管理制度经典版(二篇).doc
《浮力》全章复习与巩固(提高)知识讲解最新修正版最新修正版
某地产集团项目工程承建商工作手册_84
三年级班主任工作总结2015
《找规律》幼儿园大班教案
最新【湘教版】七年级上册数学:1.5.2 第2课时 有理数的乘除混合运算1
幼儿园大班工作计划参考范文(6篇).doc
《观沧海》教案设计初中版
某化工企业年产30万吨硫磺制酸项目建设可行性论证研究报告(专业甲级资质建设可行性论证研究报告127页)
【精品】【人教版】八年级下册:Unit 1 What39;s the matter教师版
小学教师英语教学计划范文(四篇)
古诗词背诵(语言之美)六年级下册
精选植树节倡议书合集六篇
IK电器设备外壳对外界机械碰撞的防护等级
生产技术科主任工程师安全生产责任制(二篇).doc
长沙食品项目建议书(范文)
北京师范大学网教专科英语(一)离线作业及答案100分
外科医生工作总结2
2023-05-09 6页
2024-02-15 2页
2023-03-18 2页
2024-01-28 14页
2023-10-06 3页
2022-08-31 8页
2022-08-20 36页
2022-08-17 4页
2023-11-30 3页
2023-01-04 266页