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

📄 c6_24030201060.java

📁 一个接金币的J2ME小游戏
💻 JAVA
字号:
import java.util.Random;
import java.util.Timer;

import javax.microedition.lcdui.Canvas;
import javax.microedition.lcdui.Graphics;
import javax.microedition.lcdui.Image;


public class C6_24030201060 extends Canvas /*implements Runnable*/{

	Image imgCoin = null;
	Image imgLeft = null;
	Image imgRight= null;
	
	int inteval=100;
	int acceleration;
	int coinX, coinY, dropSpeed=5;	
	int maxSpeed=10, minSpeed=-10;
	int containerX, containerY, speed;	
	int sign;

	Random r;
	Timer tmr;
	C6_24030201060_task task;
	

	boolean released;
	
	public C6_24030201060() {
		try {
			imgCoin = Image.createImage("/coin.png");
			imgLeft = Image.createImage("/container_left.png");
			imgRight = Image.createImage("/container_right.png");
		} catch (Exception e){
			e.printStackTrace();
		}
		containerX = this.getWidth();
		containerY = this.getHeight();
		speed = 0;
		coinX = 0;
		coinY = 0;
		sign  = 0;
		acceleration = 0;
		released = true;		
		r = new Random();
	}

	protected void paint(Graphics g) {
		// TODO Auto-generated method stub
		int grey=255;
		g.setColor(grey, grey, grey);
		g.fillRect(0, 0, this.getWidth(), this.getHeight());
		g.drawImage(imgCoin, coinX, coinY, Graphics.LEFT | Graphics.TOP);
		if(sign  == 0){
		g.drawImage(imgLeft, containerX, containerY, Graphics.RIGHT | Graphics.BOTTOM);
		}else if(sign  == 1){
		g.drawImage(imgRight, containerX, containerY, Graphics.RIGHT | Graphics.BOTTOM);
		}
	}

	protected void keyPressed(int keyCode) {
		// TODO Auto-generated method stub
		int action = getGameAction(keyCode);
		if (action == Canvas.LEFT)
		{
			sign =0;
			acceleration = -1;
		}
		else if (action == Canvas.RIGHT)
		{
			sign =1;
			acceleration = 1;
		}
		released = false;
		super.keyPressed(keyCode);
	}

	protected void keyReleased(int keyCode) {
		// TODO Auto-generated method stub
		if (speed>0)
			acceleration = -1;
		else if (speed<0)
			acceleration = 1;
		else
			acceleration = 0;
		released = true;
		super.keyReleased(keyCode);
	}
	
	public void move() {
		if (!released){
			speed += acceleration;
			if (speed > maxSpeed) speed = maxSpeed;
			if (speed < minSpeed) speed = minSpeed;
		}else{
			if (speed == 0) acceleration = 0;
			if (speed>0 && speed+acceleration<0)
				speed = 0;
			else if (speed<0 && speed+acceleration>0)
				speed = 0;
			else
				speed += acceleration;
		}
		containerX += speed;
		if (containerX - imgLeft.getWidth() < 0) {
			containerX = imgLeft.getWidth();
			speed = 0;
			acceleration = 0;
		} else if (containerX >= this.getWidth()+imgLeft.getWidth()/2) {
			containerX = this.getWidth()+imgLeft.getWidth()/2-1;
			speed = 0;
			acceleration = 0;
		}
		
		if (coinY + imgCoin.getHeight() >= containerY - 30 
			&& coinX + imgCoin.getWidth()/2 > containerX - imgLeft.getWidth()
			&& coinX + imgCoin.getWidth()/2 < containerX)
		{
			coinX = r.nextInt(this.getWidth()-imgCoin.getWidth());
			coinY = 0;
		}
		else
			coinY += dropSpeed;
		repaint();
		if (coinY + imgCoin.getHeight() >= this.getHeight())
			tmr.cancel();
	}
	
	public void pause()
	{
		tmr.cancel();
	}

	public void start()
	{
		task = new C6_24030201060_task(this);
		tmr = new Timer();
		tmr.schedule(task, inteval, inteval);
	}
}

⌨️ 快捷键说明

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