📄 displayable1.java
字号:
import javax.microedition.lcdui.*;
import javax.microedition.lcdui.game.Sprite;
import java.util.*;
public class Displayable1 extends Canvas{
Sprite[] s=new Sprite[12];
Random random=new Random();
int x=1,y=1;
boolean isFir=true;
int oldx,oldy;
boolean isWin=false;
public Displayable1(int num) {
this.setFullScreenMode(true);
try {
int[] seq=new int[12];
for(int i=0;i<seq.length;i++){
seq[i]=i;
}
for(int i=0;i<100;i++){
int a=random.nextInt(12);
int b=random.nextInt(12);
int temp=seq[a];
seq[a]=seq[b];
seq[b]=temp;
}
Image img=Image.createImage("/"+num+".png");
for(int i=0;i<s.length;i++){
s[i]= new Sprite(img,80,80);
s[i].setPosition((i%3)*80,(i/3)*80);
s[i].setFrame(seq[i]);
}
}
catch (Exception ex) {
ex.printStackTrace();
}
}
protected void paint(Graphics g) {
for(int i=0;i<s.length;i++){
s[i].paint(g);
}
g.setColor(255,255,255);
g.drawLine(80,0,80,320);
g.drawLine(160,0,160,320);
g.drawLine(0,80,240,80);
g.drawLine(0,160,240,160);
g.drawLine(0,240,240,240);
g.setColor(255,0,0);
g.drawRect(x*80,y*80,80,80);
g.drawRect(x*80+1,y*80+1,80-2,80-2);
if(!isFir){
g.setColor(0,255,0);
g.drawRect(oldx*80,oldy*80,80,80);
g.drawRect(oldx*80+1,oldy*80+1,80-2,80-2);
}
}
public void keyPressed(int key)
{
if(key==-5&&isWin){
mainMIDlet.display.setCurrent(new InputForm());
}
if(key==-1){
y--;
if(y<0) y=3;
}
if(key==-2){
y++;
if(y>3) y=0;
}
if(key==-3){
x--;
if(x<0) x=2;
}
if(key==-4){
x++;
if(x>2) x=0;
}
if(key==-5){
if(isFir){
oldx=x;
oldy=y;
isFir=false;
}else{
int a=x+y*3;
int b=oldx+oldy*3;
int f=s[a].getFrame();
s[a].setFrame(s[b].getFrame());
s[b].setFrame(f);
isFir=true;
boolean isWintem=true;
for (int i = 0; i < s.length; i++) {
if(s[i].getFrame()!=i){
isWintem = false;
break;
}
}
isWin = isWintem;
}
}
if(key==-6)
mainMIDlet.display.setCurrent(new InputForm());
this.repaint();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -