📄 c6_24030201060.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 + -