资源简介
JavaSE 实现的简单版五子棋
使用JPanel的画板画棋盘跟棋子
可以存盘和复盘(文件读写)
代码片段和文件信息
package application;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import javax.swing.JFileChooser;
import javax.swing.JLabel;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JOptionPane;
import javax.swing.WindowConstants;
import javax.swing.Jframe;
/**
* @author Kevin
*
*/
public class FiveStep extends javax.swing.JPanel implements ActionListener {
private static final long serialVersionUID = 7315011316877886035L;
public static final int size = 15;
public static final int chessPieceSize = 40;
public static final int boardBound = 10;
private int labelHeight = 20;
private int width;
private int length;
private JLabel promptLab;
private int[][] pieces;
private int currentPieceX;
private int currentPieceY;
private boolean blackOrWhite;
private Jframe frame;
// menu bar menus and menu items
private JMenuBar menuBar;
private JMenu[] menus;
private JMenuItem[][] menuItems;
public static void main(String[] args) {
Jframe frame = new Jframe();
frame.getContentPane().add(new FiveStep(frame));
frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
frame.pack();
frame.setVisible(true);
}
public FiveStep() {
super();
initGUI();
}
public FiveStep(Jframe j) {
this();
this.frame = j;
this.frame.setJMenuBar(this.menuBar);
}
private void initGUI() {
// generate the width and length
this.length = FiveStep.size * FiveStep.chessPieceSize
+ (FiveStep.boardBound * 2) + this.labelHeight;
this.width = FiveStep.size * FiveStep.chessPieceSize
+ (FiveStep.boardBound * 2);
try {
setPreferredSize(new Dimension(this.width this.length));
} catch (Exception e) {
e.printStackTrace();
}
this.promptLab = new JLabel();
this.add(this.promptLab);
// build pieces
this.pieces = new int[FiveStep.size][FiveStep.size];
for (int i = 0; i < this.pieces.length; i++) {
for (int j = 0; j < this.pieces[i].length; j++) {
this.pieces[i][j] = 0;
}
}
// initial the current x and y
this.currentPieceX = 0;
this.currentPieceY = 0;
// the black first
this.blackOrWhite = true;
// add event handle
this.eventHandle();
// set the board color
this.setBackground(Color.orange);
// set the label prompt the black first
this.promptLab.setText(“The black first“);
// build menu bar
this.menuBar = new JMenuBar();
this.menus = new JMenu[1];
this.menus[0] = new JMenu(“Game“);
this.menuItems = new JMenuItem[1][];
this.menuItems[0] = new JMenuItem[4];
this.menuItems[0][0] = new JMenuItem(“New Game“);
this.menuItems[0][1] = new JMenuItem(“Save...“);
- 上一篇:遗传算法 tsp java
- 下一篇:Java实现的打字游戏
相关资源
- Java实现的打字游戏
- 遗传算法 tsp java
- Java+Mysql课程设计 学生成绩管理系统连
- JAVA编程题全集100题及答案——直接打
- CMPP2.0JAVA调用
- 员工工资管理系统java+sql
- java考勤数据通勤系统
- Java本科毕业设计外文翻译文献.rar又需
- 用Java编写第一个区块链
- java排序可视化页面
- 数据挖掘ID3算法JAVA实现
- java集合类详解
- Java文字转语音_完整版本
- Java Web 画图
- 贫困生管理系统
- java 仓库管理系统(完整)easyui
- Java2Word.jar215404
- 文件资源管理器java文件打开删除复制
- Java web学生信息管理网页版
- 用java+实现的视频播放器可以打开本地
- DigitalImageProcessingAnAlgorithmicIntroductio
- java魔板游戏
- 一个类似超级玛丽的Java游戏
- 淘宝商城Java web项目
- 简单的JAVA日记本程序源代码
- eas服务接口用于提供一种跨产品的j
- java实现大周期线性反馈移位寄存器
- java课程设计代码
- 简易QQ聊天软件自己编写
- java注册表清理
评论
共有 条评论