📄 frontend.java
字号:
if(Basketball.pFrontEndArt == null)
return false;
return true;
}
public static void UnLoadFrontEndOnlyArt()
{
System.out.println("UnloadFrontEndOnlyArt()");
win.deleteFonts();
}
void update(int time, int freq)
{
int iTmpState = m_iState;
switch(m_iState)
{
case 24 :
updateSaveGame();
break;
case 28 :
updateLoadGame();
break;
case 30 :
UpdateStartGame();
break;
case 0 :
case 1 :
case 2 :
case 3 :
endDialog();
Basketball.hMenuWnd = new FrontEnd(iTmpState + 1);
break;
case 4 :
endDialog();
Basketball.LoadFrontEndOnlyJingle();
Basketball.hMenuWnd = new FrontEnd(5);
break;
case 33 :
case 34 :
updateMarquee();
Basketball.paintAllWindows();
break;
case 41 :
case 40 :
message(0x0109, Basketball.hMenuWnd.getDlgItemFocus(), 0);
break;
case 36 :
case 35 :
case 37 :
case 38 :
case 39 :
endDialog();
Basketball.hMenuWnd = null;
System.out.println("GC Update()");
System.gc();
break;
default :
break;
}
}
private void UpdateStartGame()
{
Basketball.myCanvas.maxProgress = 16;
if(Basketball.bLoadSaveStart == false)
{
endDialog();
if(Basketball.hGameWnd != null)
{
Basketball.hGameWnd.UnLoadGameRes();
Basketball.hGameWnd.endDialog();
Basketball.hGameWnd = null;
System.gc();
System.out.println("UpdteStartGame() GC");
}
Basketball.myCanvas.progress = 0;
Basketball.LoadFrontEndOnlyJingle();
Basketball.hMenuWnd = new FrontEnd(12);
return;
}
if(Basketball.iSaveState == 0)
{
try {
Basketball.myCanvas.incrementProgress();
Basketball.UnLoadFrontEndOnlyJingle();
Basketball.myCanvas.incrementProgress();
FrontEnd.UnLoadFrontEndOnlyArt();
Basketball.myCanvas.incrementProgress();
if(Basketball.hGameWnd == null)
{
Basketball.hGameWnd = new Game((Basketball.iTeamSel == 1));
System.out.println("MAKING NEW GAME IN UPDATESTART CLASS");
}
Basketball.myCanvas.incrementProgress();
win.setFocus(Basketball.hMenuWnd);
Basketball.myCanvas.incrementProgress();
if(!Basketball.hGameWnd.LoadGameRes(Basketball.iHomeTeam, Basketball.iAwayTeam))
{
Basketball.hMenuWnd = new FrontEnd(31);
return;
}
FrontEnd.LoadFrontEndOnlyArt();
Basketball.myCanvas.incrementProgress();
Basketball.iSaveState += 4;
Basketball.myCanvas.incrementProgress();
} catch(Exception e)
{
System.out.println("MSG: " + e.getMessage());
}
}
else if(Basketball.iSaveState == 4)
{
try {
Basketball.myCanvas.incrementProgress();
FrontEnd.UnLoadFrontEndOnlyArt();
Basketball.myCanvas.incrementProgress();
System.out.println("ABOUT TO LOAD Large Res");
if(!Basketball.hGameWnd.LoadGameResLarge())
{
Basketball.hMenuWnd = new FrontEnd(31);
return;
}
win.setFocus(Basketball.hMenuWnd);
Basketball.myCanvas.incrementProgress();
FrontEnd.LoadFrontEndOnlyArt();
Basketball.myCanvas.incrementProgress();
Basketball.iSaveState += 4;
} catch(Exception e)
{
System.out.println("MSG2: " + e.getMessage());
}
}
else if(Basketball.iSaveState == 8)
{
try {
Basketball.myCanvas.incrementProgress();
endDialog();
Basketball.hMenuWnd = null;
Basketball.myCanvas.incrementProgress();
FrontEnd.UnLoadFrontEndOnlyArt();
Basketball.myCanvas.incrementProgress();
if(!Basketball.hGameWnd.LoadGameResSmall())
{
Basketball.hMenuWnd = new FrontEnd(31);
return;
}
Basketball.myCanvas.incrementProgress();
Basketball.hGameWnd.SetImages();
Basketball.myCanvas.incrementProgress();
Basketball.hGameWnd.StartGame();
Basketball.myCanvas.incrementProgress();
Basketball.myCanvas.progress = 0;
System.gc();
System.out.println("GC UpdateStartGame()");
return;
} catch(Exception e){
System.out.println("MSG3: " + e.getMessage());
}
}
}
private void updateSaveGame()
{
Basketball.myCanvas.maxProgress = 14;
if(Basketball.bLoadSaveStart == false)
{
BufferClose();
Basketball.myCanvas.progress = 0;
Basketball.hMenuWnd.endDialog();
Basketball.hMenuWnd = new FrontEnd(7);
return;
}
if(Basketball.iSaveState == 14)
{
Basketball.hGameWnd.EndSaveGame();
Basketball.myCanvas.progress = 0;
Basketball.hMenuWnd.endDialog();
Basketball.hMenuWnd = new FrontEnd(25);
}
else
{
Basketball.hGameWnd.SaveGameUpdate();
Basketball.myCanvas.incrementProgress();
}
}
private void updateLoadGame()
{
Basketball.myCanvas.maxProgress = 21;
if(Basketball.bLoadSaveStart == false)
{
BufferClose();
if(Basketball.hGameWnd != null)
{
Basketball.hGameWnd.UnLoadGameRes();
Basketball.hGameWnd.endDialog();
Basketball.hGameWnd = null;
System.gc();
System.out.println("UpdteStartGame() GC");
}
endDialog();
Basketball.myCanvas.progress = 0;
Basketball.hMenuWnd = new FrontEnd(5);
return;
}
if(Basketball.iSaveState == 0)
{
Basketball.myCanvas.incrementProgress();
if(Basketball.hGameWnd == null)
{
Basketball.hGameWnd = new Game((Basketball.iTeamSel == 1));
System.out.println("MAKING NEW GAME IN UPDATESTART CLASS");
}
win.setFocus(Basketball.hMenuWnd);
Basketball.hGameWnd.LoadGameRes(Basketball.iHomeTeam, Basketball.iAwayTeam);
Basketball.myCanvas.incrementProgress();
Basketball.hGameWnd.LoadGameResLarge();
Basketball.myCanvas.incrementProgress();
Basketball.hGameWnd.LoadGameResSmall();
Basketball.myCanvas.incrementProgress();
Basketball.hGameWnd.SetImages();
Basketball.myCanvas.incrementProgress();
Basketball.hGameWnd.UnLoadGameResSmall();
Basketball.myCanvas.incrementProgress();
Basketball.hGameWnd.StartLoadGame();
Basketball.myCanvas.incrementProgress();
Basketball.iSaveState++;
}
if(Basketball.iSaveState == 15)
{
Basketball.hGameWnd.EndLoadGame();
Basketball.hMenuWnd.endDialog();
Basketball.myCanvas.progress = 0;
Basketball.hMenuWnd = new FrontEnd(29);
}
else
{
Basketball.hGameWnd.LoadGameUpdate();
Basketball.myCanvas.incrementProgress();
}
}
public void paint(Graphics g)
{
super.paint(g);
switch(m_iState)
{
case 34 :
case 33 :
PaintOverlay(g);
PaintGameStats(g);
PaintMarquee(g);
break;
case 41 :
case 40 :
case 36 :
case 35 :
case 37 :
case 38 :
case 39 :
case 0 :
break;
case 1 :
case 2 :
case 3 :
case 4 :
break;
case 12 :
PaintMenuBackground(g);
PaintTeamLogos(g);
PaintTeamSelIcons(g);
break;
case 16 :
case 14 :
PaintMenuBackground(g);
PaintStatBars(g);
break;
case 15 :
case 13 :
PaintMenuBackground(g);
PaintSelTeamRats(g);
break;
case 11 :
PaintMenuBackground(g);
PaintTeamSel(g);
break;
case 30 :
PaintMenuBackground(g);
break;
case 28 :
case 24 :
PaintMenuBackground(g);
break;
case 18 :
case 19 :
PaintMenuBackground(g);
PaintHelpScreen(g);
break;
case 10 :
PaintMenuBackground(g);
PaintGameResults(g);
break;
case 20 :
// case 21 :
PaintMenuBackground(g);
//drawVerticalArrows(g, 4, 32, 208 - 50);
break;
case 21 :
PaintMenuBackground(g);
break;
case 9 :
case 23 :
case 27 :
case 29 :
case 25 :
PaintMenuBackground(g);
break;
default :
PaintMenuBackground(g);
break;
}
// PaintFakeSoftKeys(g);
}
private void PaintHelpScreen(Graphics g)
{
int symbols[]= CONTROLSYMBOLS[0][0];
int num=0;
g.setFont(this.sFont);
for(int i = 0; i < 4; i++)
{
int row =(20)+ (15+12) * i;
for(int j = 0; j < 3; j++)
{
int col =(((176 - 66)/ 2))+ 22 * j;
int clr = controlColors[i][j];
drawBorderNotchRect(g, col, row, 20, 13+13, clr,(clr != 0x000000)?(0x000000):(0x666666));
int ix, iy, iw, sx;
int symRec[]= CONTROLSYMBOLS[i][j];
ix = symRec[0];
iy = symRec[1];
iw = symRec[2];
sx = col +((20 - iw)/ 2);
g.setClip(sx, row + 2, iw, 9);
g.drawImage(Basketball.pFrontEndArt, sx - ix, row + 2 - iy, 0);
num++;
if(num<10&&num!=5){
g.setColor(0xffffff);
g.setClip(0,0,176,208);
g.drawString(num+"", sx+2, row + 2+12, g.TOP|g.LEFT);
}
}
}
int yOff = -2;//050430 0 to -2
drawBorderNotchRect(g, 176 / 2 - 59,(208 - 30)- 1 + yOff, 58, 13+2, 0x00FF50, 0x000000);
drawBorderNotchRect(g, 176 / 2 - 59,(208 - 30)+ 13 + yOff, 58, 13+2, 0x00FFFF, 0x000000);
drawBorderNotchRect(g, 176 / 2 + 1,(208 - 30)- 1 + yOff, 58, 13+2, 0xCC3333, 0x000000);
drawBorderNotchRect(g, 176 / 2 + 1,(208 - 30)+ 13 + yOff, 58, 13+2, 0x000000, 0x666666);
}
private void PaintMenuBackground(Graphics g)
{
g.setClip(0, 0, 176, 23);
g.drawImage(Basketball.pFrontEndArt, 0, 0, 0);
}
private void PaintMarquee(Graphics g)
{
int iPosX = 0;
int iPosY = 208 - 11-5;//050427
int iDestX = 176;
int iDestY = 11+5;
g.setClip(iPosX, iPosY, iDestX, iDestY);
g.setColor(0x000000);
g.fillRect(iPosX, iPosY, iDestX, iDestY);
m_pFont.stringChar(g, m_iMarqueePosX, iPosY + 1, m_pMarqeeText, - 1, 0);
}
private void PaintGameStats(Graphics g)
{
int iPosX = 176 / 2 - 100 / 2 + 6;
int iPosY = 11 +((208 - 11)/ 2 - 100 / 2)+ 3;
g.setClip(0, 0, 176, 208);
int iHomeTeam = Basketball.hGameWnd.GetHomeTeam();
int iAwayTeam = Basketball.hGameWnd.GetAwayTeam();
String pTmp = Basketball.hGameWnd.GetNick(iAwayTeam);
m_pFont.stringChar(g, iPosX, iPosY, pTmp, pTmp.length(), 0);
pTmp = Basketball.hGameWnd.GetNick(iHomeTeam);
m_pFont.stringChar(g, iPosX + 54, iPosY, pTmp, pTmp.length(), 0);
iPosY += 11;
for(int i = 0; i < 4; i++)
{
String pTmp1 = "" + Basketball.hGameWnd.GetQuarterScore(iAwayTeam, i);
m_pFont.stringChar(g, iPosX + 16, iPosY + 11 * i, pTmp1, pTmp1.length(), 0x02);
pTmp1 = "" + Basketball.hGameWnd.GetQuarterScore(iHomeTeam, i);
m_pFont.stringChar(g, iPosX + 70, iPosY + 11 * i, pTmp1, pTmp1.length(), 0x02);
pTmp1 = "" +(i + 1);
m_pFont.stringChar(g, iPosX + 43, iPosY + 11 * i, pTmp1, pTmp1.length(), 0x02);
}
}
private void PaintOverlay(Graphics g)
{
int iPosX = 176 / 2 - 100 / 2;
int iPosY =((208 - 11)/ 2 - 100 / 2)+ 8;
drawBorderNotchRect(g, iPosX, iPosY, 100, 100, 0x0000FF, 0x000000);
//drawQtrScoreOverlay(g, iPosX, iPosY);
}
void ChkToggleButtons(win pWin, int ID)
{
if(ID == 7)
{
if(Basketball.bSoundOn)
{
pWin.setText("声音 开");
}
else
{
pWin.setText("声音 关");
}
}
else if(ID == 18)
{
if(Basketball.bVibrationON)
{
pWin.setText("震动 开");
}
else
{
pWin.setText("震动 关");
}
}
else if(ID == 19)
{
switch(Basketball.iQuarterlength)
{
case 180000 :
pWin.setText("时间 3:00");
break;
case 300000 :
pWin.setText("时间 5:00");
break;
case 420000 :
pWin.setText("时间 7:00");
break;
case 720000 :
pWin.setText("时间 12:00");
break;
}
}
}
private boolean ChkSmallScreenButtons(int ID)
{
switch(ID)
{
case 16 :
case 17 :
case 20 :
case 21 :
return true;
default :
return false;
}
}
private void drawQtrScoreOverlay(Graphics g, int iPosX, int iPosY)
{
g.setColor(0xFFFFFF);
iPosX += 5;
iPosY += 3;
int iDestX = 100 - 10;
int iDestY = 1;
for(int i = 0; i < 6; i++)
{
g.setClip(iPosX, iPosY + i * 11, iDestX, iDestY);
g.fillRect(iPosX, iPosY + i * 11, iDestX, iDestY);
}
iDestX = 1;
iDestY = 5 * 11;
g.setClip(iPosX, iPosY, iDestX, iDestY);
g.fillRect(iPosX, iPosY, iDestX, iDestY);
iPosX += 35;
g.setClip(iPosX, iPosY, iDestX, iDestY);
g.fillRect(iPosX, iPosY, iDestX, iDestY);
iPosX += 19;
g.setClip(iPosX, iPosY, iDestX, iDestY);
g.fillRect(iPosX, iPosY, iDestX, iDestY);
iPosX += 35;
g.setClip(iPosX, iPosY, iDestX, iDestY);
g.fillRect(iPosX, iPosY, iDestX, iDestY);
}
private void drawRect(Graphics g, int x, int y, int w, int h, int color)
{
g.setClip(x, y, w, h);
g.setColor(color);
g.fillRect(x, y, w, 1);
g.fillRect(x, y + 1, 1, h - 1);
g.fillRect(x, y + h - 1, w, 1);
g.fillRect(x + w - 1, y + 1, 1, h - 1);
}
private void drawNotchRect(Graphics g, int x, int y, int w, int h, int color)
{
g.setClip(x, y, w, h);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -