JAVA课程设计五子棋游戏完整版
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
通过自己动手,自主得学习,对Java这门课程有更深得了解与认识,并通过自己动 手,自主得学习,对Java这门课程有更深得了解与认识,通过本次课设,实现本学期内 容的回顾与综合运用,包括类的建立,用类创建对象,方法的调用,图形组建的使用方 法,图形界面的布局形式,事件处理机制,文件对话框的使用,文件操作的基本方法, 数据读写的基本用法等。
对于五子棋游戏,无论人机对战,还是双人对战,都需要判断棋盘上是否存在五子 连珠情况,这既是游戏名字的由来,也是游戏结束的标志。判断五子连珠的原理是从横, 竖,左斜线,右斜线 4 条线上判断是否存在 5 个相连的同类棋子。
对战一方落子后,在该处向 8 个方向检测连续的同类棋子,如果检测到直线方向 上存在 5 个连续的同类棋子(包含本位置棋子),则判断为“连五”并结束检测循环。 基于检测结果,可以判断游戏是否结束,并根据获胜方的落子代码判断获胜方是谁。
初始化棋盘 分为 8 种情况
3
Scan
扫描整个棋盘记录连在一起的黑白棋子数
为判断胜负服务
4
Sort
5
Judge
6
Evaluate
实现人与电脑有次序的下棋 判断人与人之间的胜负 电脑估计
黑棋白棋有序的下 文本框中会显示结果 为电脑下棋提供帮助
2.3.4 五子棋游戏中的注册监听
对角色选择按钮注册ActionListener监听,设置用户的角色。定义黑子int类型 0,白 子1。
学习任何知识得目的都是要将它运用到实践中去,所以我们要运用已有的知识,独 立得将这个课程设计完成,只有这样,我们才能将知识变成本领,变成属于自己得东西, 通过一个学习得学习,我们已经有可一定得Java基础,现在我们就要利用这些基础,来 完成课程设计。
沈阳大学
课程设计
NO.2
这次课程设计我主要研究了利用已学的Java知识编辑一个五子棋小游戏。通过此次 课程设计,来巩固所学Java语言基本知识,增进Java语言编辑基本功,掌握JDK、JCreator 等开发工具的运用,拓宽常用类库的应用。
public
Hale Waihona Puke Baidu
void
mouseExited(MouseEvent e) 时
现任何事件
mouseExited(MouseE
vent e)
沈阳大学
课程设计
NO.6
public
void 处理发生单击的事 实 现 下 棋 以 及 重 新
public
void
mouseClicked(MouseEvent e) 件
沈阳大学
课程设计
NO.5
五子棋规则为: (1)本游戏可选择人与人对战模式。 (2)下法:两人分别执黑白两色棋子,轮流在棋盘上选择一个无子的交叉点落子,无子的 交叉点又被称为空点。 (3)输赢判断:黑、白双方有一方的五个棋子在横、竖或斜方向上连接成一线即为该方 赢。
表 1.主要方法
方法名称
返回类型
功能
有了以上的准备就可以把棋盘绘制出来了,下棋时每次在适当位置点击鼠标的时候 就在所点击的位置上画出你这个角色的颜色,然后计算机会自动的下棋,计算机自动下 棋要有一个控制变量来控制能不能下棋。人可以随意的下子,可是计算机就要计算在哪 个位置下子了。这里由计算机下子的算法来确定,人人对战的话就不象单机游戏一样, 要计算机来判断人下子之后计算机下那一个地方了,人人对战只要在双方下子的时候判 断赢棋情况,当然还要同步的控制两个人下棋的顺序,这样的话就要用到线程了,各自 都继承或实现线程类或接口,以便各自能随时单独控制接发消息。 (2)算法设计
课程设计
NO.1
五子棋游戏
1.课程设计的目的
计算机技术的不断发展给人们的日常工作和生活都带来了许多益处, 从 Windows 系统的推出使电脑从高雅的学术殿堂走入了寻常百姓家开始,各行各业的人们无须经过 特别的训练就能够使用电脑完成许许多多复杂的工作。然而,虽然现在世界上已经充满 了花样繁多的各种软件,但它们依然不能满足用户的各种特殊需要,人们还不得不开发 适合自己特殊需求的软件。Java 语言作为一种面向对象的编程语言,具有分布式,可移 植,高性能等特点。通过系统的学习,就可以使用它开发出功能齐全,满足特殊需求的 应用程序。它对学习者掌握技能,开拓思维都有很大的帮助。
四个文件。ChessMap 是该五子棋游戏的主运行类,其中有运行整个程序的 main 方法, 该文件生成了 ChessMap 类的一个实例,从而生成了五子棋游戏的界面 ChessMap 类将 所有的功能集中到菜单栏中,并通过调用其他模块来实现五子棋游戏的各个功能。 (2)机器人部分的设计
机器人部分的设计是由 ChessBot.java 类来实现的。该 java 类首先导入了三个函数, 分别是 math,lang 和 awt。该程序定义了棋盘的边长,棋盘的边长通过定义一个私有的 int 型变量来实现。将机器人定义成一个方法,通过 0 和 1 来确定按下的棋子是机器人 自己下的,还是敌人的棋子。该 ChessBot 类中还包括了重开一局的方法,该方法通过 for 循环语句来实现,即重置棋子。另外一个方法是悔棋,悔棋同样是通过 for 语句循环 来实现,首先通过二维数组算出最后一步棋下的位置,然后通过 Step--实现。最后一个 方法是计算当前位置 type 方是否有 nn 子相连,相连的情况。当横向五子连珠,纵向五 子连珠,左斜线五子连珠或者是右斜线五子连珠时,比赛结束,同时显示出获胜方的棋 子颜色。四种方向的连珠用 for 循环语句分别写出其二维数组也就是棋子的位置,从而 进行判断棋子有几个棋子相连。使用 endfor 语句结束 for 循环,利用 return 语句,重复 判断棋子的位置以及是否连珠。 (3)五子棋面板的设计
黑方 黑方下子
未判断胜负
判断胜负 胜利
结束
2.4 设计方法
图 1 程序流程图
2.4.1 主要方法设计
五子棋的娱乐性强、规则简单、易学、流行性广,普通人不需长时间专门训练即可自 如行棋,因此极受大众喜欢,本系统可以实现人与人手动下棋,扫描整个棋盘记录连在一 起的黑白棋子数,实现人与人有次序的下棋,判断人与人的胜负,为人下棋提供帮助,
开始游戏
mouseClicked(Mouse
Event e)
2.4.2 程序中类及成员变量的说明
程序中所含的各个类名、类的作用及其子类父类,如表 2 所示:
表 2.类表及其子类父类
类名
作用
父类
子类
ChessFrame
创建五子棋游戏主窗体和菜
JFrame
单
ChessModel
实现了整个五子棋程序算 法的核心
沈阳大学
课程设计
NO.3
由于不考虑禁手问题,在实现“连五”过程中,我们可以考虑完成“双四”,“四 三”,“双三”,“冲四”,“活三”,“活四”来实现目的。
活四:有两个点能形成“连五”的四就是活四; 冲四:只有一个点能形成“连五”的四叫做“冲四”,或者叫做“单四”; 活三:己方在落一子就能形成“活四”的三叫做“活三”。“活三”分为“连活三” 和“跳活三”。连活三:在棋盘某一条阳线或阴线上有同色三子相连,且在此三子两端 延长线上有一端至少有一个,另一端至少有两个无子的交叉点与此三子紧密相连。跳活 三:中间仅间隔一个无子交叉点的连三,但两端延长线均至少有一个无子的交叉点与此 三子相连。 双三:由于黑方走一着在无子交叉点上同时形成二个或二个以上黑方 " 活 " 的局 面。 双四:由于黑方走一着在无子交叉点上同时形成二个或二个以上黑方 " 四 " 的局 面。 四三:指某一方同时具备两个先手,其中一个是 " 四 " ,一个是 " 活三 " 。 在实现上面这些高级算法的时候,我们需要一个基础,就是对制定位置周围情况进 行检测。在棋盘上面,棋子存在 8 个移动方向,检测时需要对每个方向进行检测。为了 简单直观,这里将每步棋子的移动生成一个新的棋子。
2.设计方案论证
2.1 设计思路
(1)棋盘界面设计 在对棋盘界面设计方面要考虑简洁友好,符合游戏者需求。棋子的设计方面系统中
设置了两种棋子颜色,yellow 或者 red, 游戏者可自行选择。棋子怎样画出来,怎样使 棋子按我们所想的方式来绘制出来是设计的主要难题。运行时要求当每次点击鼠标的时 候就在点击鼠标的地方画一个棋子,所以得定义一个棋子的类使点击鼠标时系统把棋子 绘制出来。这样主界面里的棋子就确定了,而且也确定了几个所需要的类。可以先定义 好这些类了。
请白棋下子
Button TextField TextField
Button text_1 text_2
沈阳大学
这是第"+i+"步
课程设计
TextField
NO.7
text_3
2.3.3 java 源文件及其功能
表 4 .java 源文件及其功能
序号
文件名
主要功能
备注
1
Chess
2
Autoplay
本程序的主函数 实现电脑可以自动下棋
MainPanel
1、构建一个面板,在该面板上
JPanel
画上棋盘;2、处理在该棋盘上
的鼠标事件(如鼠标左键点击、
鼠标右键点击、鼠标拖动等)
ChessWindowEvent
事件响应
Window
Adapter
成员变量描述
表 3.主要成员变量(属性) 变量类型
名称
控制棋子颜色
int
i
重新开局 请黑棋下子
沈阳大学
课程设计
NO.8
输出,和public void run()监听客户端是否发信息过来,当客户离开时向,其他客户发信 息,把客户端的信息发给其他客户。
2.3.5 游戏整体设计
(1)五子棋的游戏主界面 五子棋主界面包括 ChessBot.java,ChessMap.java,ChessPanel.java 和 Console.java
2.2 需求分析
一款小游戏的确立是建立在各种各样的需求上面的,这种需求往往来自于玩家的实 际需求,其中玩家的实际需求最为重要.面对游戏拥有不同知识和理解层面的玩家,游戏 制作人对玩家需求的理解程度,在很大程度上决定了此类游戏开发的成败.因此如何更好 地的了解,分析,明确玩家需求,并且能够准确,清晰以文档的形式表达给游戏制作人, 保证开发过程按照满足玩家需求为目的正确开发方向进行,是每游戏游戏制作人需要面 对的问题。
Java语言的开发方法是当今世界最流行的开发方法,是当今流行的网络编程语言。 它具有面向对象、跨平台、分布应用等特点。它不仅具有更贴近自然的语义,而且有利 于软件的维护和继承。很多程序开发人员得第一选择。为了将课堂上得知识掌握得更加 透彻,深刻把握Java语言的重要概念及其面向对象的特性,锻炼学生熟练的应用面向对 象的思想和设计方法解决实际问题的能力,开设了Java程序设计课程设计。让学生自己 动手动脑,将书本上得知识运用到实践当中去,使知识能更好得融会贯通。
作为五子棋的设计需要考虑到的最基本的需求莫过于人机对战与人人对战功能的 实现,当然还有下棋过程中的下棋悔棋功能以及判断游戏的胜负等方面的要求。当然最 好是要考虑到界面的友好性,作为一个娱乐软件,还应该考虑到玩家在游戏时的舒适性。
沈阳大学
课程设计
2.3 系统流程图
白方 白方下子
开始 初始化 主控制
NO.4
对按钮开始、重置注册ActionListener监听,如果点击开始,用户进 入下棋状态, 有一方赢了,棋盘上则不能再点击棋子。点击重置,则开始新的一轮。
对鼠标注册mouseClicked监听,鼠标点击棋盘时获取下棋的位置。 对JTextField注册ActionListener,用户输入聊天信息后,通过Server传递给其他用户, 在对话框JTextArea内显示。 class ServerThread implements Runnable{ }类监听线程,监听是否有客户端法过信息 来。 (1)属性:Vector threads 向量存储线程,Socket socket 服务端口,DataInputStream in 输 入流,DataOutputStream out 输出流,int nid 用户ID。 (2)方法:构造器public ServerThread(Socket socket,Vector threads),实现信息的输入、
mousePressed(Mouse
Event e)
public
void 处理鼠标离开的事
本步下棋结束
public
void
mouseReleased(MouseEvent 件
mouseReleased(Mouse
e)
Event e)
public
void 处理鼠标离开棋盘 鼠 标 离 开 组 件 不 实
mousePressed(Mouse
Event e)
public
void
画出图像
控制图像的大小范
public
void
paint(Graphics g)
围
paint(Graphics g)
public
void 处理按下鼠标的事 选中下棋的位置
Public
void
mousePressed(MouseEvent e) 件
备注
ChessPad()
初始化棋盘
设置棋盘颜色,
ChessPad()
Void paint (Graphics g)
对棋子等图像进 设置棋子大小,颜
Void
paint
行初始化
色等
(Graphics g)
Public
void 鼠标的实践监听
单击实践
public
void
mousePressed(MouseEvent e)
对于五子棋游戏,无论人机对战,还是双人对战,都需要判断棋盘上是否存在五子 连珠情况,这既是游戏名字的由来,也是游戏结束的标志。判断五子连珠的原理是从横, 竖,左斜线,右斜线 4 条线上判断是否存在 5 个相连的同类棋子。
对战一方落子后,在该处向 8 个方向检测连续的同类棋子,如果检测到直线方向 上存在 5 个连续的同类棋子(包含本位置棋子),则判断为“连五”并结束检测循环。 基于检测结果,可以判断游戏是否结束,并根据获胜方的落子代码判断获胜方是谁。
初始化棋盘 分为 8 种情况
3
Scan
扫描整个棋盘记录连在一起的黑白棋子数
为判断胜负服务
4
Sort
5
Judge
6
Evaluate
实现人与电脑有次序的下棋 判断人与人之间的胜负 电脑估计
黑棋白棋有序的下 文本框中会显示结果 为电脑下棋提供帮助
2.3.4 五子棋游戏中的注册监听
对角色选择按钮注册ActionListener监听,设置用户的角色。定义黑子int类型 0,白 子1。
学习任何知识得目的都是要将它运用到实践中去,所以我们要运用已有的知识,独 立得将这个课程设计完成,只有这样,我们才能将知识变成本领,变成属于自己得东西, 通过一个学习得学习,我们已经有可一定得Java基础,现在我们就要利用这些基础,来 完成课程设计。
沈阳大学
课程设计
NO.2
这次课程设计我主要研究了利用已学的Java知识编辑一个五子棋小游戏。通过此次 课程设计,来巩固所学Java语言基本知识,增进Java语言编辑基本功,掌握JDK、JCreator 等开发工具的运用,拓宽常用类库的应用。
public
Hale Waihona Puke Baidu
void
mouseExited(MouseEvent e) 时
现任何事件
mouseExited(MouseE
vent e)
沈阳大学
课程设计
NO.6
public
void 处理发生单击的事 实 现 下 棋 以 及 重 新
public
void
mouseClicked(MouseEvent e) 件
沈阳大学
课程设计
NO.5
五子棋规则为: (1)本游戏可选择人与人对战模式。 (2)下法:两人分别执黑白两色棋子,轮流在棋盘上选择一个无子的交叉点落子,无子的 交叉点又被称为空点。 (3)输赢判断:黑、白双方有一方的五个棋子在横、竖或斜方向上连接成一线即为该方 赢。
表 1.主要方法
方法名称
返回类型
功能
有了以上的准备就可以把棋盘绘制出来了,下棋时每次在适当位置点击鼠标的时候 就在所点击的位置上画出你这个角色的颜色,然后计算机会自动的下棋,计算机自动下 棋要有一个控制变量来控制能不能下棋。人可以随意的下子,可是计算机就要计算在哪 个位置下子了。这里由计算机下子的算法来确定,人人对战的话就不象单机游戏一样, 要计算机来判断人下子之后计算机下那一个地方了,人人对战只要在双方下子的时候判 断赢棋情况,当然还要同步的控制两个人下棋的顺序,这样的话就要用到线程了,各自 都继承或实现线程类或接口,以便各自能随时单独控制接发消息。 (2)算法设计
课程设计
NO.1
五子棋游戏
1.课程设计的目的
计算机技术的不断发展给人们的日常工作和生活都带来了许多益处, 从 Windows 系统的推出使电脑从高雅的学术殿堂走入了寻常百姓家开始,各行各业的人们无须经过 特别的训练就能够使用电脑完成许许多多复杂的工作。然而,虽然现在世界上已经充满 了花样繁多的各种软件,但它们依然不能满足用户的各种特殊需要,人们还不得不开发 适合自己特殊需求的软件。Java 语言作为一种面向对象的编程语言,具有分布式,可移 植,高性能等特点。通过系统的学习,就可以使用它开发出功能齐全,满足特殊需求的 应用程序。它对学习者掌握技能,开拓思维都有很大的帮助。
四个文件。ChessMap 是该五子棋游戏的主运行类,其中有运行整个程序的 main 方法, 该文件生成了 ChessMap 类的一个实例,从而生成了五子棋游戏的界面 ChessMap 类将 所有的功能集中到菜单栏中,并通过调用其他模块来实现五子棋游戏的各个功能。 (2)机器人部分的设计
机器人部分的设计是由 ChessBot.java 类来实现的。该 java 类首先导入了三个函数, 分别是 math,lang 和 awt。该程序定义了棋盘的边长,棋盘的边长通过定义一个私有的 int 型变量来实现。将机器人定义成一个方法,通过 0 和 1 来确定按下的棋子是机器人 自己下的,还是敌人的棋子。该 ChessBot 类中还包括了重开一局的方法,该方法通过 for 循环语句来实现,即重置棋子。另外一个方法是悔棋,悔棋同样是通过 for 语句循环 来实现,首先通过二维数组算出最后一步棋下的位置,然后通过 Step--实现。最后一个 方法是计算当前位置 type 方是否有 nn 子相连,相连的情况。当横向五子连珠,纵向五 子连珠,左斜线五子连珠或者是右斜线五子连珠时,比赛结束,同时显示出获胜方的棋 子颜色。四种方向的连珠用 for 循环语句分别写出其二维数组也就是棋子的位置,从而 进行判断棋子有几个棋子相连。使用 endfor 语句结束 for 循环,利用 return 语句,重复 判断棋子的位置以及是否连珠。 (3)五子棋面板的设计
黑方 黑方下子
未判断胜负
判断胜负 胜利
结束
2.4 设计方法
图 1 程序流程图
2.4.1 主要方法设计
五子棋的娱乐性强、规则简单、易学、流行性广,普通人不需长时间专门训练即可自 如行棋,因此极受大众喜欢,本系统可以实现人与人手动下棋,扫描整个棋盘记录连在一 起的黑白棋子数,实现人与人有次序的下棋,判断人与人的胜负,为人下棋提供帮助,
开始游戏
mouseClicked(Mouse
Event e)
2.4.2 程序中类及成员变量的说明
程序中所含的各个类名、类的作用及其子类父类,如表 2 所示:
表 2.类表及其子类父类
类名
作用
父类
子类
ChessFrame
创建五子棋游戏主窗体和菜
JFrame
单
ChessModel
实现了整个五子棋程序算 法的核心
沈阳大学
课程设计
NO.3
由于不考虑禁手问题,在实现“连五”过程中,我们可以考虑完成“双四”,“四 三”,“双三”,“冲四”,“活三”,“活四”来实现目的。
活四:有两个点能形成“连五”的四就是活四; 冲四:只有一个点能形成“连五”的四叫做“冲四”,或者叫做“单四”; 活三:己方在落一子就能形成“活四”的三叫做“活三”。“活三”分为“连活三” 和“跳活三”。连活三:在棋盘某一条阳线或阴线上有同色三子相连,且在此三子两端 延长线上有一端至少有一个,另一端至少有两个无子的交叉点与此三子紧密相连。跳活 三:中间仅间隔一个无子交叉点的连三,但两端延长线均至少有一个无子的交叉点与此 三子相连。 双三:由于黑方走一着在无子交叉点上同时形成二个或二个以上黑方 " 活 " 的局 面。 双四:由于黑方走一着在无子交叉点上同时形成二个或二个以上黑方 " 四 " 的局 面。 四三:指某一方同时具备两个先手,其中一个是 " 四 " ,一个是 " 活三 " 。 在实现上面这些高级算法的时候,我们需要一个基础,就是对制定位置周围情况进 行检测。在棋盘上面,棋子存在 8 个移动方向,检测时需要对每个方向进行检测。为了 简单直观,这里将每步棋子的移动生成一个新的棋子。
2.设计方案论证
2.1 设计思路
(1)棋盘界面设计 在对棋盘界面设计方面要考虑简洁友好,符合游戏者需求。棋子的设计方面系统中
设置了两种棋子颜色,yellow 或者 red, 游戏者可自行选择。棋子怎样画出来,怎样使 棋子按我们所想的方式来绘制出来是设计的主要难题。运行时要求当每次点击鼠标的时 候就在点击鼠标的地方画一个棋子,所以得定义一个棋子的类使点击鼠标时系统把棋子 绘制出来。这样主界面里的棋子就确定了,而且也确定了几个所需要的类。可以先定义 好这些类了。
请白棋下子
Button TextField TextField
Button text_1 text_2
沈阳大学
这是第"+i+"步
课程设计
TextField
NO.7
text_3
2.3.3 java 源文件及其功能
表 4 .java 源文件及其功能
序号
文件名
主要功能
备注
1
Chess
2
Autoplay
本程序的主函数 实现电脑可以自动下棋
MainPanel
1、构建一个面板,在该面板上
JPanel
画上棋盘;2、处理在该棋盘上
的鼠标事件(如鼠标左键点击、
鼠标右键点击、鼠标拖动等)
ChessWindowEvent
事件响应
Window
Adapter
成员变量描述
表 3.主要成员变量(属性) 变量类型
名称
控制棋子颜色
int
i
重新开局 请黑棋下子
沈阳大学
课程设计
NO.8
输出,和public void run()监听客户端是否发信息过来,当客户离开时向,其他客户发信 息,把客户端的信息发给其他客户。
2.3.5 游戏整体设计
(1)五子棋的游戏主界面 五子棋主界面包括 ChessBot.java,ChessMap.java,ChessPanel.java 和 Console.java
2.2 需求分析
一款小游戏的确立是建立在各种各样的需求上面的,这种需求往往来自于玩家的实 际需求,其中玩家的实际需求最为重要.面对游戏拥有不同知识和理解层面的玩家,游戏 制作人对玩家需求的理解程度,在很大程度上决定了此类游戏开发的成败.因此如何更好 地的了解,分析,明确玩家需求,并且能够准确,清晰以文档的形式表达给游戏制作人, 保证开发过程按照满足玩家需求为目的正确开发方向进行,是每游戏游戏制作人需要面 对的问题。
Java语言的开发方法是当今世界最流行的开发方法,是当今流行的网络编程语言。 它具有面向对象、跨平台、分布应用等特点。它不仅具有更贴近自然的语义,而且有利 于软件的维护和继承。很多程序开发人员得第一选择。为了将课堂上得知识掌握得更加 透彻,深刻把握Java语言的重要概念及其面向对象的特性,锻炼学生熟练的应用面向对 象的思想和设计方法解决实际问题的能力,开设了Java程序设计课程设计。让学生自己 动手动脑,将书本上得知识运用到实践当中去,使知识能更好得融会贯通。
作为五子棋的设计需要考虑到的最基本的需求莫过于人机对战与人人对战功能的 实现,当然还有下棋过程中的下棋悔棋功能以及判断游戏的胜负等方面的要求。当然最 好是要考虑到界面的友好性,作为一个娱乐软件,还应该考虑到玩家在游戏时的舒适性。
沈阳大学
课程设计
2.3 系统流程图
白方 白方下子
开始 初始化 主控制
NO.4
对按钮开始、重置注册ActionListener监听,如果点击开始,用户进 入下棋状态, 有一方赢了,棋盘上则不能再点击棋子。点击重置,则开始新的一轮。
对鼠标注册mouseClicked监听,鼠标点击棋盘时获取下棋的位置。 对JTextField注册ActionListener,用户输入聊天信息后,通过Server传递给其他用户, 在对话框JTextArea内显示。 class ServerThread implements Runnable{ }类监听线程,监听是否有客户端法过信息 来。 (1)属性:Vector threads 向量存储线程,Socket socket 服务端口,DataInputStream in 输 入流,DataOutputStream out 输出流,int nid 用户ID。 (2)方法:构造器public ServerThread(Socket socket,Vector threads),实现信息的输入、
mousePressed(Mouse
Event e)
public
void 处理鼠标离开的事
本步下棋结束
public
void
mouseReleased(MouseEvent 件
mouseReleased(Mouse
e)
Event e)
public
void 处理鼠标离开棋盘 鼠 标 离 开 组 件 不 实
mousePressed(Mouse
Event e)
public
void
画出图像
控制图像的大小范
public
void
paint(Graphics g)
围
paint(Graphics g)
public
void 处理按下鼠标的事 选中下棋的位置
Public
void
mousePressed(MouseEvent e) 件
备注
ChessPad()
初始化棋盘
设置棋盘颜色,
ChessPad()
Void paint (Graphics g)
对棋子等图像进 设置棋子大小,颜
Void
paint
行初始化
色等
(Graphics g)
Public
void 鼠标的实践监听
单击实践
public
void
mousePressed(MouseEvent e)