60 开发经验 3基金项目: 江西省自然科学基金资助项目(编号: 0411046); 江西省高性能计算技术重点实验室资助基金项目(No. JXHC20052003) )。 基于 Java Swing 的《中国象棋》游戏的设计与实现 兰 红1 王建雄2 黄 云1 (1江西理工大学 赣州 341000) (2赣南师范学院 赣州 341000)   随着Java 的日益完善, Java 在游戏编程方面的强大特性逐渐显露出来, 特别是它的健壮性和跨平台特性以及它在网络应用方面的强大功能使之非常适用于各类游戏的开发。目前, 用Java 开发游戏的方式有多种, 如基于 J2M E 的手机游戏, 基于Java Applet 或Java Sw ing 的多媒体游戏, 基于 J2EE 架构的网络游戏等。本文介绍的是一个用 Java Sw ing 设计和实现的《中国象棋》游戏, 该游戏利用人工智 能思想, 结合了多种Java 技术实现。 1 Java Swing 简介 Java 追求的目标是“一次编写, 到处运行” , 即平台无关性, 这就要求在程序中, 尽量使用纯Java 的代码。游戏的界面对用户来说是关键的, 直接影响到用户对游戏的评价。Java 的早期版本利用抽象窗口工具包(AW T) 为用户界面组件提供了平台独立的A P I。但AW T 依赖与本地平台的接口, 在不同的操作系统上, 使用AW T 制作的界面看起来可能会有些细微区别。与此相对, Sw ing 组件不需要操作系统本身所带窗口工具包的原生资源来生成。Sw ing A P I 的大部分是AW T 的补充扩展而不是直接的代替。Sw ing 为基于窗体的 GU I 应用开发设计, 为 Java 跨平台特性提供了卓越的支持。使用 Sw ing 编写的界面能保证在所有平台上有着同样的外观。 2 《中国象棋》游戏的设计与实现中国象棋具有悠久的历史, 是我们中华文化的精粹之一。中国象棋的游戏规则在中国几乎是家喻户晓, 用Java Sw ing 设计与实现的该游戏既实现了游戏规则的自动设定, 又实现了中国象棋的各项功能。 211 功能设计 《中国象棋》游戏主要有以下功能模块: ①人机对玩模块。游戏者与计算机对玩。②人人对玩模块。游戏者与游戏者对玩。③试下g研究模块。游戏者在计算机上 对棋的下法进行研究。④存储g读取游戏 模块: 对任何正在对弈中或已结束的对局进行存储, 同时也能对存储下来的对局进行读取, 然后继续进行对局或欣赏。⑤棋谱管理模块: 可将棋谱输入到计算机保存, 还可增加对每步下法的解说。棋谱分类方式有按时间、按棋手名、按比赛地点、按比赛类别等方式进行管理。另外可对棋谱进行回顾欣赏, 分两种方式: 手动欣赏, 需游戏者手动控制; 自动欣赏, 由计算机自动控制棋局进程, 欣赏时间和节奏可调, 游戏者可随时暂停和继续。⑥级别g等 级分管理: 参照中国象棋竞赛规则中等级 分的计算方法利用人工智能算法对游戏 者的棋力水平进行评估, 根据游戏者的对局次数、对手等级科学评定游戏者的等级, 使得游戏更加公平合理。⑦背景音乐: 在棋局进行过程中游戏还提供背景音乐, 背景音乐可由游戏者设置。⑧帮助文档: 为游戏者提供文档帮助信息, 包括游戏简介、界面的使用、鼠标和键盘的操作、游戏规则、疑难问答、版本信息等。 212 界面设计 游戏界面采用 Java Sw ing A P I 函数实现。在设计时把中国象棋棋盘看作一个坐标系, 以左下角为坐标系原点, 棋盘的行和列分别为坐标系的 x 轴和 y 轴, 以棋盘上的每个小格作为一个

