• 大小: 61KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-05-11
  • 语言: Java
  • 标签: JAVA  五子棋  

资源简介

用JAVA实现的联网五子棋 界面简单 是经典教程上的修改版 有判断胜负的功能

资源截图

代码片段和文件信息

import java.awt.*;
import java.awt.event.*;
import java.net.*;
import java.io.*;
import javax.swing.*;

public class wuziqiClient extends Japplet implements Runnable {
   private JTextField idField;
   private JTextArea displayArea;
   private JPanel boardPanel panel2;
   private Square board[][] currentSquare;
   private Socket connection;
   private DataInputStream input;
   private DataOutputStream output;
   private char myMark;
   private boolean myTurn;
   private final char X_MARK = ‘●‘ O_MARK = ‘○‘;

   //初始化界面
   public void init()
   {
      Container container = getContentPane();
 
      // 设置 JTextArea 显示信息给玩家
      displayArea = new JTextArea( 6 20 );
      displayArea.setEditable( false );
      container.add( new JScrollPane( displayArea ) BorderLayout.SOUTH );

      // 设置五子棋的棋盘 15*15 格子
      boardPanel = new JPanel();
      boardPanel.setLayout( new GridLayout( 15 15 0 0 ) );

      board = new Square[ 15 ][ 15 ];

      for ( int row = 0; row < board.length; row++ ) {

         for ( int column = 0; column < board[ row ].length; column++ ) {

            // 创建棋盘矩阵
            board[ row ][ column ] = new Square( ‘ ‘ row * 15 + column );
            boardPanel.add( board[ row ][ column ] );        
         }
      }

      // 创建一个 textfield 显示玩家使用的棋子是黑或者是白
      idField = new JTextField();
      idField.setEditable( false );
      container.add( idField BorderLayout.NORTH );
      
      panel2 = new JPanel();
      panel2.add( boardPanel BorderLayout.CENTER );
      container.add( panel2 BorderLayout.CENTER );

   } 

   public void start()
   {
      try {
         
         // 连接到服务器
         connection = new Socket( getCodebase().getHost() 12345 );

         // 从服务器获得信息 
         input = new DataInputStream( connection.getInputStream() );
         output = new DataOutputStream( connection.getOutputStream() );
      }

      catch ( IOException ioException ) {
         ioException.printStackTrace();         
      }

      // 创建一个输出信息的线程
      Thread outputThread = new Thread( this );
      outputThread.start();

   } 


   public void run()
   {
      // 确定玩家锁使用的棋子
      try {
         myMark = input.readChar();

         //在 textField 中输出玩家使用的棋子
         SwingUtilities.invokeLater( 
            new Runnable() {         
               public void run()
               {
                  idField.setText( “您的棋子是 \““ + myMark + “\““ );
               }
            }
         ); 
         
         myTurn = ( myMark == X_MARK ? true : false );//黑棋玩家先走

         while ( true ) {
            processMessage( input.readUTF() );
         }

      }
      catch ( IOException ioException ) {
         ioException.printStackTrace();         
      }

   }

   // 处理玩家收到的信息 显示在textArea中
   private void processMessage( String message )
   {
      // 合法情况
      if ( message.equals( “落子“ ) ) {
         displayMessage(

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       9416  2008-06-22 19:33  联网五子棋\wuziqiServer.java

     文件       6454  2008-06-22 20:00  联网五子棋\wuziqiClient.java

     文件      75264  2008-06-22 20:43  联网五子棋\JAVA期末课程设计报告.doc

     文件        851  2008-06-15 22:19  联网五子棋\TicTacToeServer$1.class

     文件       2863  2008-06-15 22:19  联网五子棋\TicTacToeServer$Player.class

     文件       4113  2008-06-15 22:19  联网五子棋\TicTacToeServer.class

     文件        886  2008-06-15 22:25  联网五子棋\TicTacToeClient$1.class

     文件        851  2008-06-15 22:25  联网五子棋\TicTacToeClient$2.class

     文件        690  2008-06-15 22:25  联网五子棋\TicTacToeClient$3.class

     文件        822  2008-06-15 22:25  联网五子棋\TicTacToeClient$Square$1.class

     文件       1285  2008-06-15 22:25  联网五子棋\TicTacToeClient$Square.class

     文件       4450  2008-06-15 22:25  联网五子棋\TicTacToeClient.class

     文件        866  2008-06-22 20:00  联网五子棋\wuziqiClient$1.class

     文件        833  2008-06-22 20:00  联网五子棋\wuziqiClient$2.class

     文件        663  2008-06-22 20:00  联网五子棋\wuziqiClient$3.class

     文件        792  2008-06-22 20:00  联网五子棋\wuziqiClient$Square$1.class

     文件       1261  2008-06-22 20:00  联网五子棋\wuziqiClient$Square.class

     文件       4413  2008-06-22 20:00  联网五子棋\wuziqiClient.class

     文件        833  2008-06-22 19:33  联网五子棋\wuziqiServer$1.class

     文件       2873  2008-06-22 19:33  联网五子棋\wuziqiServer$Player.class

     文件       4123  2008-06-22 19:33  联网五子棋\wuziqiServer.class

     文件         87  2008-06-15 22:54  联网五子棋\jinziqi.htm

     目录          0  2008-05-19 18:39  联网五子棋

----------- ---------  ---------- -----  ----

               124689                    23


评论

共有 条评论