资源描述:
《java五子棋游戏源代码,j2se》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、packagegame.frame;importjava.awt.Color;importjava.awt.Font;importjava.awt.Graphics;importjava.awt.HeadlessException;importjava.awt.Toolkit;importjava.awt.event.MouseEvent;importjava.awt.event.MouseListener;importjava.awt.image.BufferedImage;importjava.io.File;i
2、mportjava.io.IOException;importjavax.imageio.ImageIO;importjavax.swing.JFrame;importjavax.swing.JOptionPane;publicclassFiveChessFrameextendsJFrameimplementsMouseListener,Runnable{//获取屏幕宽度intwidth=Toolkit.getDefaultToolkit().getScreenSize().width;//获取屏幕长度intheig
3、ht=Toolkit.getDefaultToolkit().getScreenSize().height;//背景图片BufferedImagebgimage=null;//保存棋子坐标intx=0;inty=0;//保存之前下過的全部棋子的座標//其中數據內容0表示這個點並沒有棋子,1表示這個點是黑子,2表示這個點是白點int[][]allChess=newint[19][19];//标示当前是黑棋booleanisBlack=true;//标识当前游戏是否可以继续booleancanPlay=true;//提示
4、信息Stringmessage="黑方先行";//保存最多拥有时间(秒)intmaxTime=0;//做倒计时的线程类Threadt=newThread(this);//保存黑白与白方的剩余时间intblackTime=0;intwhiteTime=0;//保存时间信息StringblackMessage="无限制";StringwhiteMessage="无限制";publicFiveChessFrame(){//設置標題this.setTitle("五子棋");//設置窗體大小this.setSize(500,5
5、00);//設置窗體出現位置this.setLocation((width-500)/2,(height-500)/2);//大小不可變this.setResizable(false);//關閉this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//顯示this.setVisible(true);//将窗体加入监听器this.addMouseListener(this);t.start();t.suspend();//刷新屏幕,防止游戏打开时无法显示。this.re
6、paint();try{bgimage=ImageIO.read(newFile("F:/background.jpg"));}catch(IOExceptione){//TODOAuto-generatedcatchblocke.printStackTrace();}}publicvoidpaint(Graphicsg){//双缓冲技术防止画面闪烁BufferedImagebi=newBufferedImage(500,500,BufferedImage.TYPE_INT_ARGB);Graphicsg2=bi.c
7、reateGraphics();g2.drawImage(bgimage,3,22,this);g2.setFont(newFont("宋体",Font.BOLD,20));g2.setColor(Color.black);g2.drawString("游戏信息:"+message,120,60);g2.setFont(newFont("华文行楷",0,18));//设置时间界面g2.drawString("黑方时间:"+blackMessage,28,470);g2.drawString("白方时间:"+white
8、Message,250,470);for(inti=0;i<19;i++){//画棋盘线g2.drawLine(13,72+20*i,373,72+20*i);g2.drawLine(13+20*i,72,13+20*i,432);}//标注点位g2.fillOval(71,130,4,4);g2.fillOval(71,370,4,4);g2