📄 tictactoeclient.java
字号:
package NetworkTicTacToe.client;import game.basic.XYLocation;import game.adversary.*;import java.awt.*;import java.awt.event.*;import java.net.*;import java.io.*;import javax.swing.*;public class TicTacToeClient extends JApplet implements Runnable { private JButton computer, network; private JTextArea display; private JPanel panel1, boardPanel, panel2; private Square board[][], currentSquare; private Socket connection; private DataInputStream input; private DataOutputStream output; private Thread outputThread; private char myMark; private boolean myTurn, vsComputer; private TicTacToe t3; public TicTacToeClient() { panel1 = new JPanel(); panel1.setLayout(new GridLayout(1, 3, 0, 0)); display = new JTextArea(4, 30); display.setEditable(false); getContentPane().add(new JScrollPane(display), BorderLayout.SOUTH); boardPanel = new JPanel(); boardPanel.setLayout(new GridLayout(3, 3, 0, 0)); board = new Square[3][3]; for(int row = 0; row < board.length; row++) { for(int col = 0; col < board[row].length; col++) { board[row][col] = new Square(' ', row*3 +col); board[row][col].addMouseListener( new SquareListener(this, board[row][col])); boardPanel.add(board[row][col]); } }// getContentPane().add(id, BorderLayout.NORTH); computer = new JButton("筿福癸驹"); network = new JButton("硈絬癸驹"); computer.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent e) { computer(); } } ); network.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent e) { network(); } } ); panel1.add(computer); panel1.add(network); getContentPane().add(panel1, BorderLayout.NORTH); panel2 = new JPanel(); panel2.add(boardPanel, BorderLayout.CENTER); getContentPane().add(panel2, BorderLayout.CENTER); } public void network() { vsComputer = false; for(int row = 0; row < board.length; row++) for(int col = 0; col < board[row].length; col++) { board[row][col].reSetMark(); board[row][col].repaint(); } try { connection = new Socket(getDocumentBase().getHost(), 5000); input = new DataInputStream(connection.getInputStream()); output = new DataOutputStream(connection.getOutputStream()); } catch(IOException e) { e.printStackTrace(); } outputThread = new Thread(this); outputThread.start(); } public void computer() { vsComputer = true; for(int row = 0; row < board.length; row++) for(int col = 0; col < board[row].length; col++) { board[row][col].reSetMark(); board[row][col].repaint(); } JSlider waitSelect = new JSlider(SwingConstants.HORIZONTAL, 0, 6, 0); waitSelect.setPaintTrack(true); waitSelect.setPaintLabels(true); waitSelect.setMajorTickSpacing(1); waitSelect.setMajorTickSpacing(1); waitSelect.setPaintTicks(true); JOptionPane.showOptionDialog(null, waitSelect, "砞﹚螟
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -