使用JavaFX2.0编写国际象棋游戏前面发布了不少Javafx2的教程,不觉手痒,想尝试一下JavaFX到底有多强大。呵呵
使用JavaFX2.0编写国际象棋游戏
前面发布了不少Javafx2的教程,不觉手痒,想尝试一下JavaFX到底有多强大。
呵呵,不错,我还没有用JavaFX编写过完整的应用。
扭头一看,我桌子上一本国际象棋的书跳进了我的眼睛。好吧,就你了。
?
效果如图。
?
?
使用方法是先点击一个棋子,然后点击空白区或者对方棋子。
?
花了2天多,已经实现的功能是白方先走、双方交替。
没有实现的功能是限制棋子的移动。所以双方必须主动遵守规则。
严重缺憾是还没有实现王车易位、吃过路兵、兵升变。
?
遗憾是没有体会到JavaFX比其他RIA更强大。
?
这个算0.1版本吧。我会继续改进。
期待大家鼓励。
?
?
---------------------------------------------------
?
2011.12.04
经过几天的改进,又实现了一部分功能。
总体来说,已经可以允许在上面模拟走棋了。
但是依然没有实现棋子走动的限制,所以还是要主动遵守规则。
?
新增了摸棋无悔原则:点击某个棋子后则无法改走其他棋子。
实现了棋子不能自杀:自家不能吃自家的。
实现了王车易位。
实现了吃过路兵,但是也要遵守规则,该点则点。
没有实现兵升变。
?
我更新了附件,欢迎下载。
无法运行的话可能是没有JavaFX环境,我也上传在附件了。
下载后去掉.jpg扩展名即可。直接安装就行,没有额外设置。
?
------------------------------------------------------
?
2011.12.06
这是最终发布了。
最终并不代表完善。
基本的功能都具有了。
实现了兵升变功能。
未实现步骤记录。未开发走动限制,需要主动遵守规则。
?
作为对JavaFX2的体验,不会继续改进了。
但是如果有人在使用过程中发现问题,请告诉我,我会修补的。
?
****************
关于附件:
.exe.jpg文件是Javafx的环境,下载后去掉.jpg扩展名直接安装即可。
.zip是国际象棋应用,下载后解压,可以用三种方式运行。
1 楼 nizhenyuan 2012-04-01 你好!我下载了dist包后怎么无法运行啊? 2 楼 nizhenyuan 2012-04-01 可以了,不好意思,呵呵 3 楼 zhongyuchen 2012-04-28 感谢提供这么好的例子,但是在我的机器上为什么中文乱码呢?请楼主帮忙!谢谢 4 楼 somefuture 2012-04-29 zhongyuchen 写道感谢提供这么好的例子,但是在我的机器上为什么中文乱码呢?请楼主帮忙!谢谢
中文乱码?这我倒一直没遇见过。不知道你其他的应用里中文是什么情况,还是只有这个例子。 5 楼 zhongyuchen 2012-04-29 somefuture 写道zhongyuchen 写道感谢提供这么好的例子,但是在我的机器上为什么中文乱码呢?请楼主帮忙!谢谢
中文乱码?这我倒一直没遇见过。不知道你其他的应用里中文是什么情况,还是只有这个例子。
我自己按照javafx的例子弄的小例子中文也乱码,用的fxml脚本,netBeans 7.1,不知道楼主的环境怎么配置的,还需要其他的什么语言包之类的吗? 6 楼 somefuture 2012-05-01 zhongyuchen 写道somefuture 写道zhongyuchen 写道感谢提供这么好的例子,但是在我的机器上为什么中文乱码呢?请楼主帮忙!谢谢
中文乱码?这我倒一直没遇见过。不知道你其他的应用里中文是什么情况,还是只有这个例子。
我自己按照javafx的例子弄的小例子中文也乱码,用的fxml脚本,netBeans 7.1,不知道楼主的环境怎么配置的,还需要其他的什么语言包之类的吗?
我没有什么特殊的设置,都是按照教程来的。所有的都是乱码?如果不用fxml是什么情况?Java应用中的中文是什么情况?可能的确是NB的问题,估计你也找过设置中可能出现的问题,要不你做一个放到别人电脑上试试。 7 楼 zhongyuchen 2012-05-01 somefuture 写道zhongyuchen 写道somefuture 写道zhongyuchen 写道感谢提供这么好的例子,但是在我的机器上为什么中文乱码呢?请楼主帮忙!谢谢
中文乱码?这我倒一直没遇见过。不知道你其他的应用里中文是什么情况,还是只有这个例子。
我自己按照javafx的例子弄的小例子中文也乱码,用的fxml脚本,netBeans 7.1,不知道楼主的环境怎么配置的,还需要其他的什么语言包之类的吗?
我没有什么特殊的设置,都是按照教程来的。所有的都是乱码?如果不用fxml是什么情况?Java应用中的中文是什么情况?可能的确是NB的问题,估计你也找过设置中可能出现的问题,要不你做一个放到别人电脑上试试。
不用fxml应该没问题,不过没有实践。使用stage.setTitle("系统登录")这个语句,执行时显示的title很正常。使用fxml和properties,因为fxml中也不识别中文,只能用一个properties文件对应,然后使用Parent root = FXMLLoader.load(getClass().getResource("Login.fxml"),ResourceBundle.getBundle("org.framework.Login"))把properties和fxml绑定,但是在运行时就出现了运行时乱码的问题。 8 楼 zhongyuchen 2012-05-02 zhongyuchen 写道somefuture 写道zhongyuchen 写道somefuture 写道zhongyuchen 写道感谢提供这么好的例子,但是在我的机器上为什么中文乱码呢?请楼主帮忙!谢谢
中文乱码?这我倒一直没遇见过。不知道你其他的应用里中文是什么情况,还是只有这个例子。
我自己按照javafx的例子弄的小例子中文也乱码,用的fxml脚本,netBeans 7.1,不知道楼主的环境怎么配置的,还需要其他的什么语言包之类的吗?
我没有什么特殊的设置,都是按照教程来的。所有的都是乱码?如果不用fxml是什么情况?Java应用中的中文是什么情况?可能的确是NB的问题,估计你也找过设置中可能出现的问题,要不你做一个放到别人电脑上试试。
不用fxml应该没问题,不过没有实践。使用stage.setTitle("系统登录")这个语句,执行时显示的title很正常。使用fxml和properties,因为fxml中也不识别中文,只能用一个properties文件对应,然后使用Parent root = FXMLLoader.load(getClass().getResource("Login.fxml"),ResourceBundle.getBundle("org.framework.Login"))把properties和fxml绑定,但是在运行时就出现了运行时乱码的问题。
终于搞定了,把simsun.ttc宋体文件拷贝到jre的lib/fonts下就可以了,一如既往的感谢楼主的热情帮助!