📄 tablecanvas.java
字号:
// case 11:
// g.setColor(0xffffff);
// g.drawString("可惜哟,按OK键继续",getWidth()/2,getHeight()-30,17);
// break;
case 12:
g.setColor(0xffffff);
g.drawString("按OK键或5键继续",getWidth()/2,getHeight()-30,17);
break;
case 13:
g.setColor(0xffffff);
if(m_aPlayers[0].getPoint() > 0&&m_aPlayers[1].getPoint() > 0)
g.drawString("按OK键或5键继续",getWidth()/2,getHeight()-30,17);
else
if(m_aPlayers[0].getPoint() > 0&&m_aPlayers[1].getPoint() <= 0)
{
g.drawString("你的对手输光了",getWidth()/2,getHeight()-36,17);
g.drawString("按OK键或5键回主菜单",getWidth()/2,getHeight()-18,17);
}
else
if(m_aPlayers[1].getPoint() > 0&&m_aPlayers[0].getPoint() <= 0)
{
g.drawString("你输光了",getWidth()/2,getHeight()-36,17);
g.drawString("按OK键或5键回主菜单",getWidth()/2,getHeight()-18,17);
}
default:
break;
}
if(pause)
{
g.setColor(0);
g.fillRect(0,0,getWidth(),getHeight());
g.setColor(0xffffff);
g.drawString("暂停中……",getWidth()/2,getHeight()/2,17);
}
lock=false;
}
private void drawDraw(Graphics g)
{
ImgUtil.drawImage(g, m_iDraw, (getWidth() - m_iDraw.getWidth()) / 2, (getHeight() - m_iDraw.getHeight()) / 2);
Font font = Font.getFont(32, 1, 16);
g.setFont(font);
int i = (getWidth() - font.stringWidth("\u6D41\u5C40")) / 2;
int j = (getHeight() - font.getHeight()) / 2;
ImgUtil.drawString(g, "\u6D41\u5C40", i, j);
}
private void drawMeldedForSelfKongChoice(Graphics g)
{
for(byte byte0 = 0; byte0 < m_aPlayers.length; byte0++)
{
for(byte byte1 = 0; byte1 < m_aPlayers[byte0].getMeldedCount(); byte1++)
switch(m_aPlayers[byte0].getMeldedAt(byte1).getType())
{
default:
break;
case 7: // '\007'
if(m_aPlayers[byte0].isHuman())
drawMeldedSetPongForSelfKongChoice(g, m_aPlayers[byte0], byte1);
else
drawMeldedSetPong(g, m_aPlayers[byte0], byte1);
break;
case 4: // '\004'
case 5: // '\005'
case 6: // '\006'
drawMeldedSetChow(g, m_aPlayers[byte0], byte1);
break;
}
}
}
private void drawMeldedSetPong(Graphics g, myPlayer player, byte byte0)
{
for(byte byte1 = 0; byte1 < 3; byte1++)
ImgUtil.drawImage(g, getHTileImg(player.getMeldedAt(byte0).getTileOrIndex()), Setting.MELD_X[player.getType()] - sign(player.getType()) * byte0 * 3 * 12 - sign(player.getType()) * byte1 * 12, Setting.MELD_Y[player.getType()]);
}
private void drawMeldedSetPongForSelfKongChoice(Graphics g, myPlayer player, byte byte0)
{
for(byte byte1 = 0; byte1 < 3; byte1++)
ImgUtil.drawImage(g, getHTileImg(player.getMeldedAt(byte0).getTileOrIndex()), Setting.MELD_X[player.getType()] - sign(player.getType()) * byte0 * 3 * 12 - sign(player.getType()) * byte1 * 12, Setting.MELD_Y[player.getType()] - (byte0 != player.currentChance().getTileOrIndex() || player.currentChance().getType() != 1 && player.currentChance().getType() != 3 ? 0 : 2));
}
private void drawMeldedSetChow(Graphics g, myPlayer player, byte byte0)
{
ImgUtil.drawImage(g, getHTileImg((byte)(player.getMeldedAt(byte0).getTileOrIndex() + (player.getMeldedAt(byte0).getType() != 4 ? player.getMeldedAt(byte0).getType() != 5 ? -2 : -1 : 1))), Setting.MELD_X[player.getType()] - sign(player.getType()) * byte0 * 3 * 12, Setting.MELD_Y[player.getType()]);
ImgUtil.drawImage(g, getHTileImg(player.getMeldedAt(byte0).getTileOrIndex()), Setting.MELD_X[player.getType()] - sign(player.getType()) * byte0 * 3 * 12 - sign(player.getType()) * 12, Setting.MELD_Y[player.getType()]);
ImgUtil.drawImage(g, getHTileImg((byte)(player.getMeldedAt(byte0).getTileOrIndex() + (player.getMeldedAt(byte0).getType() != 4 ? player.getMeldedAt(byte0).getType() != 5 ? -1 : 1 : 2))), Setting.MELD_X[player.getType()] - sign(player.getType()) * byte0 * 3 * 12 - sign(player.getType()) * 2 * 12, Setting.MELD_Y[player.getType()]);
}
private void drawTenForPoint(Graphics g)
{
// if(m_aPlayers[m_btHou].isTen())
// ImgUtil.drawImage(g, m_iTen, Setting.TEN_X[m_aPlayers[m_btHou].getType()], Setting.TEN_Y[m_aPlayers[m_btHou].getType()]);
}
private void drawHouTile(Graphics g)
{
ImgUtil.drawImage(g, getHTileImg(m_btHou != nextPlayer() ? m_aPlayers[m_btHou].getPickedTile() : m_aPlayers[currentPlayer()].lastDiscardedTile()), Setting.PLAYER_X[m_aPlayers[m_btHou].getType()] + sign(m_aPlayers[m_btHou].getType()) * m_aPlayers[m_btHou].getInHandCount() * 12 + sign(m_aPlayers[m_btHou].getType()) * 4, Setting.PLAYER_Y[m_aPlayers[m_btHou].getType()]);
}
private void drawInHandForMeldChoice(Graphics g)
{
for(byte byte0 = 0; byte0 < m_aPlayers.length; byte0++)
{
byte byte1 = m_aPlayers[byte0].getType();
for(byte byte2 = 0; byte2 < m_aPlayers[byte0].getInHandCount(); byte2++)
ImgUtil.drawImage(g, m_aPlayers[byte0].isHuman() ? getVTileImg(m_aPlayers[byte0].getInHandTile(byte2)) : getVCoverImg(), Setting.PLAYER_X[byte1] + sign(byte1) * byte2 * 12, Setting.PLAYER_Y[byte1] - (m_aPlayers[byte0].isHuman() ? meldChoiceShift(m_aPlayers[byte0], byte2) : 0));
}
}
private byte meldChoiceShift(myPlayer player, byte byte0)
{
int byte1 = 0;
switch(player.currentChance().getType())
{
case 4: // '\004'
byte1 = player.getInHandTile(byte0) != player.currentChance().getTileOrIndex() + 1 && player.getInHandTile(byte0) != player.currentChance().getTileOrIndex() + 2 || player.inHandPos(player.getInHandTile(byte0)) != byte0 ? 0 : 2;
break;
case 5: // '\005'
byte1 = player.getInHandTile(byte0) != player.currentChance().getTileOrIndex() - 1 && player.getInHandTile(byte0) != player.currentChance().getTileOrIndex() + 1 || player.inHandPos(player.getInHandTile(byte0)) != byte0 ? 0 : 2;
break;
case 6: // '\006'
byte1 = player.getInHandTile(byte0) != player.currentChance().getTileOrIndex() - 2 && player.getInHandTile(byte0) != player.currentChance().getTileOrIndex() - 1 || player.inHandPos(player.getInHandTile(byte0)) != byte0 ? 0 : 2;
break;
case 7: // '\007'
byte1 = player.getInHandTile(byte0) != player.currentChance().getTileOrIndex() || byte0 - player.inHandPos(player.getInHandTile(byte0)) >= 2 ? 0 : 2;
break;
case 9: // '\t'
byte1 = player.getInHandTile(byte0) != player.currentChance().getTileOrIndex() ? 0 : 2;
break;
}
return (byte)byte1;
}
private void drawMelded(Graphics g)
{
for(byte byte0 = 0; byte0 < m_aPlayers.length; byte0++)
if(m_btStatus != 13 || m_btHou == byte0)
{
for(byte byte1 = 0; byte1 < m_aPlayers[byte0].getMeldedCount(); byte1++)
switch(m_aPlayers[byte0].getMeldedAt(byte1).getType())
{
default:
break;
case 7: // '\007'
drawMeldedSetPong(g, m_aPlayers[byte0], byte1);
break;
case 4: // '\004'
case 5: // '\005'
case 6: // '\006'
drawMeldedSetChow(g, m_aPlayers[byte0], byte1);
break;
case 9: // '\t'
for(byte byte2 = 0; byte2 < 3; byte2++)
ImgUtil.drawImage(g, getHTileImg(m_aPlayers[byte0].getMeldedAt(byte1).getTileOrIndex()), Setting.MELD_X[m_aPlayers[byte0].getType()] - sign(m_aPlayers[byte0].getType()) * byte1 * 3 * 12 - sign(m_aPlayers[byte0].getType()) * byte2 * 12, Setting.MELD_Y[m_aPlayers[byte0].getType()]);
ImgUtil.drawImage(g, getHTileImg(m_aPlayers[byte0].getMeldedAt(byte1).getTileOrIndex()), Setting.MELD_X[m_aPlayers[byte0].getType()] - sign(m_aPlayers[byte0].getType()) * byte1 * 3 * 12 - sign(m_aPlayers[byte0].getType()) * 12, Setting.MELD_Y[m_aPlayers[byte0].getType()] - 5);
break;
case 8: // '\b'
for(byte byte3 = 0; byte3 < 3; byte3++)
ImgUtil.drawImage(g, m_btStatus != 10 && (m_btStatus != 11 && m_btStatus != 12 && m_btStatus != 13 || byte0 != m_btHou) ? getHCoverImg() : getHTileImg(m_aPlayers[byte0].getMeldedAt(byte1).getTileOrIndex()), Setting.MELD_X[m_aPlayers[byte0].getType()] - (sign(m_aPlayers[byte0].getType()) * byte1 * 3 * 12 + sign(m_aPlayers[byte0].getType()) * byte3 * 12), Setting.MELD_Y[m_aPlayers[byte0].getType()]);
ImgUtil.drawImage(g, !m_aPlayers[byte0].isHuman() && m_btStatus != 10 && (m_btStatus != 11 && m_btStatus != 12 && m_btStatus != 13 || byte0 != m_btHou) ? getHCoverImg() : getHTileImg(m_aPlayers[byte0].getMeldedAt(byte1).getTileOrIndex()), Setting.MELD_X[m_aPlayers[byte0].getType()] - sign(m_aPlayers[byte0].getType()) * 3 * byte1 * 12 - sign(m_aPlayers[byte0].getType()) * 12, Setting.MELD_Y[m_aPlayers[byte0].getType()] - 5);
break;
}
}
}
private void drawPickedForSelfKongChoice(Graphics g)
{
byte byte0 = m_aPlayers[currentPlayer()].getType();
ImgUtil.drawImage(g, getVTileImg(m_aPlayers[currentPlayer()].getPickedTile()), Setting.PLAYER_X[byte0] + sign(byte0) * m_aPlayers[currentPlayer()].getInHandCount() * 12 + sign(byte0) * 4, Setting.PLAYER_Y[byte0] - (m_aPlayers[currentPlayer()].currentChance().getType() != 0 && m_aPlayers[currentPlayer()].currentChance().getType() != 1 ? 0 : 2));
}
private void drawInHandForSelfKongChoice(Graphics g)
{
for(byte byte0 = 0; byte0 < m_aPlayers.length; byte0++)
{
for(byte byte1 = 0; byte1 < m_aPlayers[byte0].getInHandCount(); byte1++)
ImgUtil.drawImage(g, m_aPlayers[byte0].isHuman() ? getVTileImg(m_aPlayers[byte0].getInHandTile(byte1)) : getVCoverImg(), Setting.PLAYER_X[m_aPlayers[byte0].getType()] + sign(m_aPlayers[byte0].getType()) * byte1 * 12, Setting.PLAYER_Y[m_aPlayers[byte0].getType()] - (m_aPlayers[byte0].isHuman() ? selfKongChoiceShift(m_aPlayers[byte0], byte1) : 0));
}
}
private byte selfKongChoiceShift(myPlayer player, byte byte0)
{
int byte1 = 0;
switch(player.currentChance().getType())
{
case 0: // '\0'
case 2: // '\002'
byte1 = player.getInHandTile(byte0) != player.getInHandTile(player.currentChance().getTileOrIndex()) ? 0 : 2;
break;
case 3: // '\003'
byte1 = player.getInHandTile(byte0) != player.getMeldedAt(player.currentChance().getTileOrIndex()).getTileOrIndex() ? 0 : 2;
break;
}
return (byte)byte1;
}
private void drawHead(Graphics g)
{
g.setColor(255,255,255);
g.fillRect(10,10,156,150);
g.setColor(0,0,0);
byte byte0 = (byte)(m_aPlayers[m_btHou].getFanTileCount() + m_btFanCount);
int i = byte0 != 6 && byte0 != 7 ? byte0 != 8 && byte0 != 9 ? byte0 <= 9 || byte0 >= 13 ? byte0 <= 12 || byte0 >= 17 ? byte0 <= 16 ? getPower(2, byte0) * (m_aPlayers[m_btHou].isBanker() ? 360 : '\360') : m_aPlayers[m_btHou].isBanker() ? 48000 : 32000 : m_aPlayers[m_btHou].isBanker() ? 36000 : 24000 : ((int) (m_aPlayers[m_btHou].isBanker() ? 24000 : 16000)) : ((int) (m_aPlayers[m_btHou].isBanker() ? 18000 : 12000)) : m_aPlayers[m_btHou].isBanker() ? 12000 : 8000;
for(byte byte1 = 0; byte1 < m_aPlayers.length; byte1++)
{
if(refresh)
m_aPlayers[byte1].calPoint((m_btHou != byte1 ? -1 : 1) * i);
ImgUtil.drawImage(g, m_aPlayers[byte1].isHuman() ? m_iHuman : m_iHandheld, Setting.HEAD_X[m_aPlayers[byte1].getType()], Setting.HEAD_Y[m_aPlayers[byte1].getType()] + (m_aPlayers[m_btHou].isHuman() ? 0 : 40));
ImgUtil.drawString(g, (m_btHou != byte1 ? "-" : "+") + i, Setting.HEAD_X[m_aPlayers[byte1].getType()] + 42, Setting.HEAD_Y[m_aPlayers[byte1].getType()] + 3 + (m_aPlayers[m_btHou].isHuman() ? 0 : 40));
ImgUtil.drawString(g, "" + m_aPlayers[byte1].getPoint(), Setting.HEAD_X[m_aPlayers[byte1].getType()] + 42, Setting.HEAD_Y[m_aPlayers[byte1].getType()] + 18 + (m_aPlayers[m_btHou].isHuman() ? 0 : 40));
m_RichRMS.put(m_aPlayers[byte1].isHuman() ? "HUMAN_POINT" : "HANDHELD_POINT", "" + m_aPlayers[byte1].getType());
}
refresh=false;
}
private int getPower(int i, int j)
{
return j != 0 ? getPower(i, j - 1) * i : 1;
}
private void drawFanTilesForPoint(Graphics g)
{
// Vector vector = m_Wall.getFanTiles(m_aPlayers[m_btHou].isTen());
// for(byte byte0 = 0; byte0 < vector.size(); byte0++)
// ImgUtil.drawImage(g, getHTileImg(((Byte)vector.elementAt(byte0)).byteValue()), Setting.FAN_TILES_X[m_aPlayers[m_btHou].getType()] + byte0 * 14, Setting.FAN_TILES_Y[m_aPlayers[m_btHou].getType()]);
g.setColor(0, 0, 0);
// ImgUtil.drawString(g, "X", Setting.FAN_TILES_X[m_aPlayers[m_btHou].getType()] + vector.size() * 14 + 2, Setting.FAN_TILES_Y[m_aPlayers[m_btHou].getType()] + 2);
// ImgUtil.drawString(g, "" + m_aPlayers[m_btHou].getFanTileCount(), Setting.FAN_TILES_X[m_aPlayers[m_btHou].getType()] + (vector.size() + 1) * 14, Setting.FAN_TILES_Y[m_aPlayers[m_btHou].getType()] + 2);
// ImgUtil.drawString(g, "+", Setting.FAN_TILES_X[m_aPlayers[m_btHou].getType()] + (vector.size() + 1) * 14 + 30, Setting.FAN_TILES_Y[m_aPlayers[m_btHou].getType()] + 2);
// ImgUtil.drawString(g, m_btFanCount+"番", Setting.FAN_TILES_X[m_aPlayers[m_btHou].getType()] + (vector.size() + 1) * 14 + 50, Setting.FAN_TILES_Y[m_aPlayers[m_btHou].getType()] + 2);
}
private void drawInHandForPoint(Graphics g)
{
for(byte byte0 = 0; byte0 < m_aPlayers[m_btHou].getInHandCount(); byte0++)
ImgUtil.drawImage(g, getHTileImg(m_aPlayers[m_btHou].getInHandTile(byte0)), Setting.PLAYER_X[m_aPlayers[m_btHou].getType()] + sign(m_aPlayers[m_btHou].getType()) * byte0 * 12, Setting.PLAYER_Y[m_aPlayers[m_btHou].getType()]);
}
private void drawFanTilesForHou(Graphics g)
{
byte byte0 = m_Wall.getKongCount();
for(byte byte1 = 0; byte1 < 14; byte1++)
//if(byte0 <= 0 || byte0 / 2 + (byte0 % 2 != 1 ? -1 : 7) != byte1)
//ImgUtil.drawImage(g, byte1 >= 2 && (byte1 <= 2 + byte0 || byte1 >= 9) && byte1 <= 9 + byte0 && (byte1 <= 8 || byte1 >= 10 + byte0 || m_aPlayers[m_btHou].isTen()) ? getHTileImg(m_Wall.getTile(byte1 >= 7 ? (short)(134 - (byte1 - 7) * 2) : (short)(135 - byte1 * 2))) : getHCoverImg(), 46 + (byte1 % 7) * 12, 68 + (byte1 >= 2 && (byte1 <= 2 + byte0 || byte1 >= 9) && byte1 <= 9 + byte0 ? byte1 >= 7 ? 5 : -10 : (byte1 / 7) * -5));
ImgUtil.drawImage(g, getHCoverImg(), 46 + (byte1 % 7) * 12, 68 + (byte1 / 7) * -5);
byte byte2 = m_aPlayers[0].getType();
ImgUtil.drawImage(g, m_iWindBase, Setting.WINDBASE_X[byte2], Setting.WINDBASE_Y[byte2]);
ImgUtil.drawImage(g, getWindImg(m_Wall.getWind(), byte2), Setting.WINDBASE_X[byte2] + 2, Setting.WINDBASE_Y[byte2] + 2);
}
private void drawInHandForHou(Graphics g)
{
for(byte byte0 = 0; byte0 < m_aPlayers.length; byte0++)
{
for(byte byte1 = 0; byte1 < m_aPlayers[byte0].getInHandCount(); byte1++)
ImgUtil.drawImage(g, byte0 != m_btHou ? m_aPlayers[byte0].isHuman() ? getVTileImg(m_aPlayers[byte0].getInHandTile(byte1)) : getVCoverImg() : getHTileImg(m_aPlayers[byte0].getInHandTile(byte1)), Setting.PLAYER_X[m_aPlayers[byte0].getType()] + sign(m_aPlayers[byte0].getType()) * byte1 * 12, Setting.PLAYER_Y[m_aPlayers[byte0].getType()]);
}
}
private void drawDrew(Graphics g)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -