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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? desk.java

?? 拱豬手機(jī)網(wǎng)絡(luò)游戲
?? JAVA
字號(hào):
import java.util.Vector;

public class Desk
{
    private int NUM = 4;// 玩家數(shù)量
    private int ID;// 桌子ID
    private Player[] players;// 玩家數(shù)組
    private Score scoreBanker = null;
    private Vector deskCards;
    private Vector tempRound;
    private Card[][] cards;
    private Card[][] scores;
    public String[] playerName = new String[NUM];
    private Player banker = null; // 莊家
    private int bankerID = 0; // 莊家ID
    private int game = 0; // 游戲局?jǐn)?shù)
    private int roundNum = 0;// 輪數(shù)
    private int score = 0;// 分?jǐn)?shù) 暫時(shí)沒用到
    Server server;

    public Desk()
    {
        game = 0;
        roundNum = 0;
        scoreBanker = new Score();
        deskCards = new Vector();
        tempRound = new Vector(4);
        server = new Server();
        players = new Player[NUM];

        for (int i = 0; i < NUM; i++)
        {
            playerName[i] = "p" + i;
            players[i] = null;
        }
        banker = null;
        bankerID = 0;
        cards = new Card[NUM][13];
        scores = new Card[NUM][14];
        init();
    }

    /**
     * 初始化***********
     */
    public void init()
    {
        banker = null; // 莊家
        bankerID = 0;
        game = 0;
        reset();
    }

    public void reset()
    {
        deskCards.clear();
        tempRound.clear();
        for (int i = 0; i < 52; i++)
        {
            deskCards.add(i + "");
        }
        for (int i = 0; i < NUM; i++)
        {
            if (players[i] != null)
                players[i].reset();
        }
        cards = new Card[NUM][13];
        scores = new Card[NUM][14];
        roundNum = 0;
    }

    public void start()
    {// 桌面全局開始
        reset();
        sendCards();
        startBanker();
    }

    /** **************************以下是業(yè)務(wù)方法************************************** */

    public void sendCards()// 發(fā)牌
    {
        String message = "";
        int rand = -1;
        int cardNum = -1;
        for (int i = 0; i < NUM; i++)// 發(fā)牌
        {
            message = "";
            for (int j = 0; j < 13; j++)
            {
                rand = (int) (Math.random() * deskCards.size() % deskCards
                        .size());
                cardNum = Integer.parseInt((String) deskCards.remove(rand));
                if (cardNum == 0)
                {
                    banker = players[i];
                    bankerID = i;
                }
                cards[i][j] = new Card(cardNum);
                message += "," + cards[i][j].getValue();
            }
            sendMessage(players[i], "deliver" + message);
        }
    }

    public void startBanker()
    {
        sendMessageToAll("banker:" + bankerID);
        sendMessage(banker, "turn");
    }

    public void tryShow(String message)
    {
        int nextID;
        int index0 = message.indexOf(":");
        int index1 = message.indexOf(",");
        int seat = Integer.parseInt(message.substring(index0 + 1, index1));
        int card = Integer.parseInt(message.substring(index1 + 1));
        tempRound.add(new Card(card));

        for (int i = 0; i < cards[seat].length; i++)
        {
            if (cards[seat][i] != null && cards[seat][i].getValue() == card)
            {
                cards[seat][i] = null;
                break;
            }
        }
        sendMessageToOther(players[seat], message);
        if ((nextID = check(seat)) == -1)
            sendMessage(players[(seat + 1) % NUM], "turn");
        else if (nextID != -2)
            sendMessage(players[(nextID + seat + 1) % NUM], "turn");
    }

    private int check(int seat)
    {
        int maxID = -1;
        if (tempRound.size() < 4)
        {
            return -1;
        }

        Card max = null;

        for (int i = 0; i < tempRound.size(); i++)
        {
            Card c = (Card) tempRound.elementAt(i);
            if (i == 0)
            {
                max = c;
                maxID = i;
            }
            if ((c.getSuitIndex() == max.getSuitIndex())
                    && (c.getCardIndex() > max.getCardIndex()))
            {
                max = c;
                maxID = i;
            }
        }

        for (int i = 0; i < tempRound.size(); i++)
        {
            Card c = (Card) tempRound.elementAt(i);

            if ((c.getSuitIndex() == 3)
                    || ((c.getSuitIndex() == 2) && (c.getCardIndex() == 10)))
            {
                score(c, (maxID + seat + 1) % NUM);
            }
        }
        roundNum++;
        if (roundNum >= 13)
        {
            roundNum = 0;
            gameover();
            maxID = -2;
        }
        tempRound.clear();
        return maxID;
    }

    public void score(Card c, int ID)
    {
        if ((c.getSuitIndex() == 2) && (c.getCardIndex() == 10))
        {
            scores[ID][13] = c;
        }
        else
        {
            scores[ID][c.getCardIndex()] = c;
        }
    }

