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

开通VIP
 

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

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

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(在visual-c--下编写的c语言推箱子游戏.doc)为本站上传会员【仙人****88】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

在visual-c--下编写的c语言推箱子游戏.doc

1、 山东交通学院 C语言课程设计 推箱子游戏 院(系)别 信息工程系  班 级 信息093  学 号 100819220  姓 名 贺可晓  指导教师 ******  时 间 2011-08-28—2011-09-12  课 程 设 计 任 务 书 题 目 推箱子

2、 系 (部) 信息工程系 专 业 电气工程及其自动化 班 级 电气102班 学生姓名 贺可晓 学 号 100819220 08 月 28 日至 09 月 2 日 共

3、 1 周 指导教师(签字) 系 主 任(签字) 2011 09 02 一、设计内容及要求: (1)箱子只能推动而不能拉动。一次只能推动一个箱子。 (2)在一个狭小的仓库中,要求把木箱放到指定的位置, 稍不小心就会出现箱子无法移动或者通道被堵住的情况。 (3)本游戏的目的就是把所有的箱子都推到目标位置上。 (4)此游戏目的是在训练你的逻辑思考能力。 二、设计原始资料: 本游戏的目的就是把所有的箱子都推到目标位置上。 箱子只能推动而不能拉动。一次只

4、能推动一个箱子。 经典的推箱子是一个来自日本的古老游戏,目的是在训练你的逻辑思考能力。 在一个狭小的仓库中,要求把木箱放到指定的位置, 稍不小心就会出现箱子无法移动或者通道被堵住的情况,所以需要巧妙的利用有限的空间和通道~! 三、设计完成后提交的文件和图表 1.计算说明书部分 假设数字0代表空地,数字1代表墙壁,数字2代表非游戏的填充内容(非必须内容),可是地图看起来规则,数字3代表目的地,数字4代表箱子,数字6代表人。 那么人移动到空地上时数字值的变化为:6+0=6; 人移到目的地时其位置的数值变化为:6+3=9; 箱子移动到

5、空地时数值的变化为:4+0=4; 箱子移动到目的地时数值的变化为:4+3=7; 再就是每一次的移动都必须根据实际情况,来改动原位置和移动位置的数值,还原出地图原样模型。 2.图纸部分: 程序流程图 否 否

6、 是 是 是 是 否

7、 否 否 否 是 是 是 否 开始 输入1或2或3 或q 输入1 输出地图1 输入按键 input=q 推箱子移动 箱子都到目的地 第一关结束在输入按键 Input=y 输

8、入2 输出地图2 输入按键 Input=q 推箱子移动 箱子都到目的地 游戏通关 结束 四、进程安排 第一天:分析问题,找出大体的设计思路。 第二天:构造出程序大体框架,即各种功能模块的组合。 第三天:分别写出个功能模块程序的源代码。 第四天:讲个功能模块加入主程序中,并实现所有的程序基本功能。 第五天:优化程序中的不足之处,优化显示界面,添加辅助功能模块增加程序的趣味性。使程序软件更加适宜用户的操作和娱乐需要。 第六天:准备程序答辩。 五、主要参考资料 [1]谭浩强,C程序设计(第三版)。北京:清华大学出版社,2005(2007重印)

9、 [2]马安鹏.Visual C++程序设计导学。北京:清华大学出版社,2002 [3] H.M.Deitel,P.J.Deitel. Small C++ How to Program.2006. [4]Richard C.Leinecker,Tom Archer. Visual C++ 6 宝典.张艳,张谦译.北京:电子工业出版社,1999 [5] Beck Zaratian.Microsoft Visual Visual C++ 6.0程序员指南.希望图书创作室译.北京:北京希望电脑公司出品,1998 成 绩 评 定 表 口试(答辩)成绩 报告成绩 总评成绩

