91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

資源簡介

基于socket的聯網五子棋游戲源碼,好東西!!!

資源截圖

代碼片段和文件信息

package?com.j2medev.chapter5;

import?java.util.ArrayList;
import?java.util.List;

public?class?GoBangRoom?implements?Room?{
????
????private?List?players?=?new?ArrayList();
????
????public?GoBangRoom()?{
????}
????//最多容納兩個用戶
????public?int?maxPlayer()?{
????????return?2;
????}
????
????public?boolean?canJoin()?{
????????return?players.size()<2;
????}
????
????//添加一個用戶,如果達到兩個用戶則開始游戲
????public?synchronized?void?addPlayer(Session?s)?{
????????players.add(s);
????????s.setSessionId(players.size());
????????s.setRoom(this);
????????s.start();
????????
????????if(players.size()==?maxPlayer()){
????????????//開始游戲,最先加入的用戶先走
????????????startGame(1);
????????}
????}
????
????private?void?clean(){
????????for(int?i?=?0;iyers.size();i++){
????????????try{
????????????????((Session)players.get(i)).join();
????????????}catch(InterruptedException?ex){
????????????????ex.printStackTrace();
????????????}
????????}
????????for(int?i?=?0;iyers.size();i++){
????????????((Session)players.get(i)).closeSession();
????????}
????????//等session結束后,清除房間
????????players.clear();
????????System.out.println(“the?room?is?clear“);
????}
????
????public?void?startGame(int?id){
????????//休眠1s
????????try?{
????????????Thread.sleep(1000);
????????}?catch?(InterruptedException?ex)?{
????????????ex.printStackTrace();
????????}
????????//讓客戶端起動
????????for(int?i?=?0;iyers.size();i++){
????????????((Session)players.get(i)).startGame(id);
????????}
????}
????//代理客戶端發送過來的數據
????public?synchronized?void?delegate(int?data)?{
????????int?type?=?(data&0xFF000000)>>24;
????????int?id?=?(data&0x00FF0000)>>16;
????????for(int?i=0;iyers.size();i++){
????????????Session?s?=?(Session)players.get(i);
????????????if(type?==?Protocol.QUIT?||?type?==?Protocol.WIN){
????????????????try?{
????????????????????//發送給所有用戶
????????????????????Thread.sleep(500);
????????????????????s.send(data);
????????????????}?catch?(InterruptedException?ex)?{
????????????????????ex.printStackTrace();
????????????????}

????????????}else?if(type?==?Protocol.STEP){
????????????????if(s.getSessionId()?!=?id){
????????????????????//對手走了一步,發給另一個用戶
????????????????????s.send(data);
????????????????}
????????????}
????????}
????????//準備清理房間了
????????if(type?==?Protocol.QUIT?||?type?==?Protocol.WIN){
????????????new?Thread(){
????????????????public?void?run(){
????????????????????clean();
????????????????}
????????????}.start();
????????}
????}
}

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件????????510??2010-08-29?10:01??Protocol.java

?????文件????????265??2010-08-29?10:01??Room.java

?????文件???????3014??2010-08-29?10:01??Session.java

?????文件???????2618??2010-08-29?10:01??GoBangRoom.java

?????文件???????1939??2010-08-29?10:01??GoBangServer.java

-----------?---------??----------?-----??----

?????????????????8346????????????????????5


評論

共有 條評論