拼图游戏个人博客

个人负责任务

游戏界面与功能的实现

游戏用户文件的输入与输出

主要思路

创建GameJFrame类继承JFrame表示的是这个是游戏主界面,实现与游戏有关的逻辑

GameJFrame实现KeyListener与ActionListener接口用来实现键盘与鼠标的监听来实现游戏的移动图片,重新游戏等事件

游戏主要的思路是:

将一个完整的图片分成16个等分的小图片,并将小图片编号,然后用一个4x4的二维数组记录图片对应编号。打乱图片只需要打乱二维数组中记录的编号即可。

移动图片只要将空白图片与想要移动方向相反的的图片交换,例如如果要左移则要将将空白图片与右方图片交换,将二维数组对应中储存的图片编号交换

文件的输入与输出的思路是:

利用BufferedReader与BufferedWriter这两个类实现,在登录界面开始创建一个数组接受文件里的数据,然后对数组操作即可

读入文件我是利用readLine的返回值进行循环读入两行分别为账号与密码,所以写入文件有个小细节:因为循环会先调用一次readLine所以要先换行再写入数据

具体代码的细节

  • 主要全局变量及常量

 

 

  •  构造方法

 

  • 初始化主界面

  • 初始化菜单

  • 初始化数据

 

  • 初始化图片

 

  • 按住键盘不松执行的事件

  • 键盘松开调用事件

这里主要展示的是图片如何左移,上移,下移,右移是类似的

按A或者W执行的代码

 

  •  鼠标点击调用的事件

 

 

 如果点击的是游戏规则就创建一个弹窗对象并初始化,所以后面就不再赘述

  • 读入文件

  • 写入文件

 

 学会的知识

关于本次的游戏界面设计,我们都是通过图形用户界面(GUI)工具包swing中的面板容器类来实现,通过这个,我学会了一些关于界面设计的类和方法。在此外,关于游戏主体部分,令我印象深刻的首先是键盘监控部分,游戏的整体进程是通过键盘来进行的,所以正确的键盘监控是游戏能顺利运行的关键部分。还有文件的读写,对文件的读写有进一步的认识。

可以改进的部分

可以将图片的移动操作更换成鼠标。

用户可以对图片进行选择,而不是只有一张图片。

建立一个排行榜,根据步数进行排行。

posted @ 2023-01-07 17:43  萝卜子  阅读(66)  评论(0)    收藏  举报