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

📄 mjmodule.java

📁 麻将程序
💻 JAVA
字号:
package com.newpalm.game.mj.server;

import com.newpalm.game.framework.ServerModule;
import com.newpalm.game.mj.client.MJClient;
import com.newpalm.game.mj.share.GameState;
import com.newpalm.game.mj.share.MJCard;
import com.newpalm.game.mj.share.MJEventObject;
import com.newpalm.game.mj.share.PlayerCardModule;

/**
*
* To change the template for this generated type comment go to
* Window>Preferences>Java>Code Generation>Code and Comments
* @author liyamin
*/
public class MJModule implements ServerModule {

        /**
         * @link aggregationByValue
         */
        private CardModule cardModule;

        private GameState gameState;

        private MJClient[] onlineClients = new MJClient[4];

        private MJEventObject[] passResults = new MJEventObject[4];

        public MJModule() {
                super();
                gameState = new GameState();
                cardModule = new CardModule();
        }

        public int getBankerNo() {
                return gameState.getBankerSeatNo();
        }

        public int getCurrentPlayerNo() {
                return cardModule.getCurrentPlayerNo();
        }

        public int getLastPlayerNo() {
                return cardModule.getLastPlayerNo();
        }

        /**
         * @return
         */
        public GameState getGameState() {
                return gameState;
        }

        /**
         * @param i
         */
        public void setGameState(GameState i) {
                gameState = i;
        }

        /**
         * @return
         */
        public CardModule getCardModule() {
                return cardModule;
        }

        /* (non-Javadoc)
         * @see java.lang.Object#toString()
         */
        public String toString() {
                String str = "Card Module:\n";
                str += getCardModule().toString();
                return str;
        }

        /**
         * @param playerNo
         * @return
         */
        public PlayerCardModule getPlayerCardModule(int playerNo) {
                return cardModule.getPlayerCardModule(playerNo);
        }

        /**
         * @return
         */
        public MJCard getLastDroppedCard() {
                return cardModule.getLastDroppedCard();
        }

        public int countLeftCard() {
                return getCardModule().countLeftCard();
        }

        public MJClient getOnlineClient(int n) {
                return onlineClients[n];
        }

        public void setOnlineClient(int n, MJClient clt) {
                onlineClients[n] = clt;
        }

        public int getClientPlayerNo(Object cid) {
                int i;
                for (i = 0; i < 4; i++) {
                        if (getOnlineClient(i) == null) continue;
                        if ( cid.equals(getOnlineClient(i).getCid()) ) {
                                return i;
                        }
                }
                return -1;
        }

        // Pass result methods
        public MJEventObject getPassResult(int n) {
                return passResults[n];
        }

        public void setPassResult(int n, MJEventObject result) {
                passResults[n] = result;
        }

        public void clearPassResult() {
                for (int i = 0; i < 4; i++) {
                        setPassResult(i, null);
                }
        }

        public int getPassResultCount() {
                int rt = 0;
                for (int i = 0; i < 4; i++) {
                        if (getPassResult(i) != null)
                                rt++;
                }
                return rt;
        }

        /**
         *
         * @param first
         * @return -1, all pass, else (eat < peng|gang|an_gang < hu)
         */
        public int getPriotityPassNo(int first) {
                int rt = -1;
                for (int i = first; i < first + 4 -1; i++) {
                        MJEventObject result = getPassResult(i %4);
                        if (result == null) continue;
                        if (result.getEventId() == MJEventObject.HU) {
                                return i % 4;
                        }

                        if (result.getEventId() == MJEventObject.AN_GANG ||
                                result.getEventId() == MJEventObject.GANG ||
                                result.getEventId() == MJEventObject.PENG) {
                                rt = i;
                        }
                        if (result.getEventId() == MJEventObject.EAT &&
                                i == first ) {
                                rt = i;
                        }
//			if (result.getEventId() == MJEventObject.PASS &&
//				rt == -1) {
//				rt = i;
//			}
                }
                return rt%4;
        }
}

⌨️ 快捷键说明

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