本来是想在假期用javaFx来实现一个简单的狼人杀游戏,后来由于时间不够也由于之前没构思好导致最后有点难实现了,。。。。。。。。。最后变成了一个基于nio的javaFx的多人聊天室了。。
功能预览:
已完成功能:
服务端:实现建服务器以及建房,和开游戏的功能,以及角色分配的功能。以及游戏开始的竞选警长
客户端,实现登录,进房,发消息和警长竞选的功能
未完成功能:
-
游戏到夜晚以后的判断问题,比如说首先服务端通知狼人选择刀人的目标,然后狼人回信息之后服务端的下几步动作
后来直接改成了一个多人聊天室算了,看看再慢慢重构把功能补齐了
思考
今天看了下代码,是的反省下了
感觉写的太乱了,首先就是数据和逻辑有的都混到一起了,再就是对线程的使用方式不太理想,后来才考虑到使用线程池,不过也是因为开始不知道在javaFx里面对显示的面板的数据做改动必须回到JavaApplication这个线程里面去,这样导致了后来代码越来越乱了
对于多线程开始想的是本来服务端一个线程负责通信即数据的处理,另一个线程负责房间规则的操作,再就是JavaFxApplication这个线程负责数据显示,后来才发现并不好,应该让负责通信的那个线程的责任更加少一点,收到的数据放到另一个类再去处理
感觉是时候该去看下设计模式了,代码写的太乱了
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。