10、 摘要 私達の実践の能力を高めるため、学んだ知識を運用することができて行って更に創造して、学校は特に1週間手配して、私達にVisual C++の課程の設計の実習を行わせます. このファイルの詳しい説明はVisual C++6.0環境の下で、1つのソフトウェアの過程を設計して、このソフトウェアは箱を押して遊戯することです。 つきましてはこのソフトウェアの機能は、ユーザーは字の符を輸入する。字の符“a”は向左走を代表して、字の符“s”は代表して下で歩いて、字の符“d”は向右走を代表して、字の符“w”は向上して行くことを代表して、人を制御することは箱を行き先を押

11、すことができてすぐ勝利した。ソフトウェアの目的は人を鍛錬する能力を思惟することです。 以下は課程仕様を通過して、順序ソフトウェアからの説明が提示することを操作して、手順は説明することを調節して、総括した方面を開発して、この手順を詳説する製造した過程和作は用いる、諸般のが執行されることができる操縦。 关键字:箱が遊戯を押す,VC++6.0, 源手順 目 录 前 言 1 1 课程设计概述 2 1.1 推箱子游戏软件功能概述 2 1.2 Visual C++6.0概述 2 2 推箱子游戏软件总体设计 2 2.1 推箱子游戏软件总体设计思想 2

12、 2.2 总体设计流程图 4 3 推箱子游戏软件详细设计 5 3.1 两个主要问题 5 3.1.1 地图的生成 5 3.1.2 人或人和箱子的移动 5 4 程序测试 6 4.1 菜单界面 6 4.2 游戏中的界面 9 5 课程设计总结 13 致 谢 13 参考文献 14 6 附录(程序源代码) 15 山东交通学院课程设计报告 前 言 随着计算机技术的发展,可视编程技术占有了越来越重要的作用。Visual C++6.0 是一种功能强大行之有效的可视化编程工具。因此此软件是在Visual C++6.0环境下编写的。对于我们,随着学习的深入,已经大体掌握了

13、Visual C++6.0环境下的程序开发。为了将我们的编程能力提升到一个更高的水平,深化面向对象的编程思维和解决问题的能力,值此课程设计周期间,进行基于Visual C++6.0环境的软件开发,先以推箱子游戏作为开始,对Visual C++6.0环境和C语言的模块编程设计进行回忆和熟悉,有利于促进面向对象程序设计思想的理解,使得在此基础上的下一个软件的开发进行的更加顺利。 本文档详细叙述了基于Visual C++6.0环境下的推箱子游戏软件的设计过程以及程序源代码。 本文档从概要设计,详细设计,参考源程序代码以及显示程序运行的截屏等方面详尽的介绍了软件开发过程。 此次推箱子游戏软件的开

14、发目的是使我们用最基础的C语言程序设计的方式来思考和解决问题的能力,并且可以掌握二维数组的使用、循环控制的使用、地图的设计和使用以及C语言语法。 本文档的安排如下: 第一章 主要介绍了对面向对象C++语言以及Visual C++6.0编程环境。 第二章 主要的介绍说明了推箱子游戏软件的编程思想和详细设计。 第三章 主要对推箱子游戏软件进行调试,运行程序并截图,显示运行界面和结果。 第四章 主要介绍了软件开发过程中遇到的一些问题,对该软件进行的一个总结。 程序在设计的过程中遇到的问题已及时更正,但由于编者的能力和水平有限,推箱子游戏软件和文档中不免会出现一些不

15、期待的错误,望文档读者能够理解和体谅,并欢迎提醒和纠正,在此表示感谢以及敬意。 6 班级:信息093 姓名:陈新龙 学号:090810313 1 课程设计概述 1.1 推箱子游戏软件功能概述 在一个狭小的仓库中,把木箱放到指定的位置,通过控制人的走向来推箱子移动,箱子只能推动不能拉动,一次只能推动一个箱子。 稍不小心就会出现箱子无法移动或者通道被堵住的情况,所以需要巧妙的利用有限的空间和通道。 通过此游戏可以锻炼一个人的逻辑思维能力。 1.2 Visual C++6.0概述 Visual C++是微软公司的重要产品之一, 是一种功能强大

