基于javaFx的一个demo

逻辑玄冰探
• 阅读 4991

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

基于javaFx的一个demo

基于javaFx的一个demo

已完成功能

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

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

未完成功能

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

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

思考

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

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

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

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

点赞
收藏
评论区
推荐文章
Wesley13 Wesley13
3年前
javafx实现贪吃蛇游戏
为了学习JavaFX今天决定做一款贪吃蛇的游戏。源码:http://git.oschina.net/flyfox/GameSnake(http://git.oschina.net/flyfox/GameSnake)已发布到oschina:http://www.oschina.net/p/javafxsnake(http://www.osch
Wesley13 Wesley13
3年前
javafx实现打砖块游戏
今天学习了一下JavaFX游戏部分参考博客:http://blog.csdn.net/ml3947(https://www.oschina.net/action/GoToLink?urlhttp%3A%2F%2Fblog.csdn.net%2Fml3947)本人源码地址:http://git.oschina.net/flyfox/Game
徐小夕 徐小夕
4年前
基于Vue实现一个有点意思的拼拼乐小游戏
笔者去年曾写过一个类似的拼拼乐小游戏,技术栈采用自己的Xuery框架和原生javascript实现的,脚手架采用gulp来实现,为了满足对vue的需求,笔者再次使用vue生态将其重构,脚手架采用比较火的vuecli。前言为了加深大家对vue的了解和vue项目实战,笔者采用vue生态来重构此项目,方便大家学习和探索。技术栈如下:vuecli4
Wesley13 Wesley13
3年前
JavaFX WebView概述,很强大,内置了类似Electron的功能
来自 MuraliBilla(https://www.oschina.net/action/GoToLink?urlhttps%3A%2F%2Fblogs.oracle.com%2Fauthor%2F451096495e164353a58cb47036af7724)JavaFX技术人员的主要成员在此博客中,我们将研究JavaFX如何渲
Wesley13 Wesley13
3年前
JavaFX开发的2048游戏
自从JavaFX被纳入Java8之后,JavaFX团队决定跳过几个版本,追赶Java8。而如今的JavaFX的与以往的Swing和JavaFX1.2版本已大大不同,为了更加容易理解和开发,JavaFX的改观不容小觑,但仁者见仁,智者见智,对于JavaFX而言,还有多久才能走到大众开发视线,拭目以待。JavaFX开发的2048游戏!
Wesley13 Wesley13
3年前
JavaFX打包工具(javafxpackager)
首先创建一个JavaFX文件,HelloWorldpackage test;import javafx.application.Application;import javafx.event.ActionEvent;import javafx.event.EventHandler;impor
Wesley13 Wesley13
3年前
NIO网络编程中重复触发读(写)事件
一、前言  公司最近要基于Netty构建一个TCP通讯框架,因Netty是基于NIO的,为了更好的学习和使用Netty,特意去翻了之前记录的NIO的资料,以及重新实现了一遍NIO的网络通讯,不试不知道,一试发现好多细节没注意,导致客户端和服务端通讯的时候出现了一些非常莫名其妙的问题,这边我记录下耗了我一晚上的问题~二、正文
Wesley13 Wesley13
3年前
JavaFX 11发行说明
介绍以下记录描述了有关此版本的重要更改和信息。在某些情况下,该说明提供了有关问题或更改的其他详细信息的链接。从JDK11开始,JavaFX模块与JDK分开提供。这些发行说明涵盖了独立的JavaFX11发行版。JavaFX11需要JDK10(必须是OpenJDK版本)或JDK11.建议使用JDK11。重要变化
Wesley13 Wesley13
3年前
JavaFX入门:简单Demo
零、最终目标通过两种方式(纯代码控制、FXML),实现一个简单的登录界面:Paste\_Image.png涉及到的控件:文本(Text,动态显示内容)、标签(Label,显示文本)、文本域(TextField,用户交互输入)、按钮(Button,登录点击)一、控件通过Code动态添加实现方法
Wesley13 Wesley13
3年前
JavaFX+SpringBoot+验证码功能的小型薪酬管理系统
2020.07.22更新1概述1.1简介一个简单的小型薪酬管理系统,前端JavaFX后端SpringBoot,功能倒没多少,主要精力放在了UI和前端的一些逻辑上面,后端其实做得很简单。主要功能:用户注册/登录验证码找回密码用户修改信息,修改头像
Python进阶者 Python进阶者
1年前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这