本来是想在假期用javaFx来实现一个简单的狼人杀游戏,后来由于时间不够也由于之前没构思好导致最后有点难实现了,。。。。。。。。。最后变成了一个基于nio的javaFx的多人聊天室了。。
功能预览:

clipboard.png

clipboard.png

已完成功能

  1. 服务端:实现建服务器以及建房,和开游戏的功能,以及角色分配的功能。以及游戏开始的竞选警长

  2. 客户端,实现登录,进房,发消息和警长竞选的功能

未完成功能

  1. 游戏到夜晚以后的判断问题,比如说首先服务端通知狼人选择刀人的目标,然后狼人回信息之后服务端的下几步动作

    后来直接改成了一个多人聊天室算了,看看再慢慢重构把功能补齐了
    

思考

今天看了下代码,是的反省下了

  1. 感觉写的太乱了,首先就是数据和逻辑有的都混到一起了,再就是对线程的使用方式不太理想,后来才考虑到使用线程池,不过也是因为开始不知道在javaFx里面对显示的面板的数据做改动必须回到JavaApplication这个线程里面去,这样导致了后来代码越来越乱了

  2. 对于多线程开始想的是本来服务端一个线程负责通信即数据的处理,另一个线程负责房间规则的操作,再就是JavaFxApplication这个线程负责数据显示,后来才发现并不好,应该让负责通信的那个线程的责任更加少一点,收到的数据放到另一个类再去处理

  3. 感觉是时候该去看下设计模式了,代码写的太乱了


Somersames
79 声望4 粉丝