16、行之有效的可视化编程工具。它提供了MFC类库,使用户可以方便的开发自己想实现的功能。Visual C++6.0的主要特点: (1)自动化和宏功能。 (2)可以灵活地定制工具栏和菜单。 (3)可以直接运行和调试程序,还可以使用宏语言来自动操作调试器。 (4)支持Internet连接。 (5)一个新的便捷的项目系统可以允许一个工作区内包含多个不同的项目类型。 (6)在工作区内可以包含多个并列的工程文件。 (7)可以在对话框中使用WizardBar将程序同可视化元素联系起来。 (8)Find in File命令支持两个独立的输出窗格,可以保存上一次搜索的结果。 这些新特性可以更好地

17、利用Visual C++开发工具进行Windows应用程序开发。 2 推箱子游戏软件总体设计 2.1 推箱子游戏软件总体设计思想 推箱子游戏软件的功能是锻炼人的逻辑思维能力。 推箱子游戏软件的功能模块有: (1)提供菜单界面,方便用户对程序个功能进行选择,选择要实现的功能按相应的键进入该功能。 山东交通学院课程设计报告 (2)地图的生成,用二维整型数组来构成地图,其中数字代表特殊的符号。 (3)移动,人或人和箱的移动,接受用户输入的一个字符,控制人的走向,并且可以在允许的情况下推动箱子。 (4)时间的统计,可以看整个程序(相当于游戏)运行时所用

18、的时间。 (5)清屏功能,使用了清屏函数,当在游戏中时可以直接返回主菜单, (6)利用了辅助色彩函数,使游戏界面更加好看,美观。 在源程序中声明并定义了void draw_map(int map[10][12]) //地图函数,void move(int map[10][12]) //移动函数 使用了:#include //标准输入输出头文件 #include //system函数的头文件 #include //getch函数的头文件 #include "time.h"

19、//调用时间函数的头文件 多种头文件。 程序中还应用了全局变量:char le; //控制关数的全局变量 char input; //接收按键字符 程序分为多个小模块,通过调用实现各种功能,增强了程序的可建设性。 班级:信息093 姓名:陈新龙 学号:090810313 2.2 总体设计流程图  程序开始 菜单界面 面 友好界面 请选关数 清屏界面 返回菜单 退出界面 程序结束 欢迎玩 【推箱子游】 】 1

20、 或2 关 每次按键都会执行清屏功能 按q键控制 按 3键 进行游戏 1,2关游戏胜利 图2-1-2  总体设计流程 山东交通学院课程设计报告 3 推箱子游戏软件详细设计 3.1 两个主要问题 设计中的两个主要需解决的问题是:怎样生成地图、怎样实现人或人和箱子的移动。 3.1.1 地图的生成 设计中用二维整型数组中的数字元素表示不同的物体,比如0代表空地,1代表墙,2代表非游戏的填充内容(非必须内容),可以使地图规则,3代表目的地,4代表箱子,6代表人。然后用一个switch语句给每个数字赋予不同的符号,在输出二维数组,生成地图。

21、3.1.2 人或人和箱子的移动 设计中要想使人移动,首先要找到人的起始位置,然后才能开始移动。人向四个方向移动的原理是相同的,我们可以先研究一个方向的移动,找到人的位置后,以人向上走为例,因为向上走嘛(可以通过 数组下标表示)。 (1)要判断人前面(上一行),是否为空地,是空地则可以移动,移动后判断并改变人员原位置的数值元素和空地原位置的数值元素;否则不移动。 (2)如果人前面是目的地,人也是可以移动的,同样判断人原位置数值元素,并改变人员位置的数值元素和前一位置的数值元素。 (3)如果人前是在空地上的箱子。如果箱子前面又是空地,则可以移动,改变箱子前位置的数值元素,还是判断原位

