`
metaphy
  • 浏览: 339628 次
  • 性别: Icon_minigender_1
  • 来自: 大西洋底
社区版块
存档分类
最新评论

四国军旗界面的AWT/Swing实现进度

阅读更多

很遗憾的说“四国军棋界面的EclipseRCP实现”无疾而终。用GEF实现时候碰到很多困难。多线程问题、和用户的交互问题,在GEF中似乎都是mission impossible;而这些却是一个游戏的基本概念。
教训还是很多的。其一,不了解需求,即一个棋类游戏的基本概念;其二,不了解技术,尤其不了解所用的框架,只是边学边用,不知道用这种技术的局限性。收获还是有的,至少这一MVC框架和概念仍然可以在Swing里面用。
用Swing也会碰到许多困难,这是一定的。但至少我知道,用Swing技术肯定可以实现,因为已经能看到很多不错的Swing游戏了...

进度:
[2008.1.24]采用JButton做为SoldierPoint和Chessman,可以方便的实现ActionListener,正在实现JPanel的repaint()、处理2个JButton重叠的问题
[2008.1.28]实现棋子在棋盘上的移动线程
待实现问题:给定棋子的起始和终止坐标位置,查找route。现在最复杂的应该是小兵的寻路方式,因为小兵可以飞。
[2008.2.1]实现公路一步的寻路。实现一个原位置的虚影。
待实现问题:寻路。棋子有时候不能完全覆盖Points

[2008.2.19]解决棋子覆盖Poingts问题,用JLabel替代JButton;解决公路上的寻路/非工兵寻路问题
待解决:工兵寻路问题

[2008.2.21]工兵寻路解决,使用A*方法。

[2008.2.22]解决棋子的寻路以及移动问题。移动过程播放声音。

待解决:资源文件的相对路径问题。吃子问题。

[2008.2.25]解决资源文件相对路径问题。解决吃子问题。

待解决:棋子点击之后的闪动问题(多线程协作问题)。

[2008.2.26]点击之后闪动解决。

待解决:手动布局及游戏状态切换(开始-布局-下棋-结束)

[2008.2.29]手动布局/调入布局问题解决

到现在,游戏的基本操作流程算是实现。代码编写过程中也被重构过n多次。统计了一下,一共有32个Java类,3779行代码(包含代码、注释、空行等)。从最初考虑用GEF实现这个游戏到现在,也过了4个多月。下一步,要想让这个游戏可以玩起来,无非(1)联机对战(2)人工智能实现人机游戏。2个方面都很有意思。我想考虑先实现局域网内对战。

任务仅仅才完成一半。

 

 

分享到:
评论
1 楼 Tristan_S 2011-05-25  
高手, 膜拜中

相关推荐

Global site tag (gtag.js) - Google Analytics