📄 pcanvas.java
字号:
break;
case 5:
loadcount++;
toolpic=Image.createImage("/tool.png");
time=Image.createImage("/time.png");
alarm=Image.createImage("/alarm.png");
last=Image.createImage("/last.png");
ui=Image.createImage("/ui.png");
Thread.sleep(500);
break;
case 6:
loadcount++;
about=Image.createImage("/about.png");
font = Image.createImage("/font.png");
num= Image.createImage("/num.png");
posts= Image.createImage("/posts.png");
Thread.sleep(500);
break;
case 7:
loadrms();
loadcount++;
break;
case 8:
loadcount++;
count = 0;
G_STATE = G_TITLE;
break;
}
} catch (Exception e) {
e.printStackTrace();
}
}
// -------------------------------------载入/释放图片--------------------------------
private void loadimage(){
try {
pic = Image.createImage("/res"+order[stage]+".png");
} catch (Exception e) {
}
}
private void releaseimage(){
doc.release();
pic=null;
System.gc();
}
// -------------------------------------输入处理--------------------------------
static final int UP = -1;
static final int DOWN = -2;
static final int LEFT = -3;
static final int RIGHT = -4;
static final int FIRE = -5;
static final int SOFTKEY1 = -6;
static final int SOFTKEY2 = -7;
public void keyPressed(int keyCode) {
// int code=getGameAction(keyCode);
switch (G_STATE) {
case G_SPLASH:
G_STATE=G_LOGO;
break;
case G_LOGO:
break;
case G_TITLE:
isp=true;
count=0;
loadcount=0;
init();//初始化顺序
G_STATE = G_MENU;
releaseres();
break;
case G_MENU:
isp=true;
switch (keyCode) {
case UP:
case KEY_NUM2:
count--;
if (count < 0)
count = 5;
loadcount=0;
break;
case DOWN:
case KEY_NUM8:
count++;
if (count > 5)
count = 0;
loadcount=0;
break;
case FIRE:
case SOFTKEY1:
case KEY_NUM5:
switch(count){
case 0:
count=0;
G_STATE=G_SELECT;
break;
case 1:
count=0;
G_STATE=G_HELP;
break;
case 2:
G_STATE=G_SET;
break;
case 3:
G_STATE=G_TOP;
break;
case 4:
G_STATE=G_ABOUT;
break;
case 5:
isp=false;
stopsound();
saverms();
Midlet.exit();
break;
}
break;
}
break;
//#ifdef _BT
case G_NET:
switch (keyCode) {
case UP:
case KEY_NUM2:
count--;
if (count < 0)
count = 1;
break;
case DOWN:
case KEY_NUM8:
count++;
if (count > 1)
count = 0;
break;
case FIRE:
case KEY_NUM5:
case SOFTKEY1:
if(count==0){
server=null;
client=null;
count=-1;
loadcount=0;
client=new Client(this);
isServer=2;
G_STATE = G_SERVER;
}else{
server=null;
client=null;
count=0;
loadcount=0;
isServer=1;
server=new Server(this);
G_STATE = G_CLIENT;
}
break;
case SOFTKEY2:
count=0;
loadcount=0;
G_STATE = G_SELECT;
break;
}
break;
case G_SERVER:
switch(keyCode){
case UP:
case KEY_NUM2:
if(client.getAddsize()<1&&count>0)
break;
count--;
if (count < 0)
count = client.getAddsize()-1;
break;
case DOWN:
case KEY_NUM8:
if(client.getAddsize()<1&&count>0)
break;
count++;
if (count > (client.getAddsize()-1))
count = 0;
break;
case SOFTKEY2:
count=0;
loadcount=0;
client=null;
isServer=0;
G_STATE=G_NET;
break;
case FIRE:
case KEY_NUM5:
case SOFTKEY1:
if(client.getAddsize()<1){
count=0;
client.dosearch();
}else{
// 建立连接
client.makeConn(count);
level=4;
loadimage();
G_STATE = G_START;
}
break;
}
break;
case G_CLIENT:
if(keyCode==SOFTKEY2){
count=0;
loadcount=0;
server=null;
isServer=0;
G_STATE=G_NET;
}
break;
//#endif
case G_HELP:
isp=true;
switch (keyCode) {
case UP:
case KEY_NUM2:
count--;
if (count < 0)
count = help.length-1;
break;
case DOWN:
case KEY_NUM8:
count++;
if (count >= help.length)
count = 0;
break;
case SOFTKEY2:
if(ispause==false){
count=1;
loadcount=0;
G_STATE=G_MENU;
}else{
count=1;
loadcount=0;
G_STATE=G_PAUSE;
}
}
break;
case G_SET:
isp=true;
switch(keyCode){
case FIRE:
case KEY_NUM5:
case SOFTKEY1:
soundon=!soundon;
if(!soundon){
stopsound();
}
break;
case SOFTKEY2:
if(ispause==false){
count=2;
loadcount=0;
G_STATE=G_MENU;
}else{
count=2;
loadcount=0;
G_STATE=G_PAUSE;
}
break;
}
break;
case G_TOP:
isp=true;
if(keyCode==SOFTKEY2){
if(ispause==false){
count=3;
loadcount=0;
G_STATE=G_MENU;
}else{
count=3;
loadcount=0;
G_STATE=G_PAUSE;
}
}
break;
case G_ABOUT:
isp=true;
if(keyCode==SOFTKEY2){
if(ispause==false){
count=4;
loadcount=0;
G_STATE=G_MENU;
}else{
count=4;
loadcount=0;
G_STATE=G_PAUSE;
}
}
break;
case G_SELECT:
isp=true;
switch (keyCode) {
case UP:
case KEY_NUM2:
count--;
//#ifdef _BT
if (count < 0)
count = 2;
//#else
// if (count < 0)
// count = 1;
//#endif
break;
case DOWN:
case KEY_NUM8:
count++;
//#ifdef _BT
if (count > 2)
count = 0;
//#else
// if (count > 1)
// count = 0;
//#endif
break;
case FIRE:
case KEY_NUM5:
case SOFTKEY1:
//#ifdef _BT
if(count==0){
level=4;
loadimage();
G_STATE = G_START;
}else if(count==1){
level=5;
loadimage();
G_STATE = G_START;
}else{
count=0;
loadcount=0;
stopsound();
G_STATE=G_NET;
}
//#else
// if(count==0){
// level=4;
// }else{
// level=5;
// }
// loadimage();
// G_STATE = G_START;
//#endif
break;
case SOFTKEY2:
count=0;
loadcount=0;
G_STATE = G_MENU;
break;
}
break;
case G_PLAY:
isp=true;
switch (keyCode) {
case UP:
case KEY_NUM2:
point -= level;
if (canmove) {
if (point != prepoint - level && point != prepoint
|| point < 0)
point += level;
} else {
if (point < 0)
point += level * level;
}
break;
case DOWN:
case KEY_NUM8:
point += level;
if (canmove) {
if (point != prepoint + level && point != prepoint
|| point > level * level - 1)
point -= level;
} else {
if (point > level * level - 1)
point -= level * level;
}
break;
case LEFT:
case KEY_NUM4:
point -= 1;
if (canmove) {
if (point != prepoint - 1 && point != prepoint
|| point % level >= level - 1 || point < 0)
point += 1;
} else {
if (point % level >= level - 1 || point < 0)
point += level;
}
break;
case RIGHT:
case KEY_NUM6:
point += 1;
if (canmove) {
if (point != prepoint + 1 && point != prepoint
|| point % level <= 0 || point > level * level - 1)
point -= 1;
} else {
if (point % level <= 0 || point > level * level - 1)
point -= level;
}
break;
case FIRE:
case KEY_NUM5:
if (canmove) {
doc.exchange(prepoint, point);// 交换
prepoint=-1;
canmove = false;
//#ifdef _BT
if(isServer==1){
server.send(doc.ok());
}else if(isServer==2){
client.send(doc.ok());
}
//#endif
} else {
prepoint = point;
canmove = true;
}
break;
case KEY_POUND:
if(prompt<0){
prompt=prompts;
}else{
prompt=-1;
if(level==5){
prompts--;
}
}
break;
case SOFTKEY1://暂停
pausegame();
break;
}
break;
case G_TYPE:
switch (keyCode) {
case UP:
case KEY_NUM2:
count--;
if (count < 0)
count = 4;
break;
case DOWN:
case KEY_NUM8:
count++;
if (count > 4)
count = 0;
break;
case FIRE:
case KEY_NUM5:
if(count==correct){
score[3]+=3000;
}
view=true;
break;
case SOFTKEY1:
if(view){
stage++;
count=0;
comscore();
if(stage<=19){
G_STATE = G_WIN;
}else{
G_STATE = G_OVER;
}
}
break;
case SOFTKEY2:
stage++;
count=0;
comscore();
if(stage<=19){
G_STATE = G_WIN;
}else{
G_STATE = G_OVER;
}
break;
}
break;
case G_WIN:
switch(keyCode){
case FIRE:
case KEY_NUM5:
if(!tool&&score[3]>=5000&&count==1){
tool=true;
score[3]-=5000;
//#ifdef _BT
if(isServer==1){
if(data.equals(Integer.toString(-2))){
loadimage();
G_STATE = G_START;
server.send("-3");
}else{
server.send("-2");
}
}else if(isServer==2){
if(data.equals(Integer.toString(-2))){
loadimage();
G_STATE = G_START;
client.send("-3");
}else{
client.send("-2");
}
}else{
loadimage();
G_STATE = G_START;
}
//#else
// loadimage();
// G_STATE = G_START;
//#endif
}else{
//#ifdef _BT
if(isServer==1){
if(data.equals(Integer.toString(-2))){
loadimage();
G_STATE = G_START;
server.send("-3");
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -