如何完成拼图游戏的算法设计

beyondong 2005-05-29 12:33:58
假如在一个3*3的方格中随机放入12345678这些数。然后用算法实现将这些数拼成如下格式
123
456
78
使移动的次数尽量少
最好把具体算法写出

...全文
189 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
NowCan 2005-05-30
  • 打赏
  • 举报
回复
http://blog.csdn.net/NowCan/archive/2005/01/17/256116.aspx
这里去看
ywfscu 2005-05-29
  • 打赏
  • 举报
回复
用A*算法,你自己去查一下.
《Java程序设计与应用开发》课程设计报告 "设计题目 "拼图大作战 " "学生姓名 " " "学生班级 " " "学生学号 " " "指导教师 " " 完成时间:2016 年 06 月 21 日 目录 一、项目说明..................................................2 二、设计思路与关键数据结构.......................4 三、系统的类和结构......................................6 四、核心算法描述和相关技术说明..............8 五、总结和体会..............................................9 六、源代码清单............................................10 1. 项目说明 "项目介绍 " "该游戏是由以图片为主体的拼图游戏,这个游戏是一个益智休闲的小游戏" "。该类似的小游戏在我们成长的过程中,曾经疯狂的流行着,这是一个老少" "皆宜的小游戏,它开发人们的智力,加强我们的动手能力和我们的眼睛的洞" "察力。该游戏简单方便易操作是一个很好的小游戏,也是一个经久不衰的游" "戏,在我们这代人中,可谓每个人都玩过这种类似的小游戏,简单易操作是" "其一直存在的原因之一。 " "游戏由简单的界面组成的,操作简单,该图像块是由12块小的小图像块构成" "的,其中有一个空白的小图像块,该图像块是来与别的图像块交换的,以此" "来实现大图像的拼凑。在java标准环境下运行,实现通过小的图像块的移动" "实现大的图像的拼凑。通过鼠标点击选取小的图像块,通过移动鼠标实现小" "图像的移动,使小图像块能够上下左右的移动从而完成大图像的拼凑的完成" "。 " "游戏展示与使用 " "1.主体功能 " "可以从多张图片中选择来进行拼图游戏 " "通过移动鼠标实现小图像的移动,使小图像块能够上下左右的移动从而完成" "大图像的拼凑的完成。 " "播放游戏音乐的功能 " "统计游戏中走的步数 " "游戏中体现友好性,加了数字提示的功能和一个原图预览的区域 " "完成后,有设置提示弹框显示,所用的步数和恭喜 " " " "2.如何使用 " "如下图: " "可以先选择喜欢的图片来进行游戏,点击喜欢的图片后,再点击Start按钮 " "便可以开始游戏 " "在游戏过程冲,可以使用数字提示的功能,数字提示会按照1,2,···9的顺" "序给予提示,借此降低游戏难度,增加可玩性 " "也可以控制游戏音乐的播放与否 " "在完成拼图后,会提恭喜完成的信息。 " "若再想继续游戏,则继续选择喜欢的图片,再点击Start按钮继续游戏 " "若不想玩游戏,则点击右上角叉叉,即可退出游戏。 " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " "3.基于Java技术,在Ecilpse下进行编译使用,作者使用环境SUMSUNG电脑 " ",WIN10 64位操作系统 " 二、设计的思路与关键数据结构 "1、 设计思路 " "主要是利用了Java中的Swing和Awt来实现界面上的静态显示和动态交互操作" ",播放音乐的技术使用到了Applet,在算法的实现上,利用了布局上的坐标" "方式,来计算每个小方格的坐标位置,进行小图片交换和判断是否复原拼图" "等操作。 " "2、实现思路 " "主要分为五个类来实现总体的功能 " "在构思布局的过程中,想了3*4的布局,借此可以直接在面板上放置比较多 " "的按钮来实现功能。在显示界面的思路上,分为四个方面,主界面,图片预" "览区,拼图区,小平图单元格。然后要有实现游戏总的一个类,启动类。所" "以总共五个类,利用UML时序图表示如下: " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " "3、关键算法 " "在决定做这个小游戏的时候,翻阅了书本,书本利用了坐标来计算每个小方" "块的关系,进行计算。但是不完善,在这个基础上,上网查阅了博客和一些" "IT网站,最后完成算法方面的问题。 " "第一个,打乱小拼图,利用第一个左上角的小方块与周围的小方块进行比较" ",若原理左上角的四块小方格,则表示打乱成功。 " "第二个,如何将点击的小方块和空方块来进行交换,将两个方块坐标进行互" "换即刻,在判断四个方向即刻。 " "利用UML时序图表示如下: " " " " " 三、系统的类和结构 " " "类结构与关系: " " " "启动起类,负责调用空的构造方法,来启动

33,010

社区成员

发帖
与我相关
我的任务
社区描述
数据结构与算法相关内容讨论专区
社区管理员
  • 数据结构与算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