⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 chessthread.java

📁 Eclipse 编程技术与实例,讲解了Eclipse编辑器的使用方法
💻 JAVA
字号:

package com.fivechess.chessface;

import java.io.IOException;
import java.util.StringTokenizer;

/**
 * @author wufenghanren
 */
public class chessThread extends Thread {
	chessPad chesspad;

	public chessThread(chessPad chesspad) {
		this.chesspad = chesspad;
	}

	/**
	 * 发送消息
	 */
	public void sendMessage(String sndMessage) {
		try {
			chesspad.outData.writeUTF(sndMessage);
		} catch (Exception ea) {
			System.out.println("chessThread.sendMessage:" + ea);
		}
	}

	/**
	 * 接收消息
	 */
	public void acceptMessage(String recMessage) {
		//如果收到的消息以“/chess”开头,将其中的坐标信息和颜色信息提取出来
		if (recMessage.startsWith("/chess ")) {
			StringTokenizer userToken = new StringTokenizer(recMessage, " ");
			String chessToken;
			String[] chessOpt = { "-1", "-1", "0" };
			int chessOptNum = 0;
			//使用Tokenizer将空格分隔的字符串分成三段
			while (userToken.hasMoreTokens()) {
				chessToken = (String) userToken.nextToken(" ");
				if (chessOptNum >= 1 && chessOptNum <= 3) {
					chessOpt[chessOptNum - 1] = chessToken;

				}
				chessOptNum++;
			}
			//将己方的走棋信息如棋子摆放的位置、棋子的颜色为参数,使用netChessPaint函数
			//是对方客户端也看到己方的落子位置。
			chesspad.netChessPaint(Integer.parseInt(chessOpt[0]), Integer
					.parseInt(chessOpt[1]), Integer.parseInt(chessOpt[2]));

		} else if (recMessage.startsWith("/yourname ")) {
			chesspad.chessSelfName = recMessage.substring(10);
		} else if (recMessage.equals("/error")) {
			chesspad.statusText.setText("错误:没有这个用户,请退出程序,重新加入");
		}
	}

	public void run() {
		String message = "";
		try {
			while (true) {
				message = chesspad.inData.readUTF();
				acceptMessage(message);
			}
		} catch (IOException es) {
		}
	}

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -