《13格的五子棋代码》由会员分享,可在线阅读,更多相关《13格的五子棋代码(12页珍藏版)》请在金锄头文库上搜索。
1、package 作业;import java.awt.BorderLayout;import java.awt.Color;import java.awt.Container;import java.awt.FlowLayout;import java.awt.Graphics;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.MouseAdapter;import java.awt.event.MouseEvent;import javax.swing.JB
2、utton;import javax.swing.JFrame;import javax.swing.JLabel;public class wuziqi extends JFrame int x = 0, y = 0; /初始化坐标的两个参数 /初始化棋盘九个落棋位置int chequer;chequer=new int1313;for(int i=0;i13;i+)for(int j=0;j13;j+) chequerij=0;int location = 0; /初始化坐标位置boolean start = true, redplay = true, success = false; /
3、初始化重新开始,下棋,胜利 /初始化棋盘九个落棋位置int s = new int155, jj = new int155; /初始化棋局位置,棋子信息JButton jbutton1, jbutton2; /定义重新开始红队先下,重新开始蓝队先下两个按钮JLabel jlabel; /定义标签public wuziqi() Container c = getContentPane(); /给容器赋值 c.setLayout(new FlowLayout(); jbutton1 = new JButton(重新开始红队先下); c.add(jbutton1); jbutton2 = new J
4、Button(重新开始蓝队先下); c.add(jbutton2); jlabel = new JLabel(); c.add(jlabel, BorderLayout.SOUTH); /增加鼠标监听器 addMouseListener(new MouseAdapter() public void mousePressed(MouseEvent event) if (event.isAltDown() repaint(); /获得鼠标点击的坐标 x = event.getPoint().x; y = event.getPoint().y; System.out.println(坐标是:+x+,
5、+y+; ); int location = location(x, y); /用a保存坐标的信息 System.out.println(location=+location); /一方胜利或平局就重新开始 if (success) jlabel.setForeground(Color.RED); jlabel .setText( +游戏已结束,请重新开始 + ); /棋局还没结束,继续下棋 else /如果先前一位置上已有一棋子,在此位置上再有一棋子就提醒另选位置重新下棋 if (slocation = 1) jlabel.setForeground(Color.RED); jlabel.s
6、etText( + 此位置有棋子,请另选位置重新下棋 + ); /如果此位置是第一次有棋,则改变棋盘相应的信息 if(slocation=0) start = false; System.out.println(slocation=s+location+=+slocation); for(int i=1;i13;i+) for(int j=1;j13;j+) if(location=(j-1)*12+i) chequerji=1; System.out.println(j=+j+;i=+i+;chequerji=+chequer+j+i+=+chequerji); jlabel.setText
7、(); repaint(); /使刚下的棋子在棋盘上刻画出来 slocation = 1; System.out.println(slocation=s+location+=+slocation); ); /给按钮1添加监听器,当点击按钮1则红队先下 jbutton1.addActionListener(new ActionListener() public void actionPerformed(ActionEvent arg0) for (int i = 1; i s.length; i+) si = 0; jji = 0; /红棋结果为1,蓝棋结果为2 System.out.print
8、ln(s.length=+s.length); start = true; repaint(); /重画棋盘 success = false; redplay = true; jlabel.setForeground(Color.black); jlabel .setText( + 红队先下 ); ); / 给按钮2添加监听器,当点击按钮2则红队先下 jbutton2.addActionListener(new ActionListener() public void actionPerformed(ActionEvent arg0) for (int i = 1; i s.length; i+) si = 0; jji = 0; System.out.println(s.length=+s.length); start = true; repaint(); /重画棋盘 success = false; redplay = false; jlabel.setForeground(Color.black); jlabel .setText( + 蓝队先下 ); ); setSize(800, 800); setVisible(true); public void paint(Graphics g) / 划