22、置的数值元素,然后改之;如果箱子前为目的地,和上面说的一样移动和改数值元素,只是多了计分这一步。 (4)如果人前是已经进入目的地的箱子。如果箱子前又是空地,则可以移动箱子,但是要减分,改变空地位置的数值元素,判断人和箱子原地的数值元素,并改之;如果箱子前是另一目的地,方法同上,只是不减分。用分数控制箱子是否已全在目的地。 (5)每一次的移动,必须要清屏,然后再显示一次地图,这样便可以实现人或人和箱子的移动。 山东交通学

23、院课程设计报告 4 课程设计总结 为了提高我们的实践能力,让我们学以致用,能灵活运用所学的知识进行再创造,学校特安排我们进行为期一周的Visual C++课程设计实习,并安排了指导老师帮助辅导,让我们在规范化、严谨化、实用化上面有了很大进展。 在此次推箱子游戏程序开发过程中,有很多东西值得我们思考并总结。 开发过程大体可分为以下几个步骤:   (1)思考总体设计方案:总体结构和模块外部设计,功能分配。思考要实现整个程序大体需要的几个模块和其中用到的Visual C++语言基本操作符、语句等。   (2)画出总体设计方案流程图:用流程图的形式展现你的基本编程思想。   (3)流

24、程图具体化:即将流程图中的几大模块的具体实现思考清楚,可以用流程图的形式展现.并想好实现的关键代码。   (4)编辑程序代码:这是一个至关重要复杂而且需要反复修改的环节,在此环节中你将发现总体设计和模块思想会存在很多问题,需不断改进.如何实现各函数功能,达到预期效果也将是一项繁复的工作。   (5)代码的调试:在Visual C++6.0环境下输入代码并进行调试和正确运行。在调试过程中会遇到很多需要精化的地方,需要十足的耐心与细心,不断改进完善程序。   (6)最后修饰:程序可以正确运行之后,再不影响程序功能的情况下,运用各种辅助性符号,使界面更加美观漂亮,操作更人性化.增强程序的新意与

25、可行性。  通过这次课程设计,使我们更加熟悉的掌握了Visual C++语言的运用。帮助我们熟悉了更多Visual C++语言的功能,提高了我们的动手能力,学到了许多解决实际问题的宝贵经验.同时也挖掘出了我们潜在的能力,使我们对自己更有自信,对编程也更有兴趣。我相信,只要努力、勤奋、坚持不懈,就没有什么做不到的事,不能还没开始就退缩,要勇于拼搏,敢于创新。 致 谢 最后,在这里郑重的感谢张老师的帮助,让我得到了许多意想不到的收获。也感谢学校提供给我们这次宝贵的实践机会,让我们可以动手动脑,大大提高了个人的能力和素质。 参考文献 [1] 马安鹏.Visual C++程

26、序设计导学。北京:清华大学出版社,2002 [2] 电子书籍. Visual C++技术内幕(第四版).网址: [3] Beck Zaratian.Microsoft Visual Visual C++ 6.0程序员指南.希望图书创作室译.北京:北京希望电脑公司出品,1998 [4]Richard C.Leinecker,Tom Archer. Visual C++ 6 宝典.张艳,张谦译.北京:电子工业出版社,1999 [5] 李强,贾云霞. Visual C++项目开发实践.北京:中国铁道出版社,2004 [6] 郑莉,董渊,张瑞丰.C++语言程序设计.2003. [7] H.

27、M.Deitel,P.J.Deitel. Small C++ How to Program.2006. [8]谭浩强,C程序设计(第三版)。北京:清华大学出版社,2005(2007重印) 5 附录(程序源代码) #include //标准输入输出头文件 #include //system函数的头文件 #include //getch函数的头文件 #include "time.h" //调用时 int map1

