Java编程五子棋游戏源代码.doc

上传人:b****1 文档编号:231018 上传时间:2022-10-07 格式:DOC 页数:34 大小:68.50KB
下载 相关 举报
Java编程五子棋游戏源代码.doc_第1页
第1页 / 共34页
Java编程五子棋游戏源代码.doc_第2页
第2页 / 共34页
Java编程五子棋游戏源代码.doc_第3页
第3页 / 共34页
Java编程五子棋游戏源代码.doc_第4页
第4页 / 共34页
Java编程五子棋游戏源代码.doc_第5页
第5页 / 共34页
点击查看更多>>
下载资源
资源描述

Java编程五子棋游戏源代码.doc

《Java编程五子棋游戏源代码.doc》由会员分享,可在线阅读,更多相关《Java编程五子棋游戏源代码.doc(34页珍藏版)》请在冰豆网上搜索。

Java编程五子棋游戏源代码.doc

//Java编程:

五子棋游戏源代码

importjava.awt.*;

importjava.awt.event.*;

importjava.applet.*;

importjavax.swing.*;

importjava.io.PrintStream;

importjavax.swing.JComponent;

importjavax.swing.JPanel;

/*

*main方法创建了ChessFrame类的一个实例对象(cf),

*并启动屏幕显示显示该实例对象。

**/

publicclassFiveChessAppletDemo{

publicstaticvoidmain(Stringargs[]){

ChessFramecf=newChessFrame();

cf.show();

}

}

/*

*类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

if(items[i]==null)

m.addSeparator();

elseif(items[i]=="棋盘"){

JMenujm=newJMenu("棋盘");

ButtonGroupgroup=newButtonGroup();

JRadioButtonMenuItemrmenu;

for(intj=0;j

rmenu=makeRadioButtonMenuItem(strsize[j],target);

if(j==0)

rmenu.setSelected(true);

jm.add(rmenu);

group.add(rmenu);

}

m.add(jm);

}elseif(items[i]=="模式"){

JMenujm=newJMenu("模式");

ButtonGroupgroup=newButtonGroup();

JRadioButtonMenuItemrmenu;

for(inth=0;h

rmenu=makeRadioButtonMenuItem(strmode[h],target);

if(h==0)

rmenu.setSelected(true);

jm.add(rmenu);

group.add(rmenu);

}

m.add(jm);

}else

m.add(makeMenuItem(items[i],target));

returnm;

}

//构造五子棋游戏的菜单项

publicJMenuItemmakeMenuItem(Objectitem,Objecttarget){

JMenuItemr=null;

if(iteminstanceofString)

r=newJMenuItem((String)item);

elseif(iteminstanceofJMenuItem)

r=(JMenuItem)item;

else

returnnull;

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;

else

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("Windows"))

UIManager.setLookAndFeel(

"com.sun.java.swing.plaf.windows.WindowsLookAndFeel");

elseif(arg.equals("Motif"))

UIManager.setLookAndFeel(

"com.sun.java.swing.plaf.motif.MotifLookAndFeel");

else

UIManager.setLookAndFeel(

"javax.swing.plaf.metal.MetalLookAndFeel");

SwingUtilities.updateComponentTreeUI(this);

}catch(Exceptionee){}

if(arg.equals("20x15")){

this.width=20;

this.height=15;

cm=newChessModel(1

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试认证 > IT认证

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1