keysender.java

来自「贪吃蛇网络版 运行平台 LINUX/UNIX Macintosh Window」· Java 代码 · 共 38 行

JAVA
38
字号
package logic;
import java.io.*;
import java.util.*;

public class KeySender implements Runnable {

	private DataOutputStream dos;
	private Vector keyQueue = new Vector();  // 这个向量放置按键队列
	private static final int keySendDelay = 100;  // 每隔100毫秒发送一次按键
	
	public KeySender(DataOutputStream dos) {
		this.dos = dos;
		new Thread(this).start();
	}

	// 往按键队列添加新的按键
	public void add(int d) {
		keyQueue.insertElementAt(new Integer(d),0);
	}

	public void run() {
		try {
			while (!Thread.interrupted()) {
				// 若按键队列中有没有发送的按键
				if (keyQueue.size()>0) {
					// 则发送此按键
					dos.write(((Integer)keyQueue.lastElement()).intValue());
					// 发送完成后,删除此按键对象
					keyQueue.removeElementAt(keyQueue.size()-1);
				}
				// 等待固定时间后再继续工作
				Thread.sleep(keySendDelay);
			}
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
};

⌨️ 快捷键说明

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