已阅读5页,还剩43页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
毕业设计说明书 基于 JAVA 的围棋游戏的设计与实现 学生姓名 学号 学 院 信息商务学院 系 名 电子与计算机科学技术系 专 业 网络工程 指导教师 2015 年 5 月 中北大学信息商务学院2015 届毕业设计说明书 基于 java 的围棋游戏的设计与实现 摘要 围棋作为一个棋类竞技运动 在民间十分流行 为了熟悉围棋规则及技巧 以及研究简单的人工智能 决定用 Java 开发围棋游戏 主要完成了人机对战和玩 家之间联网对战 2 个功能 网络连接部分为 Socket 编程应用 客户端和服务器端 的交互用 Class Message 定义 有很好的可扩展性 客户端负责界面维护和收集 用户输入的信息 及错误处理 服务器维护在线用户的基本信息和任意两个对战 用户的棋盘信息 动态维护用户列表 在人机对弈中通过深度搜索和估值模块 来提高电脑棋手的智能 分析估值模块中的影响精准性的几个要素 以及提出若 干提高精准性的办法 以及对它们搜索的节点数进行比较 在这些算法的基础上 分析一些提高电脑 AI 方案 如递归算法 电脑学习等 算法的研究有助于理解程 序结构 增强逻辑思维能力 在其他人工智能方面也有很大的参考作用 关键词 围棋 信息自动化 游戏 java 全套设计加扣 3012250582 中北大学信息商务学院2015 届毕业设计说明书 Design and Implementation of chess game ABSTRACT Go as a chess tournament sport is very popular in the folk in order to know the renju rules and techniques and artificial intelligence research simple decided to use Java gobang game development Main completed the man machine between networking and multiplayer game with two functions Network connection parts for Socket programming applications client and the server to interact with the Class Message definition has good scalability the client is responsible for the maintenance and collect information of user input interface and error handling The basic information of the server maintenance online users and any two against the user s information board dynamic maintenance user list Through deep search and valuation in man machine game module to improve computer chess player s intelligence Analysis of several factors that have effect on the precision of the valuation module and puts forward some improve the precision of the method as well as to the number of nodes in the search to compare them on the basis of these algorithms analyze some improve AI scheme such as recursive algorithm computer learning etc Algorithm research helps to understand the program structure enhance the logical thinking ability in the other artificial intelligence also has a great reference function Keywords Go Information Automation Games Java 中北大学信息商务学院2015 届毕业设计说明书 中北大学信息商务学院2015 届毕业设计说明书 第 页 共 页 目 录录 1 绪论 1 1 1 背景 1 1 2 设计内容 2 2 围棋对弈系统 5 2 1 围棋概述 5 2 1 1 围棋定义 6 2 1 2 开发围棋的任务及目的 6 2 2 主要系统介绍 7 2 3 本章小结 7 3 围棋对弈系统的设计 8 3 1 系统需求分析 8 3 2 系统开发及运行环境 10 3 3 系统主要功能要求 10 3 4 系统总体结构 11 3 5 本章小结 13 4 围棋对弈系统的具体实现 14 4 1 界面设计 14 4 2 输赢判断设计 17 4 3 程序设计及调试运行 17 4 4 本章小结 18 5 结束语 19 附 录 20 参考文献 41 致 谢 42 中北大学信息商务学院2015 届毕业设计说明书 第 1 页 共 48 页 1 1 绪论绪论 1 11 1 背景背景 围棋是一种智力游戏 发源于中国 中日韩是如今围棋的三大支柱 但这些 年来日本围棋渐渐衰弱 形成了中韩相争的局面 围棋是中华民族传统文化中的瑰宝 它展现了中华民族对智慧的追求 古人 常以 琴棋书画 论及一个人的才华和修养 其中的 棋 指的就是围棋 被人 们形象地比喻为黑白世界的围棋 是我国古人所喜爱的娱乐竞技活动 同时也是 人类历史上最悠久的一种棋戏 由于它将科学 艺术和竞技三者融为一体 有着 发展智力 培养意志品质和机动灵活的战略战术思想意识的特点 因而 几千年 来长盛不衰 并逐渐地发展成了一种国际性的文化竞技活动 围棋是一种策略性二人棋类游戏 使用格状棋盘及黑白二色棋子进行对弈 目前围棋流行于亚太 覆盖世界范围 是一种非常流行的棋类游戏 中国围棋规则是数子法 围棋的本质是 谁的占地面积大谁获胜 围棋的规则十分简单 却拥有十分广阔的落子空间 使得围棋变化多端 比 其它棋类复杂深奥 这就是围棋的魅力所在 下围棋对人脑的智力开发很有帮助 可增强一个人的计算能力 创造能力 思维能力 判断能力 也能提高人的注意 力和控制力 下围棋对儿童少年的智力发展起到积极作用 使他们能更好的分析 事物 Java 语言是当今最为流行的程序设计语言之一 作为一门非常优秀和极为健 壮的编程语言 它同时具有的面向对象 与平台无关 分布式应用 安全 稳定 和多线程等优良的特征 使用 Java 语言 不仅可以开发出功能强大的大型应用程 序 而且 Java 语言本身突出的跨平台的特性也使得它特别适合于 Internet 上的 应用开发 可以这样说 Java 的出现使得所开发的应用程序 一次编写 处处可 用 的实现成为了可能 近来随着计算机的快速发展 各种各样的电脑游戏层出不穷 使得我们能有 更多的娱乐项目 而棋类游戏能起到锻炼人的思维和修身养性的作用 而且棋类 游戏水平颇高 大有与人脑分庭抗礼之势 其中战胜过国际象棋世界冠军 卡斯帕 罗夫的 深蓝 便是最具说服力的代表 中北大学信息商务学院2015 届毕业设计说明书 第 2 页 共 48 页 越来越多的具有智能的机器进入了人类的生活 人工智能的重要性如今显而 易见 自己对人工智能比较感兴趣 而围棋游戏程序的开发实现这个课题 正好 提供给我这样一个研究的机会 通过对人工智能中博弈方面的研究 人机对弈 让我在简单的人机对弈全局设计 以及具体到相关算法上有了深入的了解 人工 智能属于计算机科学的领域 它以计算机技术为基础 近几十年来 它的理论和 技术已经日益成熟 应用领域也正在不断扩大 显示出强大的生命力 人工智能 大致可以分成几个学科 它们每一个都是独特的 但是它们常常又互相结合起来 完成设计任务 这时 这些学科之间的差别就变的很模糊 人工智能在专家系统 自然语言理解 自动定理证明 自动程序设计 人工智能在机器人学 模式识别 物景分析 数据库的智能检索 机器下棋 实质上是博弈论问题 和家用电器智 能化等领域都有广泛的应用 而这个课题就是和人工智能中的博弈论领域紧密相 关的 这个题目核心是人工智能和 Socekt 编程 并且人工智能中的博弈部分 由 于采用了大量的搜索算法 其中很多被利用到各方面 它的概念 方法和技术 正在各行各业广泛渗透 智能已经成为当今各种新产品 新装备的发展方向 所 以 趁着这个机会 对人工智能中比较容易实现的人机博弈进行了解研究学习 也是很实用且很有必要的 1 21 2 设计内容设计内容 此设计是一个小游戏 围棋 的实现 主要运用了 GUI 用户图形界面 API 应用程序借口 来实现 此程序没有用到图片的引用 棋盘和棋子的设计完全 是应用函数绘制 再加入复选框 按钮 标签及实现本游戏的用户界面布局 在页面上通过单纯的 JCreator 实现的下棋程序 能够实现提子 打劫等简单 的下棋功能 更好的掌握 java 编程以及布局和设计 通过课程设计把课堂上讲的 内容融会贯通 学会设计程序 开发应用软件 开发系统软件等各项工作 通过 实习掌握语言的语法结构 理解类和对象的概念 准确的使用各种数据类型 对 面向对象中的继承和多态的概念要理解 会使用 在程序中提高代码的重用性 使设计的程序结构清晰 易于维护 一 棋盘 中北大学信息商务学院2015 届毕业设计说明书 第 3 页 共 48 页 盘面有纵横各十九条等距离 垂直交叉的平行线 共构成 19 19 361 个交 叉点 以下简称为 点 在盘面上标有几 个小圆点 称为星位 中央的星位 又称 天元 二 棋子 棋子分黑白两色 均为扁圆形 棋子的数量以黑子 181 白子 180 个为宜 三 围棋的下法 1 对局双方各执一色棋子 黑先白后 交替下子 每次只能下一子 2 棋子下在棋盘的点上 3 棋子下定后 不得向其他点移动 4 轮流下子是双方的权利 但允许任何一方放弃下子权 四 棋子的气 一个棋子在棋盘上 与它直线紧邻的空点是这个棋子的 气 棋子直线紧 邻的点上 如果有同色棋子存在 则它们便相互连接成一个不可分割的整体 它 们的气也应一并计算 棋子直线紧邻的点上 如果有异色棋子存在 这口气就不 复存在 如所有的气均为对方所占据 便呈无气状态 无气状态的棋子不能在棋 盘上存在 也就是第四条 提子 五 提子 把无气之子提出盘外的手段叫 提子 提子有二种 1 下子后 对方棋子无气 应立即提取 2 下子后 双方棋子都呈无气状态 应立即提取对方无气之子 六 计算胜负 1 贴 3 又 3 4 子的规则 第一步 把死子捡掉 第二步 只数一方围得点 叫做目 并记录下来 一般围得点以整十目为单 位 再数刚才那一方的子数并记录下来 再把目数和子数加起来 第三步 如果数的是黑棋 再减去 3 又 3 4 子 如果数的是白棋 再加上 3 又 3 4 子 中北大学信息商务学院2015 届毕业设计说明书 第 4 页 共 48 页 第四步 结果和 180 又 1 2 棋盘 361 个点的一半 比较 超过就算胜 否 则判负 2 让先与让子 让先不贴目 让子要贴还让子数的一半 就当被让方是预先收了单官 中北大学信息商务学院2015 届毕业设计说明书 第 5 页 共 48 页 2 2 围棋对弈系统围棋对弈系统 2 12 1 围棋概围棋概述述 网络围棋在中国的出现几乎跟随着互联网同步成长 1998 年 联众率先推 出了网络围棋对弈 几年来各大网络围棋平台先后 上线 出身各异 水平也参差 不齐 根据网络资料显示 截止 2007 年底 中国网络围棋平台平均在线人数达 6 万人 大型的游戏平台如 QQ 游戏 联众游戏中都有围棋游戏 也就是 说 QQ 围棋 联众围棋都是镶嵌在其游戏平台之上 依靠游戏平 台用户人数的优势 这两个平 台围棋用户人数占据了网络围棋 用户的半数之多 但根据专业人士分析 这部 分用户无论在产品使用深度和对围 棋的认知上是绝对的新手 浅尝辄止 他们大 多是过客 同时 他们的围棋软件本身也不够专业 专业的网络围棋平台才是中 国网络围棋普及和发展的出路 目前国内的专业网络围棋平台 大致可分使用韩产软件和国 产软件两大类 国内专业围棋平台的领军人物弈城 TOM 便 是使用韩产软件的代表 两平台能 够实现中韩对垒的特性 为 他们吸引了不少高水平的棋手 并受到棋友的广泛认 可 但他 们同样有一个死穴 就是两家皆为购买韩国软件 不掌握主动 权 因 此根本无法保证软件的及时更新 容易受制于韩方 弈 城事件 便将这个致命 缺点暴露无疑 经典的围棋系统有 Handtalk Goemate Wulu 他是陈志行的作品 曾多次获 得过冠军 在他的指导下一个研究小组编写了乌鹭 WUIU 也在比赛中取得过亚 军 Handtalk 是用汇编语言编写的 执行速度快 程序本身也不大 由于程序并 不大 可以推侧出其所用到的模式资料也不多 Handtalk 在大多数的情况下都不 会失误 作者本人曾提到他是用到一种类似人类棋手在下围棋时常用到的手割法 来帮助判断的 Handtalk 与其它的程序明显不同的地方是它的攻杀能力特别强 在大多数的比赛中 都是通过吃掉对方几块棋而获胜 这是由于程序的棋块安危 判断能力 形势判断能力 眼位判断能力和模式匹配能力都很强的关系 这些系统 的好坏 跟设计者的棋力关系很大 中北大学信息商务学院2015 届毕业设计说明书 第 6 页 共 48 页 2 1 1 围棋定义 围棋是人生的模拟 开局时 盘上一片空白 就好像一个刚刚有了自觉意识的小孩 睁开了懵懂 的双眼 开始了自己的人生之路 开局时 你可以有各种选择 自由度最大 走 哪一步都不会让你立刻输掉 布局基本上是兴趣的显示 有喜欢大模样的 那是寄希望于未来的做法 有 现实地捞空的 有顺应对方的思路 不知不觉中达到自己目的的 也有处处与对 方作对 即使自己不爽 也要给对方添堵的 由于棋盘的广大 不可能面面俱到地行棋 过程中 对局者不断地在判断 取舍 好像人生开始在选择自己的道路了 看着这里想要 那里也想要 可是没 法面面俱到 终究只能选取一条路 有时候 你的招法对路 越走越畅 有的时 候就有问题 想要的没要到 越下越添堵 优势时 好比人生得意时 心情很爽 最好一直就这么下去 劣势时 千方 百计寻找对手的破绽 伺机翻盘 心理毅力强的人 总能把弦绷得紧紧的 一直 像甲鱼一样咬住对手 心理软弱的人 很早就放弃抵抗 认输投降 优势时被对方翻盘了 就好像原本胜券在握的一件事情 被自己搞砸了 懊 悔痛恨都没有用 大败的棋 忽然找到对手的漏勺又赢了回来 就好像本已被逼 到绝境 却又咸鱼翻生 大获全胜 心情之爽 难以表达 由于围棋的棋盘相对比较广大 过程也较反复 一盘棋下来 通常势均力敌 的对手都会有不止一次的获胜机会 这种翻来覆去的体验 非常象人生经历的一 种浓缩 抽象 人生 是不可重复的 因此在迈出想要尝试的一步时 有可能随 之而来的 是非常惨痛的代价 而围棋的过程 可以让你在做出种种尝试后付出 最少的代价 大不了输一盘棋么 推掉再来就是了 围棋还含有艺术 哲学的成份 以及创造世界的哲理 通过学习围棋 你不 仅享受到其中的乐趣 而且还会开拓一个更加美好的世界 2 1 2 开发围棋的任务及目的 随着 Intemet 的普及 网络游戏己经成为大家耳濡目染的新生事物 网络游 戏从出现到现在发展的时间很短 但是其发展速度却非常之快 现在 可以说网 络游戏已经成为人们休闲 娱乐的有效方式 网络游戏种类很多 目前主要分战 中北大学信息商务学院2015 届毕业设计说明书 第 7 页 共 48 页 略类 RPG 类 棋牌类等几种 常见的棋牌类游戏有中国象棋 国际象棋 围棋 桥牌 拱猪 麻将等 2 22 2 主要系统介绍主要系统介绍 主要功能包括 能实现联机对战 和单机版游戏对战 开始游戏之后 1 用户双方自行选择白棋和黑棋 2 任何一方可以随时随地认输 游戏结束 4 要实现围棋最基本吃掉对方的法则 1 有一个或多个游戏服务器启动特定游戏服务 2 游戏者到游戏网站下载客户端程序并申请游戏账号 然后启动客户端程 序通过某种网络协议连接游戏服务器 3 客户端负责处理客户端显示和操作界面 具有简单的逻辑处理功能力 同时负责接收发送与服务器端交互的数据包 4 服务器程序负方处理服务器端逻辑 游戏逻辑 客户之间的网络信息传 递 以及数据库之间的数据读取保存工作 同时服务器端还要承担客户端数 据的接收 转发工作 5 网络游戏常用的网络协议有 Internet 的 TCP IP 协议 适用于局域 网 如红色警报联网等采用 的 IPX 协议 虽然目前很多围棋游戏正在运行 但是使用 java 平台开发的游戏少之又少 这就使得围棋客户端的运行平台十分有限 不能满足今后发展的需求 如移 动客户端 就基本上没有 因此开发一套基于 java 的围棋系统十分必要 2 32 3 本章小结本章小结 这一章介绍了当前围棋应该具备的功能模块 并提供了市面上比较流行的围 棋系统作为参考 在这一章中 我们可以了解什么是围棋系统 当前围棋系统的 市场需求 还有一个围棋系统应该的开发目标 中北大学信息商务学院2015 届毕业设计说明书 第 8 页 共 48 页 3 3 围棋对弈系统的设计围棋对弈系统的设计 这一章时介绍开发环境和用到的开发工具 系统主要的功能设计 系统的数 据流程图 3 13 1 系统需求分析系统需求分析 1 设计流程 图 3 1 中北大学信息商务学院2015 届毕业设计说明书 第 9 页 共 48 页 图 3 1 设计流程图 2 运行流程 带流程图 3 2 中北大学信息商务学院2015 届毕业设计说明书 第 10 页 共 48 页 图 3 2 运行流程图 3 23 2 系统开发及运行环境系统开发及运行环境 硬件平台 宏基 4750G 软件平台 操作系统 Windows 7 旗舰版 开发工具包 JDK Version1 7 0 Eclipse 分辨率 最佳效果 1366 768 像素 3 33 3 系统主要功能要求系统主要功能要求 系统设计目标如下 主要功能包括 1 能够在局域网上实现多人在线对战 2 能够实现单机版游戏对战 开始游戏之后 1 用户双方选择白棋和黑棋 2 任何一方可以随时随地认输 游戏结束 3 要实现围棋最基本吃掉对方的法则 中北大学信息商务学院2015 届毕业设计说明书 第 11 页 共 48 页 3 43 4 系统总体结构系统总体结构 如图 3 3 系统功能结构图 图 3 3 private void jbInit throws Exception choice1 setBackground new Color 236 190 98 button1 setBackground new Color 236 190 98 try UIManager setLookAndFeel UIManager getSystemLookAndFeelClassName catch Exception e e printStackTrace this setResizable false new Thread this start 启动监听线程 this PORT 1976 中北大学信息商务学院2015 届毕业设计说明书 第 12 页 共 48 页 this isInitiative false 是否主动连接 this stopFlag false 是否继续监听的标志 this choice1 addItem 黑 this choice1 addItem 白 LastPoint new Point messagePoint new Point this setSize 470 450 this setTitle 围棋大战 制造者 苗泽 this panelGo setEnabled false 开始之前屏蔽掉盘面 checkbox1 addMouseListener new java awt event MouseAdapter public void mouseClicked MouseEvent e checkbox1 mouseClicked e this goStartPoint this panelGo getLocation this setLayout borderLayout1 panel1 setLayout borderLayout2 checkbox1 setCheckboxGroup checkboxGroup1 checkbox1 setLabel 单机 checkbox2 setCheckboxGroup checkboxGroup1 checkbox2 setLabel 联机 checkbox2 addMouseListener new java awt event MouseAdapter public void mouseClicked MouseEvent e checkbox2 mouseClicked e 中北大学信息商务学院2015 届毕业设计说明书 第 13 页 共 48 页 label1 setText 对方地址 button1 setLabel 连接 3 53 5 本章小结本章小结 通过对围棋游戏的编写 使自己对 java 语言有了更深的了解 让我渐渐体会 到了 JAVA 的博大精深 以及怎么学习 JAVA 怎么学习计算机语言 怎样对问题 进行解决和运用 JAVA GUI 查找 JAVA API 的使用都用了更进一步的理解 也更 加熟悉和了解了 java 开发工具 Eclipse 的使用 同时 程序在编写完毕之后还有很多地方需要完善 例如 可以把另一方选 择为电脑方 让电脑自动下 也可以给游戏添加背景音乐 甚至可以修改成网络 游戏 用户可以在网上对战 总之 有很多地方可以扩充和完善 在此次设计过 程中我也学到了许多了关于计算机方面的知识 编程能力有了很大的提高 中北大学信息商务学院2015 届毕业设计说明书 第 14 页 共 48 页 4 4 围棋对弈系统的具体实现围棋对弈系统的具体实现 界面是系统之间最直接的交互界面 界面的友好性体现了软件设计的质量 并 在很大程度上决定了软件是否成功 4 14 1 界面设计界面设计 系统主界面如图 4 1 中北大学信息商务学院2015 届毕业设计说明书 第 15 页 共 48 页 图4 1 主界面 关键代码 void initMyHash Point startPoint int interval One one Point key 逻辑点标志 int i j 定义i j 中北大学信息商务学院2015 届毕业设计说明书 第 16 页 共 48 页 for i 1 i 19 i for j 1 j19 p x 1 p y19 return false int color One one one One this panelGo myHash get p color one color if color 0 中北大学信息商务学院2015 届毕业设计说明书 第 29 页 共 48 页 return false return true void panelGo mouseClicked MouseEvent e if this isSingle this doSingle else this doMultiple 开始 void button2 actionPerformed ActionEvent e if e getActionCommand equals 开始 this disableLink this checkbox1 setEnabled false this checkbox2 setEnabled false this button2 setLabel 退出 if this isSingle this panelGo setEnabled true else 联机版时 if this choice1 getSelectedItem equals 黑 中北大学信息商务学院2015 届毕业设计说明书 第 30 页 共 48 页 this writer println start black else this writer println start white this paintMyColor 表明颜色 else if e getActionCommand equals 退出 this dispose System exit 0 disable 联机时用的控件 void disableLink this textField1 setBackground new Color 236 190 98 this textField1 setEnabled false this choice1 setEnabled false this button1 setEnabled false enable 联机时的控件 void enableLink this textField1 setBackground Color white this textField1 setEnabled true this choice1 setEnabled true this button1 setEnabled true 中北大学信息商务学院2015 届毕业设计说明书 第 31 页 共 48 页 判断类型 boolean isSingle return this checkbox1 getState void single void multiple 加小黄点 void showMousePoint Point mousePoint Graphics g this panelGo getGraphics g setColor Color yellow g fillOval mousePoint x 20 6 mousePoint y 20 6 this panelGo INTERVAL 8 this panelGo INTERVAL 8 this yellowPoint x mousePoint x 定位黄点 this yellowPoint y mousePoint y Graphics myG this myImage getGraphics this createMyImage myG this yellowPoint 0 消除前一个黄点 void removeLastMousePoint Point thatPoint Point thisPoint if thatPoint x thisPoint x thatPoint y thisPoint y Graphics g this panelGo getGraphics 中北大学信息商务学院2015 届毕业设计说明书 第 32 页 共 48 页 if this yellowPoint null this yellowPoint x 1000 不在范围内 就一边去 this yellowPoint y 1000 构成所需要的 Image void createMyImage Graphics g Point thisPoint int color int px thisPoint x int py thisPoint y Color myColor this panelGo getBackground if px 1 g fillRect 0 0 16 16 g setColor Color black g drawLine 8 8 8 16 g drawLine 5 5 5 16 g drawLine 8 8 16 8 g drawLine 5 5 16 5 else if px 1 g fillRect 0 0 16 16 g setColor Color black g drawLine 8 8 8 0 中北大学信息商务学院2015 届毕业设计说明书 第 33 页 共 48 页 g drawLine 8 8 16 8 g drawLine 5 11 16 11 g drawLine 5 11 5 0 else if px 19 g fillRect 0 0 16 16 g setColor Color black g drawLine 8 8 8 16 g drawLine 8 8 0 8 g drawLine 11 5 11 16 g drawLine 11 5 0 5 else if px 19 g fillRect 0 0 16 16 g setColor Color black g drawLine 8 8 8 0 g drawLine 8 8 0 8 g drawLine 11 11 11 0 g drawLine 11 11 0 11 else if px 1 g fillRect 0 0 16 16 g setColor Color black 中北大学信息商务学院2015 届毕业设计说明书 第 34 页 共 48 页 g drawLine 8 8 16 8 g drawLine 8 0 8 16 g drawLine 5 0 5 16 else if px 19 g fillRect 0 0 16 16 g setColor Color black g drawLine 8 8 0 8 g drawLine 8 0 8 16 g drawLine 11 0 11 16 else if py 1 g fillRect 0 0 16 16 g setColor Color black g drawLine 8 8 8 16 g drawLine 0 8 16 8 g drawLine 0 5 16 5 else if py 19 g fillRect 0 0 16 16 g setColor Color black g drawLine 8 8 8 0 g drawLine 0 8 16 8 中北大学信息商务学院2015 届毕业设计说明书 第 35 页 共 48 页 g drawLine 0 11 16 11 八个小黑点 else if color 0 g fillRect 0 0 16 16 g setColor Color black g drawLine 0 8 16 8 g drawLine 8 0 8 16 g fillOval 5 5 6 6 else if color 0 g setColor myColor g fillRect 0 0 16 16 g setColor Color black g drawLine 0 8 16 8 g drawLine 8 0 8 16 单机版走步 void doSingle if this stepColor 中北大学信息商务学院2015 届毕业设计说明书 第 36 页 共 48 页 this panelGo doStep this yellowPoint 1 else this panelGo doStep this yellowPoint 2 if this panelGo errorFlag 如果不违例 则换颜色 this stepColor this stepColor this paintThisColor this stepColor else this panelGo errorFlag false this yellowPoint x 1000 刚走的子不至于删掉 this yellowPoint y 1000 联机版走步 void doMultiple int color if this choice1 getSelectedItem equals 黑 color 1 else color 2 this panelGo doStep this yellowPoint color 如果走法不对 返回 if this panelGo errorFlag this panelGo errorFlag false return this panelGo setEnabled false 中北大学信息商务学院2015 届毕业设计说明书 第 37 页 共 48 页 String message this getMessage color this yellowPoint x this yellowPoint y this writer println message this yellowPoint x 99 刚走的子不至于删掉 还要可以解析 this yellowPoint y 99 处理发送字符串 String getMessage int color int x int y String strColor String valueOf color String strX String strY 如果单数的话 就加一位 if x 10 strX 0 String valueOf x else strX String valueOf x if y 10 strY 0 String valueOf y else strY String valueOf y return strColor strX strY void this windowClosing WindowEvent e this dispose System exit 0 void checkbox2 mouseClicked MouseEvent e 中北大学信息商务学院2015 届毕业设计说明书 第 38 页 共 48 页 this enableLink void checkbox1 mouseClicked MouseEvent e this disableLink void button1 actionPerformed ActionEvent e this goToLink this textField1 getText trim this PORT 主动连接 serverSocket void goToLink String hostName int port try this stopFlag true this sendSocket new Socket hostName port this panelGo showError 连接成功 this choice1 setEnabled true this button1 setEnabled false this checkbox1 setEnabled false this checkbox2 setEnabled false this textField1 setEnabled false this writer new PrintWriter this sendSocket getOutputStream true new Listen sendSocket this start catch IOException ioe this panelGo showError 您是赢家 中北大学信息商务学院2015 届毕业设计说明书 第 39 页 共 48 页 开始时根据颜色画己方颜色 void paintMyColor Graphics g this label2 getGraphics if this choice1 getSelectedItem equals 黑 g fillOval 20 10
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 社交媒体时代下电视节目内容营销创新路径研究-洞察与解读
- 基于零信任模型的区块链智能交通支付系统-洞察与解读
- 2026学年河南省新郑市四年级语文期末自测模拟高频题(详细参考解析)详细答案和解析
- 可持续农业生态系统研究-洞察与解读
- 2026年郑州铁路职业技术学院单招职业倾向性考试题库带答案详解
- 达县申家乡招聘社区网格员真题附答案详解
- 梁山县黑虎庙乡招聘社区网格员真题附答案详解
- 2026年重庆财经职业学院单招综合素质考试题库及答案详解1套
- 晴隆县招聘社区网格员考试试题附答案详解
- 高明区更合镇招聘社区网格员真题附答案详解
- 西师版六年级数学下册复习计划
- 浙江省杭州市2024年高一历史下学期6月学考模拟试卷含解析
- 2025届广安市武胜县数学四年级第二学期期末统考试题含解析
- 国际学校学生综合素质评估方法
- 港口行业智能化港口物流方案
- 广西大学电气接线原理与安装技术期末考试复习题及参考答案
- GB/T 44632-2024辐射防护用参考辐射场定义和基本概念
- 海能达PD780-手持对讲机说明书
- 食品营养学(暨南大学)智慧树知到期末考试答案章节答案2024年暨南大学
- 子宫内膜病变的诊治课件
- MOOC 教学设计原理与方法-华南师范大学 中国大学慕课答案
评论
0/150
提交评论