1.游戏介绍
拼图游戏将一幅图片分割咸若干拼块并将它们随机打乱顺序,当将所有拼块都放回原位置时,就完成了拼图(游戏结束)。本人物拼图游戏为3行3列,拼块以随机顺序排列,玩家用鼠标单击空白块四周的交换它们位置,直到所有拼块都回到原位置。拼图游戏运行界面
2.程序设计思路
游戏程序首先将图片分割成相应3行3列的拼块,并按顺序编号。动态地生成一个\为3x3的列表board,用于存放数字0一8,其中,每个数字代表一个拼块,8号拼块不显示。
游戏开始时,随机打乱这个数组board,如board[0l[0]是5号拼块,则在左上角显示编号是5的拼块。根据玩家用鼠标单击的拼块和空白块所在位置,来交换该board数组对应的元素,最后通过元素排列顺序来判断是否已经完成游戏。
0
1
2
3
4
5
6
7
8
打乱后
5
8
2
4
6
3
1
7
0
3,程序设计步骤
Python处理图片切割
使用PIL中的crop()方法可以从一幅图像中裁剪指定区域。该区域使用四元组来指定,四元组的坐标依次是(左、上、右、下)。PIL中指定坐标系的左上角坐标为(0,0).
在本游戏中,需要把图片分割为3列图片块,在上面的基础上再指定不同的区域即可进行裁剪、保存。为了方便使用,可编写splitimage(src,rownum,colnum,