五子棋java百度文库_JAVA课程设计 五子棋(内附完整代码).doc
JAVA课程设计 五子棋(内附完整代码)
JAVA课程设计
设计题目:五子棋游戏
简要的介绍五子棋
五子棋的起源
五子棋,又被称为“连五子、五子连、串珠、五目、五目碰、五格、五石、五法、五联、京棋”。五子棋相传起源于四千多年前的尧帝时期,比围棋的历史还要悠久,可能早在“尧造围棋”之前,民间就已有五子棋游戏。有关早期五子棋的文史资料与围棋有相似之处,因为古代五子棋的棋具与围棋是完全相同的。
2.现在五子棋标准棋盘(如图所示)
3.五子棋的棋子
五子棋采用两种颜色棋子,黑色棋子和白色棋子,和围棋相同,
4.五子棋规则
五子棋就是五个棋子连在一起就算赢,黑棋先行,下棋下在棋盘交叉线上,由于黑棋先行,优势太大,所以对黑棋设了禁手,又规定了“三手交换”,
就是黑棋下第 2 手棋,盘面第 3 着棋之后,白方在应白 2 之前,如感觉黑方棋形不利于己方,可出交换,即执白棋一方变为执黑棋一方。和“五手两打法”,就是黑棋在下盘面上关键的第 5 手时,必须下两步棋,让白方在这两步棋中任选一步,然后再续下。不过一般爱好者不需要遵循这么多规则。
二.程序流程
三.代码设计与分析
main方法创建了ChessFrame类的一个实例对象(cf),
并启动屏幕显示显示该实例对象。
public class FiveChessAppletDemo {
public static void main(String args[]){
ChessFrame cf = new ChessFrame();
cf.show();
}
}
用类ChessFrame创建五子棋游戏主窗体和菜单
import java.awt.*;
import java.awt.event.*;
import java.applet.*;
import javax.swing.*;
import java.io.PrintStream;
import javax.swing.JComponent;
import javax.swing.JPanel;
class ChessFrame extends JFrame implements ActionListener {
private String[] strsize={"标准棋盘","改进棋盘","扩大棋盘"};
private String[] strmode={"人机对战","人人对战"};
public static boolean iscomputer=true,checkcomputer=true;
private int width,height;
private ChessModel cm;
private MainPanel mp;
构造五子棋游戏的主窗体
public ChessFrame() {
this.setTitle("五子棋游戏");
cm=new ChessModel(1);
mp=new MainPanel(cm);
Container con=this.getContentPane();
con.add(mp,"Center");
this.setResizable(false);
this.addWindowListener(new ChessWindowEvent());
MapSize(14,14);
JMenuBar mbar = new JMenuBar();
this.setJMenuBar(mbar);
JMenu gameMenu = new JMenu("游戏");
mbar.add(makeMenu(gameMenu, new Object[] {
"开局", null,"棋盘",null,"模式", null, "退出"
}, this));
JMenu lookMenu =new JMenu("外观");
mbar.add(makeMenu(lookMenu,new Object[] {
"类型一","类型二","类型三"
},this));
JMenu helpMenu = new JMenu("版本");
mbar.add(makeMenu(helpMenu, new Object[] {
"关于"
}, this));
}
public JMenu makeMenu(Object parent, Object items[], Object target){
JMenu m = null;
if(parent instanceof JMenu)
m = (JMenu)parent;
五子棋java百度文库_JAVA课程设计 五子棋(内附完整代码).doc相关推荐
- java课设 五子棋_Java课程设计 ————五子棋 (个人博客)
JAVA课程设计 五子棋(博客个人版) •团队课程设计博客链接 •个人负责模块或任务说明 1.主框架类:设置棋盘窗体,颜色等 2.isWin方法:判断胜负 •自己的代码提交记录截图 •自己负责模块或任 ...
- java设计五子棋_JAVA课程设计+五子棋(团队博客)
JAVA课程设计 利用所学习的JAVA知识设计一个五子棋小游戏 1.团队名称.团队成员介绍(菜鸟三人组) 杨泽斌[组长]:201521123049 网络1512 叶文柠[组员]:20152112305 ...
- java设计五子棋_JAVA课程设计(五子棋)--个人博客
JAVA课程设计(五子棋)--个人博客(李金妲) 1.题目及我负责的内容 1.1题目:五子棋 1.2负责内容:游戏界面的GUI设计.背景音乐功能.趣味对战算法实现 2.本人负责的主要功能展示与代码截图 ...
- java通讯录课程设计_java课程设计_通讯录_通讯簿.doc
java课程设计_通讯录_通讯簿.doc 还剩 45页未读, 继续阅读 下载文档到电脑,马上远离加班熬夜! 亲,很抱歉,此页已超出免费预览范围啦! 如果喜欢就下载吧,价低环保! 内容要点: impor ...
- java五子棋课程设计_JAVA课程设计+五子棋游戏
1. 团队课程设计博客链接 2. 个人负责模块或任务说明 1.在同伴构建好初始框图的情况下,编写一个继承JPanel类,实现添加控件. 2.编写paintComponent类,实现绘画棋盘还有棋子. ...
- java课程 数独 文库_JAVA课程设计九宫格数独.pdf
计算机与信息工程系 <数独游戏的设计与实现>课程设计 学号 1208010106 2013-2014 学年 第二学期 <面向对象程序设计> 课程设计报告 题 目 : 九空格数独 ...
- java 密码生成器_Java课程设计-随机密码生成器
1.团队课程设计博客链接 2.个人负责模板 设计程序运行界面,数据的输入,判断数据输入类型的错误,判断密码类型是否选择. 3.自己的代码提交记录截图 4自己负责模块或任务详细说明 (一)总体设计 1. ...
- java闹钟程序设计_JAVA课程设计_闹钟的设计与实现项目-报告_附源代码.doc
JAVA课程设计_闹钟的设计与实现项目-报告_附源代码 第2章 MACROBUTTON AcceptAllChangesInDoc [双击此处键入1级标题] PAGE 2 - PAGE 1 - .. ...
- ATM柜员机JAVA课程设计_JAVA课程设计报告银行ATM机系统.doc
JAVA课程设计报告银行ATM机系统 Java课程设计报告 题 目 银行ATM机系统 所在院系 软件学院 学生姓名 金磊 专 业 R机械+软件 班 级 R机械094 学 号 2011年 7 月 15日 ...
最新文章
- Spring AOP 简介以及简单用法
- 学会对mysql的增删改查_Go实现对MySQL的增删改查
- js来读写cookie操作
- 记录一下:在菜单上添加自绘图形的例子(VB6代码)
- 问题TypeError: __init__() takes 1 positional argument but 2 were given解决方案
- Windows10 中在指定目录下启动Powershell
- nginx-rtmp一些指令
- openpyxl 2.5.0中文文档
- CloudFlare Full SSL Strict 报错提示 Error 525 SSL handshake failed
- matlab对语音信号预加重处理,语音信号的预加重处理和加窗处理 | 学步园
- 不知道rar压缩包密码可以解密么,rar压缩包有密码怎么解开?
- PyCharm4注册码
- 双十一到了,当我用Python采集了电商平台所有商品后发现....
- 一文读懂两台计算机之间是如何通信的
- LeetCode | 263. Ugly Number
- ios怎么引入masonry_ios masonry 怎样设置边距自适应
- 电子邮件及PE工作盘
- Mkv转MP4方法集合整理
- 不想打工了,手里有10万,想回农村老家创业,却不知道做什么,请各位指点迷津,谢谢?
- 读取风云4号卫星FullMask_Grid.raw文件