    private void gameover()
    {
        scoreBanker.set(this);
        String message = "GameOver";
        for (int i = 0; i < NUM; i++)
        {
            for (int j = 0; j < scores[i].length; j++)
            {
                if (scores[i][j] != null)
                    message += "," + scores[i][j].getValue();
                else
                    message += ",-1";
            }
        }
        for (int i = 0; i < NUM; i++)
            message += ":" + scoreBanker.get(playerName[i]);
        sendMessageToAll(message);
    }

    public int getScore(int seat)
    {
        int rtn = 0;

        for (int i = 0; i < scores[seat].length; i++)
        {
            if (scores[seat][i] != null)
            {
                rtn = (i >= 13) ? (rtn + 13) : rtn + 1;
            }
        }
        return rtn;
    }

    /** **************************以上是業(yè)務(wù)方法************************************** */
    public int getID()
    {
        return ID;
    }

    public void setID(int id)
    {
        ID = id;
    }

    public Player getBanker()
    {
        return banker;
    }

    public void setBanker(Player banker)
    {
        this.banker = banker;
    }

    public int getGame()
    {
        return game;
    }

    public boolean isReady() // 本桌是否坐滿,并且都開始
    {
        for (int i = 0; i < NUM; i++)
        {
            if (players[i] == null)
                return false;
            else if (!players[i].isStart())
                return false;
        }
        return true;
    }

    public boolean isEmpty(int pos)
    {// 座號(hào)pos是否空
        if (pos >= NUM)
            return false;
        return players[pos] == null;
    }

    public int getPlayerSeat(Player p) // 返回玩家座位
    {
        for (int i = 0; i < NUM; i++)
        {
            if (players[i] == null)
                continue;
            if (players[i].equals(p))
                return i;
        }
        return -1;
    }

    public void setPlayer(int pos, Player n)
    {// 設(shè)定玩家n坐在pos座位上
        if (pos >= NUM)
            return;
        for (int i = 0; i < NUM; i++)
            if (players[i]!=null&&players[i].equals(n))
                return;
        players[pos] = n;
    }
    
    public int getBankerID()
    {
        return bankerID;
    }

    public int getPlayersCounter()
    {// 獲得玩家總數(shù)
        return NUM;
    }

    public Player[] getPlayers()
    {
        return players;
    }

    public void removePlayer(Player p)
    {// 移除玩家p
        for (int i = 0; i < NUM; i++)
        {
            if (players[i] == null)
                continue;
            else if (players[i].equals(p))
                players[i] = null;
        }
    }

    public void sendMessageToAll(String mes)
    {
        for (int i = 0; i < NUM; i++)
            if (players[i] != null)
                sendMessage(players[i], mes);
    }

    public void sendMessageToOther(Player player, String message)
    {
        for (int i = 0; i < NUM; i++)
        {
            if (players[i] != null && !players[i].equals(player))
                sendMessage(players[i], message);
        }
    }

    public void sendMessage(Player p, String m)
    {
        server.sendMessage(p, m);
    }

    public void sendBankerInfo()
    {
        sendMessageToAll("bankerInfo:" + bankerID);
    }

    public void sendScoreInfo()
    {
        sendMessageToAll("scoreInfo:" + score);
    }
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美va日韩va| 欧美电影免费观看高清完整版| 亚洲综合成人网| 久久综合久久综合久久综合| 欧美在线小视频| 成人免费视频视频| 日本强好片久久久久久aaa| 亚洲欧美日韩国产成人精品影院| 欧美一区二区三区视频在线| 在线精品国精品国产尤物884a| 国产精品性做久久久久久| 免费一级片91| 午夜欧美电影在线观看| 又紧又大又爽精品一区二区| 国产精品美女久久久久aⅴ国产馆 国产精品美女久久久久av爽李琼 国产精品美女久久久久高潮 | 一本大道av伊人久久综合| 国产一区二区成人久久免费影院| 亚洲国产精品尤物yw在线观看| 国产精品久99| 国产亚洲精品久| 精品国产乱码久久久久久牛牛| 欧美日韩aaaaaa| 在线视频国内自拍亚洲视频| a亚洲天堂av| 91精品免费在线| 色综合中文字幕| www.日韩大片| 国产精品888| 国产真实精品久久二三区| 免费不卡在线视频| 日韩电影免费一区| 天天影视涩香欲综合网| 亚洲地区一二三色| 亚洲国产精品视频| 亚洲mv在线观看| 亚洲大片一区二区三区| 亚洲第一搞黄网站| 五月天一区二区三区| 亚洲国产精品一区二区尤物区| 亚洲一线二线三线视频| 亚洲与欧洲av电影| 偷拍亚洲欧洲综合| 婷婷夜色潮精品综合在线| 五月婷婷欧美视频| 蜜臀av一区二区| 麻豆精品蜜桃视频网站| 久久99精品久久久久久国产越南| 日韩精彩视频在线观看| 免费精品视频在线| 国产在线精品免费| 波多野结衣中文字幕一区| eeuss鲁一区二区三区| 色婷婷一区二区三区四区| 欧美三级资源在线| 91精品国产综合久久蜜臀| 日韩欧美一区二区三区在线| 久久久青草青青国产亚洲免观| 国产欧美va欧美不卡在线| 亚洲人吸女人奶水| 婷婷成人综合网| 国产一区二区成人久久免费影院 | 国产欧美一区二区三区在线老狼| 久久久久国产精品厨房| 亚洲欧美偷拍另类a∨色屁股| 亚洲第四色夜色| 紧缚奴在线一区二区三区| 成人一道本在线| 欧美午夜免费电影| 精品日韩一区二区| 国产精品久久福利| 视频一区中文字幕| 高清在线不卡av| 欧美日韩在线播放三区四区| 精品久久一区二区| 亚洲视频在线观看一区| 日韩和欧美一区二区| 国产精品一区二区91| 欧美在线看片a免费观看| 欧美大白屁股肥臀xxxxxx| 亚洲国产精品激情在线观看| 亚洲一区二区在线视频| 国产曰批免费观看久久久| 在线欧美小视频| 精品成人免费观看| 亚洲综合精品自拍| 国产激情91久久精品导航 | 蜜臀av一区二区在线免费观看 | 成人动漫视频在线| 欧美精品丝袜中出| 国产精品视频看| 日韩av网站在线观看| 99视频在线精品| 精品久久久网站| 亚洲最大的成人av| 国产sm精品调教视频网站| 在线91免费看| 亚洲男女一区二区三区| 国产一区二区看久久| 91精品国产综合久久香蕉麻豆| 亚洲视频在线一区| 豆国产96在线|亚洲| 日韩一级大片在线| 亚洲国产欧美在线人成| 成人国产一区二区三区精品| 日韩精品中文字幕在线不卡尤物 | 日本中文字幕一区| 色狠狠综合天天综合综合| 久久久精品人体av艺术| 日韩电影在线一区二区三区| 91农村精品一区二区在线| 久久久精品天堂| 激情五月播播久久久精品| 欧美精品免费视频| 亚洲国产精品一区二区尤物区| www.综合网.com| 国产欧美日韩在线| 极品少妇一区二区| 欧美人与性动xxxx| 亚洲国产欧美另类丝袜| 色又黄又爽网站www久久| 中文字幕日本乱码精品影院| 国产精品夜夜嗨| 精品国产亚洲在线| 狠狠色丁香久久婷婷综| 欧美电视剧在线看免费| 免费成人在线播放| 精品美女一区二区三区| 人人狠狠综合久久亚洲| 884aa四虎影成人精品一区| 亚洲国产va精品久久久不卡综合| 91猫先生在线| 亚洲色图在线视频| 91片在线免费观看| 亚洲最大的成人av| 欧美亚洲国产一区在线观看网站| 亚洲乱码国产乱码精品精98午夜| 99国产一区二区三精品乱码| 中文字幕一区在线观看| 色综合久久精品| 亚洲曰韩产成在线| 制服丝袜av成人在线看| 日本欧美肥老太交大片| 欧美一区二区二区| 狠狠色综合播放一区二区| 久久久国产午夜精品| av在线播放不卡| 亚洲精品亚洲人成人网| 欧美午夜免费电影| 奇米综合一区二区三区精品视频 | 国产精品伦理一区二区| 99视频精品全部免费在线| 亚洲激情一二三区| 4438x亚洲最大成人网| 激情综合网av| 国产精品成人免费精品自在线观看| 99在线视频精品| 午夜久久久久久| 久久综合色播五月| 成人a区在线观看| 一区二区三区欧美视频| 欧美日韩欧美一区二区| 免费观看91视频大全| 久久精品亚洲国产奇米99| av电影在线不卡| 午夜国产精品一区| 久久久影视传媒| 日本伦理一区二区| 奇米影视一区二区三区| 久久久噜噜噜久噜久久综合| 91蜜桃视频在线| 欧美aaaaa成人免费观看视频| 国产清纯在线一区二区www| 日本韩国一区二区三区视频| 久久成人久久爱| 国产精品高潮呻吟| 欧美一区二区三区免费视频| 国产精品一区二区久久精品爱涩 | 欧美日韩高清影院| 国产成人在线观看免费网站| 一区二区三区美女视频| 久久久久久久久97黄色工厂| 色先锋aa成人| 国产中文字幕精品| 午夜a成v人精品| 1024成人网色www| 久久综合色综合88| 欧美日韩久久一区| 99re成人在线| 国产精品77777竹菊影视小说| 夜夜嗨av一区二区三区四季av| 亚洲精品一线二线三线无人区| 91黄色小视频| 成人听书哪个软件好| 美女在线视频一区| 一区二区三区在线视频观看58 | 亚洲欧洲日韩一区二区三区| 日韩欧美一区二区视频| 99re这里只有精品首页| 国产高清久久久久| 爽好久久久欧美精品|