亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? server.java

?? 手機版象棋游戲采用JAVA開發
?? JAVA
字號:
package com.lzw;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Enumeration;
import java.util.Hashtable;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class Server extends HttpServlet {

	private Hashtable players = new Hashtable();

	private int NUM = 2;

	private int DESKNUM = 10; // 定義桌子數量

	private Desk[] desks = new Desk[DESKNUM];

	private int counter = 1; // 玩家計數器

	private Player player;

	PrintWriter out;

	/*
	 * 初始化 對players(Hashtable)、desks(所有桌子)初始化
	 */
	public void init(ServletConfig config) throws ServletException { // 初始化
		super.init(config);
		players.clear();
		for (int i = 0; i < DESKNUM; i++) {
			desks[i] = new Desk();
			desks[i].setID(i);
		}
	}

	/*
	 * 接受信息主方法 接受各種信息,然后調用相應的處理方法
	 */
	public void doGet(HttpServletRequest request, HttpServletResponse response) // 接受信息
			throws ServletException, IOException {
		out = response.getWriter();
		String message = request.getParameter("message");
		String port = request.getParameter("port");
		port = port.trim();
		if (!message.startsWith("hello"))
			System.out.println(message);
		if (message.startsWith("register")) {// 登陸信息
			System.out.println("register is start");
			denglu(request);
			return;
		}
		if (!port.equals("-1"))
			player = (Player) players.get(request.getRemoteAddr() + ":" + port);
		else
			player = (Player) players.get(request.getRemoteAddr() + ":"
					+ request.getRemotePort());
		if(player==null)return;
		if (message.startsWith("take")) {// 落座信息
			// System.out.println("take info start:1");
			luozuo(message, player);
			return;
		} else if (message.startsWith("start")) {// 開始信息move:
			tryStart(player);
			return;
		} else if (message.startsWith("move")) {// 走棋信息
			Desk desk = player.getDesk();
			desk.moveChess(message);
		} else if (message.startsWith("hello")) {
			if (!player.data.empty())
				out.println((String) player.data.pop());
			else
				out.println("noData");
			return;
		} else if (message.startsWith("exitgame")) {// 退出信息
			tryExit(players, player, request);
			return;
		} else if (message.startsWith("exit")) {// 退出信息
			tryExit(players, player, request);
			return;
		} else {
			System.out.println("No desk exist");
		}
	}

	public void sendMessage(Player p, String str) { // 發送信息,等待用戶讀取
		p.data.push(new String(str));
	}

	public void updateClientsDesk(int deskid) { // 更新所有客戶桌面
		for (Enumeration en = players.elements(); en.hasMoreElements();) {
			Player player = (Player) en.nextElement();
			if (player != null)
				updateDesk(player, deskid);
		}
	}

	public void updateDesk(Player isa, int deskid) { // 更新單個桌面
		String message = "updatedesk," + deskid;
		String str = "";
		for (int i = 0; i < desks[deskid].getPlayersCounter(); i++) {
			if (i == 0) {
				if (desks[deskid].isEmpty(i))
					str = "0";
				else
					str = "1";
			} else {
				if (desks[deskid].isEmpty(i))
					str = str + ",0";
				else
					str = str + ",1";
			}
		}
		message = message + ":" + str;
		sendMessage(isa, message);
	}

	public void sendDeskList(Player player) { // 獲得桌面列表
		String message = "desks," + DESKNUM;
		for (int i = 0; i < DESKNUM; i++) {
			String str = "";
			for (int j = 0; j < desks[i].getPlayersCounter(); j++) {
				if (j == 0) {
					if (desks[i].isEmpty(j))
						str = "0";
					else
						str = "1";
				} else {
					if (desks[i].isEmpty(j))
						str = str + ",0";
					else
						str = str + ",1";
				}
			}
			message = message + ":" + str;
		}
		sendMessage(player, message);
	}

	public void denglu(HttpServletRequest request) { // 處理登陸信息
		Player player = new Player(request.getRemoteAddr(), request
				.getRemotePort());
		player.setID(counter);

		counter++;
		players.put(request.getRemoteAddr() + ":" + request.getRemotePort(),
				player);

		sendMessage(player, "port=" + request.getRemotePort());
		sendDeskList(player); // 發送大廳信息
	}

	public void luozuo(String message, Player player) {// 處理落座信息
		try {
			int index1 = message.indexOf(",");
			int index2 = message.indexOf(",", index1 + 1);
			int dindex = Integer
					.parseInt(message.substring(index1 + 1, index2));
			int pindex = Integer.parseInt(message.substring(index2 + 1));
			if (dindex < DESKNUM && dindex >= 0) {
				if (desks[dindex].isEmpty(pindex)) {
					desks[dindex].setPlayer(pindex, player);
					player.setDesk(desks[dindex]);
					sendMessage(player, "takeseat");
					updateClientsDesk(dindex);
				}
			}
		} catch (Exception exc) {
		}
	}

	public void tryStart(Player player) {// 處理開始信息
		player.start();
		Desk d1 = player.getDesk();
		if (d1.isReady()) {
			d1.start();
		}
	}

	public void tryExit(Hashtable players, Player player,
			HttpServletRequest request) {
		Desk de = player.getDesk();
		player.init();
		de.removePlayer(player);
		player=null;
		players.remove(request.getRemoteHost() + ":" + request.getRemotePort());
		updateClientsDesk(de.getID());
	}
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产成人在线影院| 国产成人午夜高潮毛片| 亚洲一区二区视频在线| 亚洲欧美日韩国产一区二区三区| 国产欧美日韩三级| 日本一区二区电影| 日韩一区在线免费观看| 夜夜爽夜夜爽精品视频| 亚洲观看高清完整版在线观看| 亚洲免费在线观看视频| 一区二区在线观看免费| 一个色综合网站| 男人的j进女人的j一区| 国产一区二区看久久| 99视频有精品| 欧美日韩一区二区在线观看 | 成人亚洲一区二区一| 国产·精品毛片| 99热99精品| 欧美日韩一区小说| 精品99一区二区三区| 中文一区一区三区高中清不卡| 中文字幕欧美日本乱码一线二线| 亚洲精品免费电影| 美女视频第一区二区三区免费观看网站| 精品一区二区三区视频在线观看| 高清视频一区二区| 欧美中文字幕一区| 久久免费视频色| 亚洲精品午夜久久久| 麻豆国产精品官网| 91在线观看美女| 精品久久久久香蕉网| 国产精品免费aⅴ片在线观看| 日日欢夜夜爽一区| av电影一区二区| 欧美电影免费观看高清完整版在线| 欧美激情在线一区二区三区| 亚洲成av人片一区二区| 成人中文字幕在线| 777久久久精品| 亚洲三级免费电影| 国产伦理精品不卡| 欧美日本一区二区三区四区| 国产欧美日韩在线视频| 日韩中文字幕一区二区三区| 91蜜桃婷婷狠狠久久综合9色| 欧美不卡123| 日本午夜精品一区二区三区电影 | 亚洲人成亚洲人成在线观看图片| 男女男精品网站| 欧美中文字幕一二三区视频| 国产女同性恋一区二区| 另类小说色综合网站| 91福利国产精品| 一色屋精品亚洲香蕉网站| 国产精品99精品久久免费| 精品女同一区二区| 美女在线观看视频一区二区| 欧美日韩一区不卡| 亚洲影视在线观看| 在线观看日韩毛片| 中文字幕中文字幕在线一区| 成人涩涩免费视频| 国产亚洲成aⅴ人片在线观看| 韩国v欧美v日本v亚洲v| 欧美r级电影在线观看| 三级影片在线观看欧美日韩一区二区| 在线视频中文字幕一区二区| 亚洲欧美色图小说| 日本高清不卡一区| 一区二区在线看| 欧美在线你懂的| 亚洲成av人片在线| 日韩亚洲欧美高清| 国产乱人伦偷精品视频不卡| 久久新电视剧免费观看| 国产精品综合一区二区三区| 久久亚洲精精品中文字幕早川悠里 | 精品乱码亚洲一区二区不卡| 免费不卡在线视频| 久久无码av三级| 成人午夜免费视频| 国产精品国产自产拍高清av王其| 99re8在线精品视频免费播放| 欧美激情在线一区二区| 92精品国产成人观看免费| 一区二区三区中文字幕精品精品| 欧美三级电影网站| 老司机精品视频导航| 久久久久久久久久久黄色| 成人午夜短视频| 亚洲一区二区在线观看视频| 91麻豆精品国产自产在线观看一区 | 欧美羞羞免费网站| 日本va欧美va欧美va精品| 国产性天天综合网| 日本道在线观看一区二区| 蜜桃视频在线观看一区二区| 国产精品日韩成人| 91麻豆精品国产无毒不卡在线观看 | 色综合视频在线观看| 午夜视频一区二区三区| 亚洲精品一线二线三线| 色综合久久中文综合久久97| 天天爽夜夜爽夜夜爽精品视频| 久久蜜臀中文字幕| 欧美三级日韩在线| 福利91精品一区二区三区| 亚洲一区二区三区精品在线| 久久一区二区三区四区| 欧美视频在线不卡| 成人看片黄a免费看在线| 日韩av电影免费观看高清完整版 | 欧美一区二区三区在线电影| 国产成人av电影| 亚洲成人动漫av| 国产精品久久久久永久免费观看 | 国产日本欧洲亚洲| 日韩欧美一区电影| 在线视频欧美区| 国产高清在线精品| 蜜桃久久av一区| 亚洲成a人片在线观看中文| 中文字幕亚洲在| 国产天堂亚洲国产碰碰| 日韩欧美国产一区二区三区| 91在线视频18| 成人精品高清在线| 国产精品资源网站| 极品尤物av久久免费看| 日本不卡一二三区黄网| 亚洲一区在线观看网站| 亚洲精品乱码久久久久久 | 午夜久久久影院| 亚洲欧美偷拍另类a∨色屁股| 久久一区二区三区国产精品| 欧美电影免费观看高清完整版在线| 欧美亚男人的天堂| 欧美性猛片xxxx免费看久爱| 色天天综合久久久久综合片| 91免费看视频| 91麻豆自制传媒国产之光| av毛片久久久久**hd| thepron国产精品| 成人黄色免费短视频| 成人性生交大片免费看中文 | 欧美性做爰猛烈叫床潮| 一本色道a无线码一区v| 91蝌蚪porny成人天涯| 91年精品国产| 欧美亚洲综合另类| 欧美精品一二三| 欧美高清精品3d| 欧美一区二区在线免费播放| 欧美夫妻性生活| 日韩一区二区三区在线观看| 日韩欧美国产不卡| 久久蜜臀精品av| 亚洲色图一区二区| 玉足女爽爽91| 日韩成人dvd| 国产精品1区二区.| 一本一道久久a久久精品综合蜜臀| 日本高清无吗v一区| 69成人精品免费视频| 精品少妇一区二区三区在线视频| 亚洲精品在线网站| 国产精品高潮久久久久无| 亚洲影视在线观看| 久久99久久精品| 成熟亚洲日本毛茸茸凸凹| 色婷婷精品大在线视频| 9191成人精品久久| 26uuu成人网一区二区三区| 国产精品色婷婷| 亚洲6080在线| 国产成人一级电影| 欧美日韩你懂得| 国产视频不卡一区| 视频一区二区三区中文字幕| 精彩视频一区二区三区| 色婷婷综合中文久久一本| 日韩情涩欧美日韩视频| 亚洲欧洲成人自拍| 麻豆专区一区二区三区四区五区| 国产福利一区在线观看| 欧美日韩在线播放| 国产三级欧美三级日产三级99| 亚洲午夜久久久| 成人小视频在线| 欧美福利一区二区| 亚洲欧洲国产日韩| 国产精品一区二区男女羞羞无遮挡| 色综合亚洲欧洲| 久久精品一区二区三区不卡牛牛 | 亚洲国产精品麻豆| 韩国理伦片一区二区三区在线播放| 色综合视频在线观看| 国产亚洲人成网站|