28、int a[9][10]); char move(char t,int map[9][10]) {int i,j,x,y; system("CLS"); //清屏 for(i=0;i<9;i++) // 查找当前人位置 {for(j=0;j<10;j++) if(map[i][j]==4 || map[i][j]==6) {x=i,y=j;};} switch(t) {case 'w': { if(map[x-1][y]==1)//如果人面前时路 {map[x-1][y]=4;

29、 if(map[x][y]==4) map[x][y]=1; else map[x][y]=2;} else if(map[x-1][y]==3)//人面前是箱子 {if(map[x-2][y]==2)// 人前箱子 箱子前面是空位 {map[x-1][y]=4;map[x-2][y]=5; if(map[x][y]==4) map[x][y]=1;

30、 else map[x][y]=2;} else if(map[x-2][y]==0 || map[x-2][y]==3 || map[x-2][y]==5)//人前是箱子 箱子前面是墙 箱子 已在空位上的箱子 {printf("\a");} else if(map[x-2][y]==1)// 人前是箱子 箱子前面是路 {map[x-1][y]=4;map[x-2][y]=3; if(map[x][y]==4) map[x][y]

31、1; else map[x][y]=2;};} else if(map[x-1][y]==0) //人前是墙 {printf("\a");} else if(map[x-1][y]==2) {map[x-1][y]=6; if(map[x][y]==4) map[x][y]=1; else ma

32、p[x][y]=2;} else if(map[x-1][y]==5)//人前是已在空位的箱子 {if(map[x-2][y]==2)//人前是已在空位是的箱子 箱子前是一个空位 {map[x-1][y]=6;map[x-2][y]=5; if(map[x][y]==4) map[x][y]=1; else map[x][y]=2;} else if(map[x-2][y]==0 ||

33、map[x-2][y]==3 || map[x-2][y]==5)//人前是已在空位是的箱子 箱子前是墙 箱子 已在空位上的箱子 {printf("\a");} else if(map[x-2][y]==1)//人前是已在空位上的箱子 箱子前是路 {map[x-1][y]=6;map[x-2][y]=3; if(map[x][y]==4) map[x][y]=1; else map[x][y]=2;};}

34、 };break; case 'd': { if(map[x][y+1]==1)//如果人面前时路 {map[x][y+1]=4; if(map[x][y]==4) map[x][y]=1; else map[x][y]=2;} else if(map[x][y+1]==3)//人面前是箱子 {if(map[x][y+2]==2)// 人前箱子 箱子前面

35、是空位 {map[x][y+1]=4;map[x][y+2]=5; if(map[x][y]==4) map[x][y]=1; else map[x][y]=2;} else if(map[x][y+2]==0 || map[x][y+2]==3 || map[x][y+2]==5)//人前是箱子 箱子前面是墙 箱子 已在空位上的箱子 {printf("\a");} else

36、 if(map[x][y+2]==1)// 人前是箱子 箱子前面是路 {map[x][y+1]=4;map[x][y+2]=3; if(map[x][y]==4) map[x][y]=1; else map[x][y]=2;};} else if(map[x][y+1]==0) //人前是墙 {printf("\a");} else if(map[x][y+1]

37、2) {map[x][y+1]=6; if(map[x][y]==4) map[x][y]=1; else map[x][y]=2;} else if(map[x][y+1]==5)//人前是已在空位的箱子 {if(map[x][y+2]==2)//人前是已在空位是的箱子 箱子前是一个空位 {map[x][y+1]=6;map[x][y+2]=5; if(m

38、ap[x][y]==4) map[x][y]=1; else map[x][y]=2;} else if(map[x][y+2]==0 || map[x][y+2]==3 || map[x][y+2]==5)//人前是已在空位是的箱子 箱子前是墙 箱子 已在空位上的箱子 {printf("\a");} else if(map[x][y+2]==1)//人前是已在空位上的箱子 箱子前是路 {map[x][y+1]=

