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

📄 scoremanager.java

📁 DoCoMo 手机Java源码 -- Game For Cricket
💻 JAVA
字号:

public class ScoreManager {
	private RoundTitle					title      = null;
	
	private int                         playerCnt  = 0;
	private RoundPlayer[]               player     = null;
	
	private int                         panelInput = -1;

	public ScoreManager(RoundTitle rdTitle) {
		this.title = rdTitle;
	}
	
	public void initialize() {
		playerCnt = title.getPlayerCount();
		player    = new RoundPlayer[playerCnt];
		
		for (int i = 0; i < playerCnt; i++) {
			// get player name
			String name = title.getPlayerName(i);
			if ( name.length() <= 0 ) {
				name = ""+(i+1);
			}
			// new player.
			player[i] = new RoundPlayer(i, name);
			//System.out.println(player[i].getResult("winner"));
		}
	}
	
	public String getPlayerName(int index) {
		if ( index < 0 || index >= playerCnt ) {
			return ""+(index+1);
		}
		
		return player[index].getName();
	}
	
	public int getPlayerRound(int index) {
		if ( index < 0 || index >= playerCnt ) {
			return index;
		}
		
		return player[index].getCurRound();
	}
	
	public int getWinnerPlayer() {
		int    winner = -1;
		int    score1 = 0;
		int    score2 = 0;
		
		for (int i = 0; i < playerCnt; i++) {
			score1 = player[i].getScoreCnt();
			if ( score1 > 0 ) {
				if ( score1 > score2 ) {
					winner = i;
					score2 = score1;
				}
			}
		}
		
		return winner;
	}
	
	public String getWinnerPlayerName() {
		int winner = getWinnerPlayer();
		if ( winner < 0 ) {
			return "側偟";
		} else {
			return player[winner].getName();
		}
	}
	
	public String getCalculateAll() {
		String rstAll = "";
		int    winner = getWinnerPlayer();
		
		for (int i = 0; i < playerCnt; i++) {
			if ( winner == i) {
				rstAll += player[i].getResult(TConst.WINNER) + "\n";
			} else {
				rstAll += player[i].getResult("") + "\n";
			}
		}
		
		return rstAll;
	}
	
	public boolean valueChanged(int mark, int multi, TParameter pm) {
		if ( pm.currentUser < 0 || pm.currentUser >= playerCnt ) {
			return false;
		}
		
		pm.resetFlg();
		if ( multi == TConst.KEY_5 ) {
			player[pm.currentUser].undo( pm );
		} else if ( multi == TConst.KEY_6 ) {
			player[pm.currentUser].redo( pm );
		} else {
			player[pm.currentUser].add(mark, multi, pm );
		}
		
		return true;
	}
	
	public int getMarkStyle( TParameter pm ) {
		if ( pm.currentUser < 0 || pm.currentUser >= playerCnt ) {
			return -1;
		}
		
		return player[pm.currentUser].getStyleToDraw( pm.pos );
	}

	public int getMarkStyle( int user, int pos ) {
		if ( user < 0 || user >= playerCnt ) {
			return -1;
		}
		
		return player[user].getStyleToDraw( pos );
	}

	public int getMarkScore( TParameter pm ) {
		if ( pm.currentUser < 0 || pm.currentUser >= playerCnt ) {
			return -1;
		}
		
		return player[pm.currentUser].getScoreCnt();
	}
	
	public int getOneRoundCount( TParameter pm ) {
		if ( pm.currentUser < 0 || pm.currentUser >= playerCnt ) {
			return -1;
		}
		
		return player[pm.currentUser].getOneRound();
	}

	public void setOneRoundToZero( TParameter pm ) {
		if ( pm.currentUser < 0 || pm.currentUser >= playerCnt ) {
			return ;
		}
		
		player[pm.currentUser].setOneRound(0);
	}
	
	public int getCurrentRound( TParameter pm ) {
		if ( pm.currentUser < 0 || pm.currentUser >= playerCnt ) {
			return 1;
		}
		
		return player[pm.currentUser].getCurRound();
	}
	
	public boolean isClosable( int pos ) {
		for ( int i=0 ; i<playerCnt ; i++ ) {
			if ( player[i].getStyleToDraw(pos) < TConst.MULTIPLE_3 ) {
				return false;
			}
		}
		
		return true;
	}
	
	public boolean isGameOverByRound() {
		for ( int i=0 ; i<playerCnt ; i++ ) {
			if ( player[i].getCurRound() <= TConst.MAX_ROUND ) {
				return false;
			}
		}
		
		return true;
	}

	public int getPanelInput() {
		return panelInput;
	}

	public void setPanelInput(int panelInput) {
		this.panelInput = panelInput;
	}

	public int getPlayerCnt() {
		return playerCnt;
	}
}

⌨️ 快捷键说明

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