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

📄 whoscreen.java

📁 一个JAVA的扫雷游戏源代码
💻 JAVA
字号:
/*
 * Siemens AG
 * Mobile Radio Terminals
 * Munich, Germany
 * .AUTHOR      Michael Becker CT SE 2 / Sam Nova (THQ)
 * .PACKAGE		GameAPI_Demo
 * .STATUS         DRAFT
 * .CHANGE_CONTROL
 * Version |  Date  	| Changed by | 	Reason for Change
 * 1.0    	21.05.01  		M.Becker		file created.
 */

package GameAPI_Demo;


import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
import javax.microedition.rms.*;

import com.siemens.mp.game.*;

class WhoScreen extends MyScreen
{
	public boolean bRunning;
	private boolean readyToPaint = false;
	private static final int GAME_SCREEN_WIDTH = 96;
	private static final int GAME_SCREEN_HEIGHT = 80;

	private Image gameScreenImage;
	private ExtendedImage gameScreen = null;
	private GraphicObjectManager gfxManager;

	private byte [] creditPixels;
	private Melody melody;

	public WhoScreen()
	{
		try
		{
			gameScreenImage = Image.createImage(GAME_SCREEN_WIDTH, GAME_SCREEN_HEIGHT);
			gameScreen = new ExtendedImage(gameScreenImage);
			gameScreen.clear((byte)0);
		}catch(Exception e)
		{
			System.out.println("Exception: "+e);
		}

		gfxManager= new GraphicObjectManager();

		try
		{
			// Load the sprites
			creditPixels = ReadByteArray("res\\credit.bin", 960, 0);
		}catch(Exception e)
		{
			System.out.println("Exception: "+e);
		}

		gameScreen.setPixels(creditPixels, 0,0,GAME_SCREEN_WIDTH, GAME_SCREEN_HEIGHT);
		melody=createMelody();

		readyToPaint = true;

	}


	private Melody createMelody()
	{
		try
		{
			MelodyComposer comp=new MelodyComposer();

			comp.setBPM(120);

			comp.appendNote(MelodyComposer.TONE_E3,   MelodyComposer.TONELENGTH_1_8);
			comp.appendNote(MelodyComposer.TONE_DIS3, MelodyComposer.TONELENGTH_1_8);
			comp.appendNote(MelodyComposer.TONE_E3,   MelodyComposer.TONELENGTH_1_8);
			comp.appendNote(MelodyComposer.TONE_DIS3, MelodyComposer.TONELENGTH_1_8);
			comp.appendNote(MelodyComposer.TONE_E3,   MelodyComposer.TONELENGTH_1_8);
			comp.appendNote(MelodyComposer.TONE_H2, MelodyComposer.TONELENGTH_1_8);
			comp.appendNote(MelodyComposer.TONE_D3, MelodyComposer.TONELENGTH_1_8);
			comp.appendNote(MelodyComposer.TONE_C3, MelodyComposer.TONELENGTH_1_8);
			comp.appendNote(MelodyComposer.TONE_A2, MelodyComposer.TONELENGTH_1_4);				
			comp.appendNote(MelodyComposer.TONE_PAUSE, MelodyComposer.TONELENGTH_1_8);
			comp.appendNote(MelodyComposer.TONE_C2, MelodyComposer.TONELENGTH_1_8);
			comp.appendNote(MelodyComposer.TONE_E2, MelodyComposer.TONELENGTH_1_8);
			comp.appendNote(MelodyComposer.TONE_A2, MelodyComposer.TONELENGTH_1_8);
			comp.appendNote(MelodyComposer.TONE_H2, MelodyComposer.TONELENGTH_1_4);			    
			comp.appendNote(MelodyComposer.TONE_PAUSE, MelodyComposer.TONELENGTH_1_8);

			comp.appendNote(MelodyComposer.TONE_E2, MelodyComposer.TONELENGTH_1_8);
			comp.appendNote(MelodyComposer.TONE_GIS2, MelodyComposer.TONELENGTH_1_8);
			comp.appendNote(MelodyComposer.TONE_H2, MelodyComposer.TONELENGTH_1_8);
			comp.appendNote(MelodyComposer.TONE_C3, MelodyComposer.TONELENGTH_1_4);			    
			comp.appendNote(MelodyComposer.TONE_PAUSE, MelodyComposer.TONELENGTH_1_8);

			comp.appendNote(MelodyComposer.TONE_E2,   MelodyComposer.TONELENGTH_1_8);
			comp.appendNote(MelodyComposer.TONE_E3,   MelodyComposer.TONELENGTH_1_8);
			comp.appendNote(MelodyComposer.TONE_DIS3, MelodyComposer.TONELENGTH_1_8);
			comp.appendNote(MelodyComposer.TONE_E3,   MelodyComposer.TONELENGTH_1_8);
			comp.appendNote(MelodyComposer.TONE_DIS3, MelodyComposer.TONELENGTH_1_8);
			comp.appendNote(MelodyComposer.TONE_E3,   MelodyComposer.TONELENGTH_1_8);
			comp.appendNote(MelodyComposer.TONE_H2, MelodyComposer.TONELENGTH_1_8);
			comp.appendNote(MelodyComposer.TONE_D3, MelodyComposer.TONELENGTH_1_8);
			comp.appendNote(MelodyComposer.TONE_C3, MelodyComposer.TONELENGTH_1_8);
			comp.appendNote(MelodyComposer.TONE_A2, MelodyComposer.TONELENGTH_1_4);				
			comp.appendNote(MelodyComposer.TONE_PAUSE, MelodyComposer.TONELENGTH_1_8);

			comp.appendNote(MelodyComposer.TONE_C2, MelodyComposer.TONELENGTH_1_8);
			comp.appendNote(MelodyComposer.TONE_E2, MelodyComposer.TONELENGTH_1_8);
			comp.appendNote(MelodyComposer.TONE_A2, MelodyComposer.TONELENGTH_1_8);
			comp.appendNote(MelodyComposer.TONE_H2, MelodyComposer.TONELENGTH_1_4);			    
			comp.appendNote(MelodyComposer.TONE_PAUSE, MelodyComposer.TONELENGTH_1_8);

			comp.appendNote(MelodyComposer.TONE_D2, MelodyComposer.TONELENGTH_1_8);
			comp.appendNote(MelodyComposer.TONE_C3, MelodyComposer.TONELENGTH_1_8);
			comp.appendNote(MelodyComposer.TONE_H2, MelodyComposer.TONELENGTH_1_8);
			comp.appendNote(MelodyComposer.TONE_A2, MelodyComposer.TONELENGTH_1_4);			    
			comp.appendNote(MelodyComposer.TONE_PAUSE, MelodyComposer.TONELENGTH_1_8);
			//comp.appendNote(MelodyComposer.TONE_REPEAT, 1);


			return comp.getMelody();

		}catch(Exception e)
		{
			System.out.println("Exception: "+e);
		}

		return null;
	}

	public void Dispose()
	{
		gameScreen = null;

		// We should remove all objects from the gfx manager here
		gfxManager = null;
	}

	/**
	* Method declaration
	*
	*
	* @param g
	*
	* @see
	*/
	public void paint(Graphics g)
	{
		//no normal painting used!
		//paint all Sprites (no repaint necessary!)
		if (gameScreen != null && readyToPaint)
		{
			try
			{
				//	    	    gfxManager.paint(gameScreen, 0, 0);
				gameScreen.blitToScreen(0,0);
			}catch(Exception e)
			{
				System.out.println("Exception: "+e);
			}

		}
	}

	public int getReturnValue()
	{
		return 0;
	}

	protected void keyPressed(int keyCode)
	{
		int key = getGameAction(keyCode);

		switch(key)
		{
		case Canvas.FIRE :
			bRunning= false;
			break;
		}
	}


	public void run()
	{
		bRunning = true;
		melody.play();

		while (bRunning)
		{
			try
			{
				Thread.yield();
				//				Thread.sleep(20);
			}
			catch (Exception exc)
			{
			}


			//clear the doublebuffer
			//spriteManager.clearGameScreenWithBackground(gameScreen, Background96x80.image); // Rather slow...
			//System.arraycopy(clearScreen, 0 , gameScreen, 0, (GAME_SCREEN_WIDTH >> 3) * GAME_SCREEN_HEIGHT);
			//		gameScreen.clear((byte)0);

			//paint all Sprites (no repaint necessary!)
			try
			{
				//		        gfxManager.paint(gameScreen, 0, 0);
				gameScreen.blitToScreen(0,0);
			}catch(Exception e)
			{
				System.out.println("Exception: "+e);
			}

		}
		try
		{
			Thread.sleep(3000);

		}catch(Exception e)
		{
			System.out.println("Exception: "+e);
		}

	}
}

⌨️ 快捷键说明

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