拼图游戏(Puzzle)是一种容易上手的小游戏。本题目要求编程,实现以下功能。
  游戏时,用户可以选择一幅图作为拼图素材。系统显示的是被分割成M×N个,并且打乱顺序后随机排列的(见图1)小图块。其中有一块空档。游戏者用鼠标点击与空档相邻的图块,使其与空档互换位置。利用该空档最终恢复图片的原貌,最后一块为底牌(见图2),翻底牌为完成拼图。移动的步数越少或时间越短,说明水平越高。基本要求
  程序能完成概述中的基本功能。
  原始图片可以选择在旁边预览。
  M与N可由游戏者输入确定。
  小图块的排列以及作为空档的图块都是随机的。
  主界面为窗口界面,包含菜单栏。菜单中至少要有“运行”菜单,含“run”命令、“stop”命令;“帮助”菜单,含“Help” 命令、“About” 命令(Help内容是操作说明。About内容是开发者的姓名、学号、日期等。(见有关要求的说明。)
  建议功能
设置游戏级别。用记步数或计时来记录成绩,供查询或分胜负。
空档背景色可选。空档位置也可以指定。
游戏者可以选择级别:学习级、挑战级、应战级。
1.      学习级:作上述一般游戏。
2.      挑战级:计时、记步数,记成绩。上排行板。
3.      应战级:选一个擂台,比时间、步数分胜负。最后上冠军宝座。
 “Undo”功能的实现。
若点错图块(如点了无法移动的图),报警。
作者可以自行发挥各种附加功能和游戏规则,只要在你的帮助信息中给出说明。
提示(仅供参考)?       要将图片分割成M×N份,可以使用PictureClip。再用图像控件数组元素一一对应每个小图块。移动图片时只是交换它们的图片。?       打开图片和颜色框可用公共对话框CommonDiglog控件(需要添加)。?       每次选择的原始图片可能大小不一,设置图像控件为自动适应图像大小。?       用鼠标事件来处理图块的交换。