📄 test.java
字号:
import javax.microedition.midlet.MIDlet;
import javax.microedition.midlet.MIDletStateChangeException;
import javax.microedition.lcdui.*;
public class test extends MIDlet {
public test() {
Display.getDisplay(this).setCurrent(new move());
}
protected void destroyApp(boolean arg0) throws MIDletStateChangeException {
}
protected void pauseApp() {
}
protected void startApp() throws MIDletStateChangeException {
}
}
class move extends Canvas implements Runnable{
int px=0,py=0,x=0,y=0;
public move(){
new Thread(this).start();
}
public void paint(Graphics g){
g.setColor(255,255,255);
g.fillRect(0, 0, getWidth(), getHeight());
g.setColor(187,122,28);
g.fillRect(x, y, 360, 360);
g.setColor(26,89,66);
g.fillRect(px,py,60,60);
g.setColor(100,38,211);
g.drawLine(x, y, x+360, y+360);
g.drawLine(x+360, y, x, y+360);
g.drawLine(x, y+180, x+360, y+180);
g.drawLine(x+180, y, x+180, y+360);
g.drawRect(x+150,y+150,60,60);//画地图正中央的阻挡物
}
public void logic(){
if(px>getWidth()/2-30 && x>(getWidth()-360)){
px=getWidth()/2-30;
x-=2;
}else if(px<getWidth()/2-30 && x<0){
px=getWidth()/2-30;
x+=2;
}
if(py>getHeight()/2-30 && y>getHeight()-360){
py=getHeight()/2-30;
y-=2;
}else if(py<getHeight()/2-30 && y<0){
py=getHeight()/2-30;
y+=2;
}
if(px<0)px=0;else if(px>(getWidth()-60))px=(getWidth()-60);
if(py<0)py=0;else if(py>(getHeight()-60))py=(getHeight()-60);
/* if(x<(getWidth()-360))x=(getWidth()-360);else if(x>0)x=0;
if(y<(getHeight()-360))y=(getHeight()-360);else if(y>0)y=0;*/
}
public void keyPressed(int keyCode){
switch(keyCode){
case -1:
if(py<=y+90||py>y+210||px<=x+90||px>=x+210)
py-=2;
break;
case -2:
if(py<y+90||py>=y+210||px<=x+90||px>=x+210)
py+=2;
break;
case -3:
if(px<=x+90||px>x+210||py<=y+90||py>=y+210)
px-=2;
break;
case -4:
if(px<x+90||px>=x+210||py<=y+90||py>=y+210)
px+=2;
break;
}
}
public void keyRepeated(int keyCode){
switch(keyCode){
case -1:
if(py<=y+90||py>y+210||px<=x+90||px>=x+210)
py-=2;
break;
case -2:
if(py<y+90||py>=y+210||px<=x+90||px>=x+210)
py+=2;
break;
case -3:
if(px<=x+90||px>x+210||py<=y+90||py>=y+210)
px-=2;
break;
case -4:
if(px<x+90||px>=x+210||py<=y+90||py>=y+210)
px+=2;
break;
}
}
public void run(){
while(true){
logic();
repaint();
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -