1.概述:
本次课程设计的目的是为了锻炼我们的动手实践能力以及自主学习能力,通过自主学
习制作小游戏来让我们更加深入的学习 Java 编程语言。Java 语言作为一种面向对象的编
程语言,具有面向对象,跨平台,分布式,可移植,高性能等特点,适合我们使用它开发
出功能齐全,满足特殊需求的应用程序。通过本次课设,实现本学期内容的回顾与综合运
用,即巩固所学 Java 语言基本知识,增进 Java 语言编辑基本功,又将课堂上得到的知识
运用到制作游戏实践当中去,使知识能够更好得融会贯通,深刻把握 Java 语言的重要概念
及其面向对象的特性和掌握 java.awt;java.swing;等包的运用,拓宽常用类库的应用。本
次五子棋游戏设计包含主要功能模块有类的建立,用类创建对象,方法的调用,图形界面
的布局格式,单击事件处理机制,文件对话框的使用,文件操作的基本方法,数据读写的
基本用法,实现判断输赢的算法。
2.系统功能说明
本课程实现五子棋的关键是棋盘设计和判断输赢的算法设计。先要整体布局然后再去
实现各个功能。一开始先要画出棋盘,再采用 Java 图形用户界面设计向里面添加按钮和复
选框,调整其位置。设置棋子的大小和颜色,再向棋盘和按钮及复选框添加监听器,设置
鼠标点击事件,这样就实现选择第一步下棋的颜色及下棋功能。本游戏中最重要的是判断
棋子位置以及将棋子所在位置传递给判断输赢的算法方法,其中该设计中最巧妙的一点是
将整个棋盘看待成一个二维数组,棋子的位置化成二维数组的下标,这样就可以正确的得
到棋子位置并将该位置坐标传递给算法方法。五子棋的算法方法需要判断棋盘上是否存在
五子连珠情况,而判断五子连珠的原理是从横,竖,左斜线,右斜线 4 条线上判断是否存
在 5 个相连的同类棋子,如果存在五子连珠的情况就可判定一方获胜。
3.详细设计
(1)创建 CheseGame 类继承 JPanel 和鼠标单击事件接口、监听器。
(2)新建二维数组 map 用来描述棋盘位置,存储棋子位置;新建一维数组 color 用来存
放 颜 色 变 量 ; 定 义 int 型 x,y 变 量 用 来 描 述 棋 子 位 置 , ag 变 量 用 来 判 定 棋 子 颜
色,winner 变量用来判断胜负;定义按钮 btn1,btn2,btn3;新建一组复选框变量
cbg;创建 chb1,chb2 两个变量并添加复选框变量 cbg。
(3)构造函数方法。主要是设置按钮位置和添加监听器。
(4)定义 itemStateChanged()方法用于实现点击选择复选框内容所产生的事件。当点
击 chb1 时,获取状态设置 ag 变量的值为 1,代表第一步下黑棋,否则值为 2,第一步
下的为白棋。
(5)创建 GameStart 类用于实现游戏开始后的操作。
(6)在 GameStart 类中定义 actionPerformed()方法。如果鼠标单击事件得到按下“开