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

📄 rpsclient.java

📁 Java games programing--很好的java游戏编程源码
💻 JAVA
字号:
package com.hypefiend.javagamebook.games.rps;import com.hypefiend.javagamebook.client.*;import com.hypefiend.javagamebook.common.*;import java.nio.*;import java.nio.channels.*;import java.util.*;import java.net.*;import java.io.*;import org.apache.log4j.*;/** * RPSClient.java * * @author <a href="mailto:bret@hypefiend.com">bret barker</a> * @version 1.0 */public class RPSClient extends GameClient {    /** log4j logger */    protected static Logger log = Logger.getLogger("RPSClient");    /** reference to ConsoleEventReader that reads events from user input */    protected RPSConsoleEventReader consoleReader;    /**     * main.     */    public static void main(String args[] ) {	// setup log4j	BasicConfigurator.configure();	if (args.length < 2) {	    System.out.println("usage: java com.hypefiend.javagamebook.games.rps.RPSClient <host> <player_name>\n");	    System.exit(0);	}	// fire up the client	RPSClient gc = new RPSClient();	gc.init(args);	gc.start();    }    /**      * call GameClient.init()      * and start our ConsoleEventReader     */    public void init(String args[]) {	super.init(args);	consoleReader = new RPSConsoleEventReader(this, inQueue, outQueue);	consoleReader.start();    }	    /**      * shutdown the client     */    protected void shutdown() {	consoleReader.shutdown();	super.shutdown();    }    /**      * handle incoming GameEvents from the EventQueue     */    protected void processIncomingEvents() {	GameEvent inEvent;	while (inQueue.size() > 0) {	    try {		inEvent = inQueue.deQueue();		switch (inEvent.getType()) {		case GameEventDefault.S_LOGIN_ACK_OK:		    break;		case GameEventDefault.SB_LOGIN:		    stdOut( "login: " + inEvent.getMessage());		    break;		case GameEventDefault.SB_LOGOUT:		    stdOut( "logout: " + inEvent.getMessage());		    break;		case GameEventDefault.SB_CHAT_MSG:		    stdOut( inEvent.getPlayerId() + ": " + inEvent.getMessage());		    break;		case GameEventDefault.S_DISCONNECT:		    stdErr( "disconnected from server: " + inEvent.getMessage());		    shutdown();		    break;		case GameEventDefault.S_JOIN_GAME_ACK_OK:		    stdOut( inEvent.getMessage());		    inGame = true;		    break;		case GameEventDefault.S_JOIN_GAME_ACK_FAIL:		    stdOut( inEvent.getMessage());		    inGame = false;		    break;		case GameEventDefault.SB_PLAYER_QUIT:		    stdOut( inEvent.getMessage());		    inGame = false;		    break;		    		default:		    stdOut( inEvent.getMessage());		    break;		}	    }	    catch (InterruptedException ie) {}	}    }    /**      * return our GameName     */    public String getGameName() {	return "RPS";    }    /**      * factory method to create GameEvents     */    public GameEvent createGameEvent() {	return new GameEventDefault();    }        /**      * factory method to create login GameEvents     */    public GameEvent createLoginEvent() {	return new GameEventDefault(GameEventDefault.C_LOGIN);    }        /**      * factory method to create disconnect GameEvents     */    public GameEvent createDisconnectEvent(String reason) {	return new GameEventDefault(GameEventDefault.S_DISCONNECT, reason);    }    }

⌨️ 快捷键说明

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