《Java五子棋课程设计报告程序.docx》由会员分享,可在线阅读,更多相关《Java五子棋课程设计报告程序.docx(6页珍藏版)》请在三一办公上搜索。
1、Java五子棋课程设计报告程序-EXCE.JAVA- importjavax.swing.*; importjava.awt.*; importjava.awt.geom.*; public class Exce public static void main(String args) JFrame win=new JFrame; JMenuBarmenubar; JMenu menu; JMenuItem item2,item1,item3; menubar=new JMenuBar; menu=new JMenu(菜单); item1=new JMenuItem(开始); item2=ne
2、w JMenuItem(重新开始); item3=new JMenuItem(结束); menu.add(item1); menu.add(item2); menu.add(item3); menubar.add(menu); win.setJMenuBar(menubar); win.setTitle(五子棋); win.setSize(700,750); /win.setBackground(Color.orange); win.add(new Wuziqi); win.setVisible(true); win.setResizable(false); win.setDefaultClo
3、seOperation(JFrame.EXIT_ON_CLOSE); - WUZHIQI.JAVA- importjavax.swing.*; importjava.awt.*; importjava.awt.geom.*; public class Wuziqi extends JPanel /棋盘距离边界的距离 public static int x=50, y=50; /棋子的多少及格子大小 public static int n=16, fangge=40,qizi=40; public static int s=new intnn; /初始数组,数组全赋为0 public void
4、chushi for(inti=0;in;i+) for(int j=0;jn;j+) sij=0; /绘制棋盘 public void paint(Graphics g) /调用父类的方法,清空棋盘 super.paint(g); WuziqiListener listen= new WuziqiListener; listen.setWuziqiQP(this); /添加鼠标事件 listen.setWuziqiG(g); this.addMouseListener(listen); this.addMouseListener(listen); Graphics2D g_2d=(Graph
5、ics2D)g; for(inti=0;in;i+) Line2D line=new Line2D.Double(x+i*fangge,y,x+i*fangge,y+(n-1)*fangge); g_2d.draw(line); for(inti=0;in;i+) Line2D line=new Line2D.Double(x,y+i*fangge,x+(n-1)*fangge,y+i*fangge); g_2d.draw(line); /画棋子 for(inti=0;in;i+) for(int j=0;j=0&i5;i+) if(t=sx-iy) count+; else break; i
6、f(count=5) / return true; for(i=0,count=0;x+i16&i=0&i5;i+) if(t=sxy-i) count+; else break; if(count=5) return true; for(i=0,count=0;y+i16&i=0&y-i=0&i5;i+) if(t=sx-iy-i) count+; else break; if(count=5) return true; for(i=0,count=0;x+i16&y+i16&i5;i+) if(t=sx+iy+i) count+; else break; if(count=5) retur
7、n true; /判断右上方向 for(i=0,count=0;x+i=0&i0&y+i16&i=0&x1=0&y1Wuziqi.n&Wuziqi.sx1y1=0) /wzq.repaint; /wzq.paint(g); /棋子放在棋盘上后,数组做相应标示 Wuziqi.sx1y1 = t; /调用iswin方法,来判断输赢 if(wzq.isWin(x1,y1,t)&t=1) /弹出提示对话框 int n=JOptionPane.showConfirmDialog(null,黑棋赢了,再来一盘吧!, 确认对话框,JOptionPane.YES_NO_CANCEL_OPTION); if(n
8、=JOptionPane.YES_OPTION) wzq.chushi; Wuziqi.sx1y1=-2; wzq.repaint; else if(n=JOptionPane.NO_OPTION) System.exit(0); else if(wzq.isWin(x1,y1,t)&t=-1) int n=JOptionPane.showConfirmDialog(null,白棋赢了,再来一盘吧!, 确认对话框,JOptionPane.YES_NO_CANCEL_OPTION); if(n=JOptionPane.YES_OPTION) wzq.chushi; Wuziqi.sx1y1=-2; wzq.repaint; else if(n=JOptionPane.NO_OPTION) System.exit(0); else /重新棋盘 wzq.repaint; t = -t; public void mouseClicked(MouseEvent e) public void mouseReleased(MouseEvent e) public void mouseEntered(MouseEvent e) public void mouseExited(MouseEvent e)