五子棋实训报告(电子版)

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《JA V A程序设计》实训报告

课程名称:JA V A程序设计

专业:计算机应用技术

班级:11计算机应用班

小组成员:巨敏石丽涛张娅雯李延

尚文学董丁喜周致远

指导老师:武文廷

目录

一.实训目的 (1)

二. 实训题目和要求

2.1实训题目描述 (1)

2.2实训要求 (1)

三.实训报告内容

3.1五子棋主框架 (1)

3.2棋盘、棋子及说明信息 (1)

3.3对弈算法相关问题设计 (1)

四.实训中的部分代码 (2)

五.五子棋源程序代码 (3)

六. 总结 (17)

一、实训目的

本次实训,学生可以将理论知识与具体实践相结合,巩固对JA VA相关方法和概念的理解。通过实训单机版五子棋游戏的编程,掌握JA V A语言编程的基础知识并能熟练运用,熟悉累声明与对象的使用,运用JA V Aswing编写单机版五子棋游戏,并实现其功能。通过本次实训,可以开拓思维,增强编程思想,为深入学习JA VA打下良好的基础。

二、实训题目描述和要求

2.1实训题目描述

实训题目:JA V A五子棋单机版游戏。描述:通过JA V A的swing组件,实现五子棋简单的双人对弈,并通过内部条件判断实现输赢的双方的下棋过程。

2.2实训要求

(1)五子棋游戏的主窗口也就是游戏界面的实现

(2)棋子黑白色的设置及判定

(3)完成判断某一横行是否练成五子及所有方向是否练成五子的功能

(4)几个简单按钮的实现,“重新开始”“悔棋”“退出”按钮

(5)菜单栏的实现,“重新开始”“悔棋”“退出”菜单项

三、实训报告内容

3.1主框架

编写一个startCheesJFrame类,主要用来显行主窗体界面,包括工具条面板、菜单栏项。设置界面关闭事件。并编写一个内部类MyItemListener来监听按钮和菜单栏的单机事件。

3.2棋盘、棋子

(1)编写point类,包括棋子的X/Y索引,颜色。定义构造函数和相应的get方法。

(2)编写ChessBoard类,设置棋盘背景颜色为橘黄色

(3)在主框架类中创建ChessBoard对象,并添加到主框架中

(4)编写mousePressed方法来进行绘制棋盘和棋子

3.3对弈算法相关问题设计

(1)编写mousePressed方法的内容,预定义isBlack表示下的是黑棋还是白棋。PointCount表示当前棋子的个数。

(2)添加相应的判断:不能画到棋盘外,下过的地方不能再下(需要辅助方法find point)。

(3)添加胜利的判断iswin,添加标记变量gameOver。在mousePressed方法的最前面调用加入gameOver 的判断,在mousePressed方法的最后调用iswin,返回true则给出消息提示,gameOver设置为tuer。四、实训中的部分代码

Private ChessBoard chessboard;

Private JPanel toolbar;

Private JButton shartButton;

Private JButton backButton;

Private JButton exiButton;

Public class point{

Private int x;

Private int y;

Private color color;

Public static final int DIAMETER=30;

Public point lint x, int y, color color{

This. X=x;

This.y=y;

This . color=color;

}

Public startChess JFrame(){

Set Title(“单机版五子棋”);

chessboard=new chessboard();

menuBar=new JMenuBar();

sysMenu=new JMenu(“系统”);

startMenuItem=new JMenuItem(“重新开始”);

exitMenuItem=new JMenuItem(“退出”);

backMenuItem=new JMenuItem(“悔棋”);

sysMenu.add(startMenuItem);

五、五子棋源程序代码

//StartChessFrame

import javax.swing.*;

import ;

import java.awt.*;

public class StartChessFrame extends JFrame {

private ChessBoard chessBoard;

private JPanel toolbar

private JButton startButton, backButton, exitButton;

private JMenuBar menuBar;

private JMenu sysMenu;

private JMenuItem startMenuItem, exitMenuItem, backMenuItem;

public StartChessFrame() {

setTitle("单机版五子棋");

chessBoard = new ChessBoard();

menuBar = new JMenuBar();

sysMenu = new JMenu("系统");

startMenuItem = new JMenuItem("重新开始");

exitMenuItem = new JMenuItem("退出");

backMenuItem = new JMenuItem("悔棋");

sysMenu.add(startMenuItem);

sysMenu.add(backMenuItem);

sysMenu.add(exitMenuItem);

MyItemListener lis = new MyItemListener();

;

backMenuItem.addActionListener(lis);

exitMenuItem.addActionListener(lis);

menuBar.add(sysMenu);

setJMenuBar(menuBar);

import ;

相关文档
最新文档