39、6;map[x][y+2]=3; if(map[x][y]==4) map[x][y]=1; else map[x][y]=2;};}; };break; case 's': { if(map[x+1][y]==1)//如果人面前时路 {map[x+1][y]=4; if(map[x][y]==4) map[x][y]=1;

40、 else map[x][y]=2;} else if(map[x+1][y]==3)//人面前是箱子 {if(map[x+2][y]==2)// 人前箱子 箱子前面是空位 {map[x+1][y]=4;map[x+2][y]=5; if(map[x][y]==4) map[x][y]=1; else map[x][y]=2;} else

41、if(map[x+2][y]==0 || map[x+2][y]==3 || map[x+2][y]==5)//人前是箱子 箱子前面是墙 箱子 已在空位上的箱子 {printf("\a");} else if(map[x+2][y]==1)// 人前是箱子 箱子前面是路 {map[x+1][y]=4;map[x+2][y]=3; if(map[x][y]==4) map[x][y]=1; else

42、 map[x][y]=2;};} else if(map[x+1][y]==0) //人前是墙 {printf("\a");} else if(map[x+1][y]==2) {map[x+1][y]=6; if(map[x][y]==4) map[x][y]=1; else map[x][y]=2;} else if(map[x+1][y]==5)//人

43、前是已在空位的箱子 {if(map[x+2][y]==2)//人前是已在空位是的箱子 箱子前是一个空位 {map[x+1][y]=6;map[x+2][y]=5; if(map[x][y]==4) map[x][y]=1; else map[x][y]=2;} else if(map[x+2][y]==0 || map[x+2][y]==3 || map[x+2][y]==5)//人前是已在空位是的箱子

44、箱子前是墙 箱子 已在空位上的箱子 {printf("\a");} else if(map[x+2][y]==1)//人前是已在空位上的箱子 箱子前是路 {map[x+1][y]=6;map[x+2][y]=3; if(map[x][y]==4) map[x][y]=1; else map[x][y]=2;};}; };break; case 'a': {

45、 if(map[x][y-1]==1)//如果人面前时路 {map[x][y-1]=4; if(map[x][y]==4) map[x][y]=1; else map[x][y]=2;} else if(map[x][y-1]==3)//人面前是箱子 {if(map[x][y-2]==2)// 人前箱子 箱子前面是空位 {map[x][y-1]=4;map[x][y-2]=5;

46、 if(map[x][y]==4) map[x][y]=1; else map[x][y]=2;} else if(map[x][y-2]==0 || map[x][y-2]==3 || map[x][y-2]==5)//人前是箱子 箱子前面是墙 箱子 已在空位上的箱子 {printf("\a");} else if(map[x][y-2]==1)// 人前是箱子 箱子前面是路 {m

47、ap[x][y-1]=4;map[x][y-2]=3; if(map[x][y]==4) map[x][y]=1; else map[x][y]=2;};} else if(map[x][y-1]==0) //人前是墙 {printf("\a");} else if(map[x][y-1]==2) {map[x][y-1]=6;

48、 if(map[x][y]==4) map[x][y]=1; else map[x][y]=2;} else if(map[x][y-1]==5)//人前是已在空位的箱子 {if(map[x][y-2]==2)//人前是已在空位是的箱子 箱子前是一个空位 {map[x][y-1]=6;map[x][y-2]=5; if(map[x][y]==4) map[x][y]=1;

49、 else map[x][y]=2;} else if(map[x][y-2]==0 || map[x][y-2]==3 || map[x][y-2]==5)//人前是已在空位是的箱子 箱子前是墙 箱子 已在空位上的箱子 {printf("\a");} else if(map[x][y-2]==1)//人前是已在空位上的箱子 箱子前是路 {map[x][y-1]=6;map[x][y-2]=3; if(map[x][y]==4) map[x][y]=1; else map[x][y]=2;};}; };break;} map1(map); return (map[9][10]); } int map1(int a[9][10]) {int i,j; static int count=0; system("cls"); printf("\n\n\t\t\t 欢迎玩*【推箱子游戏】*^-^*\n □

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服