一、题目简介
实现五子棋游戏,要求:使用图形用户界面,实现人人对战,人机对战。能够判断输赢,有“开局”按钮,当出现棋盘后,按此按钮进入对战状态。当有胜利者(垂直、水平、对角线连续5子),显示对话框,提示“胜利了”对话框。有“退出”按钮。可以选择退出。
1) 人机对弈模式:选择该模式可以实现人与电脑之间的对弈,电脑会智能的选择该在哪处下子,并会在每次下棋结束后判断是否有哪方已经获胜,如果获胜则结束本局游戏,并提示玩家游戏结束。
2) 人人对弈模式:选择该模式可以实现人与人之间的对弈,系统会提示哪方先下,然后玩家之间交替的下棋,同样系统会在下完每次棋后判断是否有哪方已经获胜,如果获胜则结束
3) 改变棋盘模式:可以使棋盘变大变小,方便下棋。
二、结对分工及过程
李燕(结对人:王曰芳) 201303014055 计科(高职)13-2主要负责:对FiveChessAppletDemo类、ChessFrame类、ChessModel类的代码编写及测试。
1) 简要描述:
2) FiveChessAppletDemo类
3) main方法创建了ChessFrame类的一个实例对象(cf)
4) 并启动屏幕显示显示该实例对象。
5) public class FiveChessAppletDemo {
6) public static void main(String args[]){
7) ChessFrame cf = new ChessFrame();
8) cf.show();
9) }
}
2ChessFrame类
1)该类继承JFrame类实现了ActionListener接口。
2)用类ChessFrame创建五子棋游戏主窗体和菜单:
3)构造方法:用来初始化成员变量。
public ChessFrame() {}
构造五子棋游戏的主菜单)
public JMenu makeMenu(Object parent, Object items[], Object target){}
构造五子棋游戏的菜单项
public JMenuItem makeMenuItem(Object item, Object target){}
构造五子棋游戏的单选按钮式菜单项
public JRadioButtonMenuItem makeRadioButtonMenuItem(
Object item, Object target){}
方法 1、调用MapSize方法设置棋盘的大小。
2、调用getiscomputer方法返回boolean型的值。
3、调用restart方法设置返回棋盘大小。
4、调用监听器的actionPerformed(ActionEvent e)方法。
3、ChessModel类
实现了整个五子棋程序算法的核心
构造方法:
public ChessModel() {}这是一个构造方法为空。
该构造方法根据不同的棋盘模式(modeChess)来构建对应大小的棋盘
三程序运行截图
四、代码地址
https://github.com/liyan941016/jiedui
四、测试情况
测试代码及测试截图:
package wuziqi;
import static org.junit.Assert.*;
import org.junit.AfterClass;
import org.junit.BeforeClass;
import org.junit.Test;
public class FiveChessAppletDemoTest {
@BeforeClass
public static void setUpBeforeClass() throws Exception {
}
@AfterClass
public static void tearDownAfterClass() throws Exception {
}
@Test
public void testMain() {
Double expectedAnswer = Double.valueOf(12);
Double actualAnswer = Double.valueOf(2*6);
assertEquals(expectedAnswer, actualAnswer);
}
}
五、问题及心得
在这次实训过程中虽然遇到了很多问题,但我们还是合力解决了,通过这次的学习,我懂得了与别人合作的好处,两个人可以商量,互相监督。互相学习。
通过这次课程设计,我进一步加深对基础理论的理解,扩大专业知识面,对收集资料、查阅文献、方案制定等实践方面得到了很好的锻练,促进对所学知识应用能力的提高。同时我渐渐的复习了Java使用方法和编程语法,之后的编程过程也相对得心应手,基本完成了预期计划的要求。