软件工程课程设计-面向对象(五子棋内容摘要:

port。 import。 import。 import。 import。 import。 import。 import。 import。 import。 import。 import。 import。 import。 import。 import。 import .*。 public class FiveChessDemo { public static void main(String args[]) { ChessFrame cf = new ChessFrame()。 (true)。 } } /********************ChessFrame**************************/ class ChessFrame extends JFrame implements ActionListener,Runnable { public static boolean isCompute = true。 public static boolean checkComputer = true。 private String[] strmode={人机对战 ,人人对战 }。 private int width,height。 private ChessModel cm。 private MainPanel mp。 public int gameTime。 public boolean isComputerTime = true。 Thread t = new Thread(this)。 public ChessFrame() { (五子棋 )。 MapSize(20,15)。 cm = new ChessModel(1)。 mp = new MainPanel(cm)。 (false)。 Container con = ()。 (mp,Center)。 JMenuBar mbar = new JMenuBar()。 (mbar)。 JMenu gameMenu = new JMenu(游戏 )。 (makeMenu(gameMenu,new Object[]{ 开始 ,模式 ,计时 ,null,退出 },this))。 JMenu sizeMenu = new JMenu(棋盘 )。 (makeMenu(sizeMenu,new Object[]{ 20*15,null,30*20,null,40*30},this))。 JMenu aboutMenu = new JMenu(帮助 )。 (makeMenu(aboutMenu,new Object[]{ 帮助 ,关于 },this))。 ()。 ()。 //()。 ()。 } public void run(){ while(true){ //()。 //(gameTime)。 if(gameTime0 amp。 amp。 isComputerTime == false){ if(==true){。 if(==0){ (this,时间到,黑方输 ,提示,)。 ()。 } } else{。 if(==0){ (this,时间到,白方输 ,提示,)。 ()。 } } = ()+:+(*60)+:+(*60)。 = ()+:+(*60)+:+(*60)。 try{ (1000)。 } catch(Exception e){ } ( + + )。 repaint()。 } } } public void MapSize(int w,int h) { setSize(w * 20+50,h * 20+150)。 if(!){ =false。 }else{ =true。 } //(cm)。 //()。 } public void restart(){ int modeChess = ()。 = true。 if(isComputerTime == true){ = 无限制。 = 无限制。 gameTime = 0。 } if(modeChess = 3 amp。 amp。 modeChess = 1){ cm = new ChessModel(modeChess)。 MapSize((),())。 (cm)。 ()。 }else{ (\u81EA\u5B9A\u4E49)。 } } public JMenu makeMenu(Object parent,Object items[],Object target){ JMenu j = null。 if(parent instanceof JMenu){ j = (JMenu)parent。 } else if(parent instanceof String){ j = new JMenu((String)parent)。 } else{ return null。 } for(int i = 0。 i。 i++) { if(items[i]==null){ ()。 } else if(items[i] == 模式 ){ JMenu jm = new JMenu(模式 )。 ButtonGroup group=new ButtonGroup()。 JRadioButtonMenuItem rmenu。 for (int h=0。 h。 h++){ rmenu=makeRadioButtonMenuItem(strmode[h],target)。 if(h==0) (true)。 (rmenu)。 (rmenu)。 } (jm)。 } else{ (makeMenuItem(items[i],target))。 }}。 return j。 } public JMenuItem makeMenuItem(Object item,Object target){ JMenuItem r = null。 if(item instanceof JMenuItem) r = (JMenuItem)item。 else if(item instanceof String) r = new JMenuItem((String)item)。 else return null。 if(target instanceof ActionListener) ((ActionListener)target)。 return r。 } public JRadioButtonMenuItem makeRadioButtonMenuItem( Object item, Object target){ JRadioButtonMenuItem r = null。 if(item instanceof String) r = new JRadioButtonMenuItem((String)item)。 else if(item instanceof JRadioButtonMenuItem) r = (JRadioButtonMenuItem)item。 else return null。 if(target instanceof ActionListener) ((ActionListener)target)。 return r。 } public void actionPerformed(ActionEvent e){ String arg = ()。 if((开始 )){ (开始 )。 restart()。 } if((人机对战 )){ =true。 =true。 isComputerTime = true。 cm=new ChessModel(())。 MapSize((),())。 (this)。 } if((人人对战 )){ =false。 =false。 isComputerTime = false。 cm=new ChessModel(())。 MapSize((),())。 (this)。 } if((20*15)){ = 20。 = 15。 MapSize(,)。 cm = new ChessModel(1)。 (this)。 (cm)。 ()。 } if((30*20)){ = 30。 = 20。 cm = new ChessModel(2)。 MapSize(,)。 (this)。 (cm)。 ()。 } if((40*30)){ = 40。 = 30。 MapSize(,)。 cm = new ChessModel(3)。 (this)。 (cm)。 ()。 } if((关于 )){ (this,五子棋 , yangyang,)。 } if((帮助 )){ (this,连续五颗相同棋子者胜 ,帮助,)。 } if((计时 )){ String time = (this,请设置时间 (分钟 ),0为无限制 ,(只有人人模式才能设置时间 ))。 gameTime = (time)*60。 if(gameTime0 amp。 amp。 isComputerTime == false){ (this,设置完成,是否重新开始 ?)。 restart()。 = gameTime。 = gameTime。 = (gameTime/3600)+:+(gameTime/60gameTime/3600*60)+:+(gameTimegameTime/60*60)。 = (gameTime/3600)+:+(gameTime/60gameTime/3600*60)+:+(gameTimegameTime/60*60)。 repaint()。 ()。 } else if(gameTime==0 amp。 amp。 isComputerTime == false){ (this,设置完成,是否重新开始 ?)。 restart()。 = gameTime。 = gameTime。 // = (gameTime/3600)+:+(gameTime/60gameTime/3600*60)+:+(gameTimegameTime/60*60)。 // = (gameTime/3600)+:+(gameT。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。