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

📄 frontend.java

📁 game for basketball. Midlet,support MIDP2.0
💻 JAVA
📖 第 1 页 / 共 4 页
字号:
		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 + -