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

📄 snakegame.java

📁 用Java编写的小游戏
💻 JAVA
字号:
package com.cienet.levi;
/**
 * Copyright cienet.levi
 * 
 * Snake.SnakeGame
 * 
 * @author cienet
 * @create 2008/01/11 13:34:10 - ver1.0
 */
import javax.microedition.lcdui.Command;
import javax.microedition.lcdui.CommandListener;
import javax.microedition.lcdui.Display;
import javax.microedition.lcdui.Displayable;
import javax.microedition.lcdui.List;
import javax.microedition.lcdui.TextBox;
import javax.microedition.lcdui.TextField;
import javax.microedition.midlet.MIDlet;

public class SnakeGame extends MIDlet implements CommandListener {

	//init resolution const
	private final int RESOLUTION = 8;
	//init level const
	private final int LEVEL = 10;
	
	//game list control unit
	private List listGame;
	//exit command
	private Command cmdExit;
	//next command
	private Command cmdNext;
	//back command
	private Command cmdBack;
	//resolution of textbox control unit
	private TextBox tbResolution;
	//level of textbox control unit
	private TextBox tbLevel;

	//resolution variable
	private int resolution = RESOLUTION;
	//level variable
	private int level = LEVEL;

	//snakecanvas object
	private SnakeCanvas snakeCanvas;

	//flag which sign is exit
	public boolean isExit;

	public SnakeGame() {
		snakeCanvas = new SnakeCanvas();

		listGame = new List("Game List", List.IMPLICIT);
		listGame.append("Snake Game", null);
		listGame.append("Resolution", null);
		listGame.append("Level", null);
		cmdExit = new Command("Exit", Command.EXIT, 0);
		cmdNext = new Command("Start", Command.SCREEN, 0);
		cmdBack = new Command("Confirm", Command.BACK, 0);

		listGame.addCommand(cmdExit);
		listGame.addCommand(cmdNext);
		listGame.setCommandListener(this);

	}

	/**
	 * command action
	 */
	public void commandAction(Command cmd, Displayable d) {
		if (d.equals(listGame)) {//if it's main list
			if (cmd == List.SELECT_COMMAND || cmd == cmdNext) {//if command is next
				if (d.equals(listGame)) {//if current displayable is listGame
					switch (((List) d).getSelectedIndex()) {//is select snake game
					case 0:
						System.out.println(resolution + " " + level);
						Logger.log(resolution, level, "commandAction.init");
						snakeCanvas.setResolution(resolution);
						snakeCanvas.setLevel(level);
						Display.getDisplay(this).setCurrent(snakeCanvas);
						try {
							new Thread(snakeCanvas).start();
						} catch (Error e) {
							System.out.println("error");
						}
						break;
					case 1://if select set resolution
						tbResolution = new TextBox(
								"Please input resolution(from 1 to 20)", 
								resolution + "",
								2, TextField.NUMERIC);
						tbResolution.addCommand(cmdBack);
						tbResolution.setCommandListener(this);
						Display.getDisplay(this).setCurrent(tbResolution);
						break;
					case 2://if select set level
						tbLevel = new TextBox(
								"Please input game level", level + "", 2,
								TextField.NUMERIC);
						tbLevel.addCommand(cmdBack);
						tbLevel.setCommandListener(this);
						Display.getDisplay(this).setCurrent(tbLevel);
						break;
					}
				}

			} else if (cmd == cmdExit) {//if comand is exit
				notifyDestroyed();
			} 
		}else if (cmd == cmdBack) {//if now is sublist and command is back
			if(tbResolution != null){
				resolution = Integer.parseInt(tbResolution.getString().trim());
				if(resolution > 20 || resolution < 1)
					resolution = RESOLUTION;
			}
			if(tbLevel != null){
				level = Integer.parseInt(tbLevel.getString().trim());
				if(level > 10 || level < 0)
					level = LEVEL;
			}
				
			Display.getDisplay(this).setCurrent(listGame);
		}

	}

	/**
	 * start app method which is extends fromMIDlet
	 */
	public void startApp() {
		Display.getDisplay(this).setCurrent(listGame);
	}

	public void pauseApp() {

	}

	public void destroyApp(boolean unconditional) {

	}
}

⌨️ 快捷键说明

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