java象棋游戏用户特点_基于Java Swing的《中国象棋》游戏的设计与实现相关推荐

  1. java中白盒测试用例_基于JAVA开发的中国象棋游戏的开发与研究白盒测试用例.doc...

    中国象棋白盒测试用例 文件状态当前版本V1.0草稿 作 者梁世聪完成日期2012/6/17文档模板SSP-VER-T13-V1.0密 级变更历史 版本完成日期变更记录作者批准签字V1.02012/6/ ...

  2. java游戏开发毕业论文_基于JAVA的五子游戏的开发设计毕业论文

    基于JAVA的五子游戏的开发设计毕业论文 毕业论文基于 JAVA 的五子游戏的开发设计山东凯文科技职业学院摘 要人工智能是一门正在迅速发展的新兴的,综合性很强的交叉科学.它与生物工程.空间技术一起被并 ...

  3. java程序实现剪刀石头布功能_基于JAVA的剪刀石头布游戏设计——Java课程设计报告_...

    基于JAVA的剪刀石头布游戏设计 1剪刀石头布游戏设计思路阐述 在设计游戏时,我们要充分考虑到剪刀石头布游戏的特性,以及多种技术的实现: ⑴构造创建服务器端和客户端 ⑵创建输入输出流 ⑶编写服务器端处 ...

  4. java怎么写桌面日历_基于java的桌面日历系统的设计与实现毕业设计论文最终版.doc...

    基于java的桌面日历系统的设计与实现毕业设计论文最终版 分类号_______________ 密级________________ UDC _______________ 学号_ ___ 毕业设计( ...

  5. java开发组态软件下载_基于JAVA的煤矿安全监控系统组态软件设计研究.pdf

    ·218· 工矿自动化 基于JAVA的煤矿安全监控系统组态软件设计 鲍毅华钢 (中国矿业大学信电学院 江苏徐州 221008) [摘要]本文通过对当前煤矿安全监控系统组态存在的问题和发展趋势的问题,提 ...

  6. java技术论坛的毕业设计_基于java的bbs论坛设计,软件毕业设计

    基于java的bbs论坛设计,软件毕业设计 XXX毕 业 设 计 任 务 书专业 软件技术 年级 xx 级 班级 二班姓名 xx 学号 20 xx0205xx3威 海 职 业 学 院 教 务 处 编 ...

  7. java中ssm付款代码_基于Java+SSM的网上订餐系统、基于JavaWeb的网上订餐系统

    需求分析 基于Java+SSM框架实现一个校园点餐系统,包括用户端和管理员端; 前台主要功能有用户注册, 用户登录, 我的购物车.我的订单.商品评论.校园资讯等; 管理员端主要功能有:用户管理.商品管 ...

  8. java web聊天室论文_基于Java网页版聊天室的设计与实现毕业论文含开题报告及文献综述(样例3)...

    <基于Java网页版聊天室的设计与实现毕业论文含开题报告及文献综述.doc>由会员分享,可免费在线阅读全文,更多与<基于Java网页版聊天室的设计与实现毕业论文含开题报告及文献综述& ...

  9. 基于java的学生选课系统_基于Java的学生选课系统.doc

    课程设计 (Java程序设计) 题 目 基于Java的学生选课系统 基于Java的学生选课系统 摘要:课程管理系统是一个学校中不可缺少的部分.课程管理系统应该能够为用户提供充足的信息和快捷的查询手段. ...

最新文章

  1. java分布式锁终极解决方案之 redisson
  2. linux系统安装tv软件下载,达龙云电脑apk下载
  3. java method_JAVA Method的解析
  4. QPW 用户签署协议日志表(tf_user_agreement_log)
  5. android 滑动过程 触发,android 代码实现模拟用户点击、滑动等操作
  6. 手把手教你用express搭建个人博客(二)
  7. Dubbo(九) dubbo的配置文件加载顺序优先级
  8. mysql学生成绩视图_mysql的视图
  9. 教你如何预判用户手势行为
  10. Netty in action—EventLoop和线程模型
  11. android:viewpager+photoview实现图片查看器
  12. 性能测试tps上不去,又是redis的坑,说多了都是泪啊
  13. Python反爬机制-验证码
  14. kafka connector使用(单机手动启动版)
  15. 用计算机制作思维导图,想用电脑做好思维导图你得先了知道这些事
  16. win10 安装docker msi主板开启虚拟化
  17. ssh 免账号密码登录
  18. 计算机专业生物信息方向博士,我是这样拿到宾大生物信息学全奖博士offer的
  19. 查看,设置,设备的 竖屏-横屏模式 screen.orientation
  20. ac1900修改代理服务器,AC1900路由器怎么设置?

热门文章

  1. pdf文件在pdfbox中对应的数据结构的一点浅见
  2. 基于javaweb的儿童摄影预约系统(java+ssm+jsp+js+jquery+mysql)
  3. matlab里findstr,findstr()与strfind()的区别
  4. PCIE之PCS和PMA含义
  5. matlab 如何查内置函数,关于Matlab的内置函数 ordqz的用法-经管之家官网!
  6. Python基础学习:numbers模块
  7. Cesium加载3D Tiles模型
  8. win10开机报错0xc0000098,bcd文件损坏无法正常启动,全网最简单的修复方法,这里不得不说老毛桃的强大了
  9. 品牌 ESG 营销全景图鉴,来了!|重磅报告
  10. 生成模型(Generative)和判别模型(Discriminative)