基于C语言实现了自动打乱九宫格并且还原 一、界面概况 界面说明界面实现的功能有:选择生成地图的方式,移动图片的方式,搜索模式,设置地图的大小,自定义编辑地图,设置最大
基于C语言实现了自动打乱九宫格并且还原
一、界面概况
界面说明界面实现的功能有:选择生成地图的方式,移动图片的方式,搜索模式,设置地图的大小,自定义编辑地图,设置最大的搜索时间,导入图片和删除图片具体说明如下:
选择生成地图的方式上图中最上面的一个选择框是选择生成的方式,包括随机生成、自定义生成,关卡生成。
随机生成。这种状态下右侧会有生成按钮,点击生成时,会出现一个新的地图。
大小与当前地图相同。
自定义生成。这种状态下,生成按钮消失,同时可以点击编辑排列会出现一个新的窗口进行自定义编辑。
关卡生成。我事先准备了两个关卡可以进行挑战,分别为 33 的和 44 的。
自动模式选择为了方便用户进行游戏,我设置了自动模式和手动模式还原。
自动模式。用户需要先进行搜索,然后点击开始,即可进入到自动模式状态。自动状态下,可以点击暂停和终止,下方会显示剩余的步数,当前的速度级别。
通过 F1 或 F2 改变速度
手动模式。选择手动模式后,需要点击开始进行还原,下方会显示用时。控制是通过键盘的上下左右键进行。
搜索模式共有四种模式,A 搜索,深度搜索,宽度搜索和万能搜索。其中万能搜索是仿照人的还原方式,用时很短,能够适用特别大的地图。具体方式请看下面的算法设计介绍。当搜索用时耗尽时,会给出提示,如果成功时,会弹出成功窗口;若当前的地图与最终的地图是一个反向的关系,即有两个块最终会反过来,这时会弹出信息,说明搜索结果是一个反向结果。
设置地图大小按照下面的提示输入即可
完整的源码和详细的文档,上传到了 【WRITE-BUG数字空间】,需要的请自取https://www.writebug.com/code/0c7d67ff-c792-11ed-b20d-6479f0e5e323/#
【本文由:香港云服务器 http://www.558idc.com/ne.html 复制请保留原URL】