📄 scoremanager.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 + -