- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
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;
else if(parent instanceof String)
您可能关注的文档
最近下载
- 22G101 三维彩色立体图集.docx VIP
- DB41T2454-2023 测量仪器检定校准证书有效性确认技术规范 (2).pdf VIP
- 全过程工程咨询流程.pptx VIP
- (完整版)初中物理新课标解读.pptx VIP
- 火电厂湿法脱硫脱硝石膏中氯离子的去除工艺、药品方法.pdf VIP
- 《党政主要领导干部和国有企业领导s人员经济责任审计规定》释义.doc VIP
- 2025年全国普通高校招生全国统一考试数学真题(新高考Ⅰ卷)(含答案).pdf
- T_JAASS 164-2025 零碳农业园区创建与评价技术规范.docx VIP
- 品牌代理合同范本.docx VIP
- 标准与标准化知识.ppt VIP
文档评论(0)