Java编程五子棋游戏源代码Word文档格式.doc
- 文档编号:13161408
- 上传时间:2022-10-07
- 格式:DOC
- 页数:34
- 大小:68.50KB
Java编程五子棋游戏源代码Word文档格式.doc
《Java编程五子棋游戏源代码Word文档格式.doc》由会员分享,可在线阅读,更多相关《Java编程五子棋游戏源代码Word文档格式.doc(34页珍藏版)》请在冰豆网上搜索。
}
*类ChessFrame主要功能是创建五子棋游戏主窗体和菜单
classChessFrameextendsJFrameimplementsActionListener{
privateString[]strsize={"
20x15"
"
30x20"
40x30"
};
privateString[]strmode={"
人机对弈"
人人对弈"
publicstaticbooleaniscomputer=true,checkcomputer=true;
privateintwidth,height;
privateChessModelcm;
privateMainPanelmp;
//构造五子棋游戏的主窗体
publicChessFrame(){
this.setTitle("
五子棋游戏"
);
cm=newChessModel
(1);
mp=newMainPanel(cm);
Containercon=this.getContentPane();
con.add(mp,"
Center"
this.setResizable(false);
this.addWindowListener(newChessWindowEvent());
MapSize(20,15);
JMenuBarmbar=newJMenuBar();
this.setJMenuBar(mbar);
JMenugameMenu=newJMenu("
游戏"
mbar.add(makeMenu(gameMenu,newObject[]{
"
开局"
"
棋盘"
模式"
null,"
退出"
},this));
JMenulookMenu=newJMenu("
视图"
mbar.add(makeMenu(lookMenu,newObject[]{
Metal"
Motif"
Windows"
},this));
JMenuhelpMenu=newJMenu("
帮助"
mbar.add(makeMenu(helpMenu,newObject[]{
关于"
},this));
//构造五子棋游戏的主菜单
publicJMenumakeMenu(Objectparent,Objectitems[],Objecttarget){
JMenum=null;
if(parentinstanceofJMenu)
m=(JMenu)parent;
elseif(parentinstanceofString)
m=newJMenu((String)parent);
else
returnnull;
for(inti=0;
i<
items.length;
i++)
if(items[i]==null)
m.addSeparator();
elseif(items[i]=="
){
JMenujm=newJMenu("
ButtonGroupgroup=newButtonGroup();
JRadioButtonMenuItemrmenu;
for(intj=0;
j<
strsize.length;
j++){
rmenu=makeRadioButtonMenuItem(strsize[j],target);
if(j==0)
rmenu.setSelected(true);
jm.add(rmenu);
group.add(rmenu);
}
m.add(jm);
}elseif(items[i]=="
for(inth=0;
h<
strmode.length;
h++){
rmenu=makeRadioButtonMenuItem(strmode[h],target);
if(h==0)
}else
m.add(makeMenuItem(items[i],target));
returnm;
//构造五子棋游戏的菜单项
publicJMenuItemmakeMenuItem(Objectitem,Objecttarget){
JMenuItemr=null;
if(iteminstanceofString)
r=newJMenuItem((String)item);
elseif(iteminstanceofJMenuItem)
r=(JMenuItem)item;
if(targetinstanceofActionListener)
r.addActionListener((ActionListener)target);
returnr;
//构造五子棋游戏的单选按钮式菜单项
publicJRadioButtonMenuItemmakeRadioButtonMenuItem(
Objectitem,Objecttarget){
JRadioButtonMenuItemr=null;
if(iteminstanceofString)
r=newJRadioButtonMenuItem((String)item);
elseif(iteminstanceofJRadioButtonMenuItem)
r=(JRadioButtonMenuItem)item;
else
returnnull;
if(targetinstanceofActionListener)
r.addActionListener((ActionListener)target);
returnr;
}
publicvoidMapSize(intw,inth){
setSize(w*20+50,h*20+100);
if(this.checkcomputer)
this.iscomputer=true;
this.iscomputer=false;
mp.setModel(cm);
mp.repaint();
publicbooleangetiscomputer(){
returnthis.iscomputer;
publicvoidrestart(){
intmodeChess=cm.getModeChess();
if(modeChess<
=3&
&
modeChess>
=1){
cm=newChessModel(modeChess);
MapSize(cm.getWidth(),cm.getHeight());
}else{
System.out.println("
\u81EA\u5B9A\u4E49"
publicvoidactionPerformed(ActionEvente){
Stringarg=e.getActionCommand();
try{
if(arg.equals("
))
UIManager.setLookAndFeel(
"
com.sun.java.swing.plaf.windows.WindowsLookAndFeel"
elseif(arg.equals("
UIManager.setLookAndFeel(
"
com.sun.java.swing.plaf.motif.MotifLookAndFeel"
javax.swing.plaf.metal.MetalLookAndFeel"
);
SwingUtilities.updateComponentTreeUI(this);
}catch(Exceptionee){}
if(arg.equals("
)){
this.width=20;
this.height=15;
cm=newChessModel(1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 编程 五子棋 游戏 源代码