?? main.java
字號:
if (cur.type == 2) // bonus mode
{
if ((!isBonus) && (!man.inUse))
{
isBonus = true;
cur.inUse = true;
man.inUse = true;
bonusTime = System.currentTimeMillis();
blink = 0;
}
}
else
{
if (cur.type == 0) // life
{
lifes++;
}
else
{
num = 10;
switch(cur.type)
{
case 3: num = 100; break;
case 4: num = 50; break;
case 5: num = 10; break;
case 6: num = 20; break;
default:;
}
addMessage(man.x,man.y,num + "");
scores += num;
}
dyn[i].visible = false;
}
}
}
}
}
}
if (state != 5) man.update();
rel_dx = man.x - a_x_d;
rel_dy = man.y - a_y_d;
if ((rel_dx < x_bound) && (man.sdx < 0))
{
a_x_d += man.sdx;
if (a_x_d > 0) panel_dx = 4;
}
if ((rel_dx > (s_w - x_bound)) && (man.sdx > 0))
{
a_x_d += man.sdx;
if ((a_x_d < disp_x_range)) panel_dx = -4;
}
if ((rel_dy < (y_bound + panel_height)) && (man.sdy < 0))
a_y_d += man.sdy;
if ((rel_dy > (s_h - y_bound)) && (man.sdy > 0))
a_y_d += man.sdy;
if (a_x_d < 0) a_x_d = 0;
if (a_y_d < 0) a_y_d = 0;
if (a_x_d >= disp_x_range) a_x_d = disp_x_range;
if (a_y_d >= disp_y_range) a_y_d = disp_y_range;
// hiding panel
if (s_h < 80)
{
if (panel_dy < 0) panel_y += panel_dy;
else
if (panel_dy > 0) panel_y += panel_dy;
if (panel_y >= 0)
{
panel_y = panel_dy = 0;
}
if (panel_y < -12)
{
panel_y = -12;
panel_dy = 0;
}
}
/*
panel_x += panel_dx;
if (panel_x < 0) panel_x = panel_dx = 0;
if ((panel_x + panel_width) > s_w)
{
panel_x = s_w - panel_width;
panel_dx = 0;
}
*/
}
long tt = 0, tt2 = 0, tsum = 0, tcnt = 0;
void updateMenu()
{
if (vMenu != null)
{
try
{
switch (action)
{
// left
case -3: // 7210
case Canvas.KEY_NUM4:menuIndex -= menuRange;
break;
// right
case -4: // 7210
case Canvas.KEY_NUM6:menuIndex += menuRange;
break;
// up
case -1: // 7210
case Canvas.KEY_NUM2:
if (isPointer) menuIndex --;
else menuDisp -= menuRange;
break;
// down
case -2: // 7210
case Canvas.KEY_NUM8:
if (isPointer) menuIndex ++;
else menuDisp += menuRange;
break;
// select
case -5: // 60
case -6: // 7210
case Canvas.KEY_NUM5:
if (isState)
{
if (menuIndex + 1 < vMenu.size())
{
vState.setElementAt(new Boolean(!(((Boolean)vState.elementAt(menuIndex)).booleanValue())),menuIndex);
}
else
{
action = -15;
if (isState) midlet.setupOk();
else midlet.menuBack();
}
}
else if (menuLast)
{
action = -15;
midlet.menuBack();
}
else midlet.menuOk(menuIndex);
break;
case Canvas.KEY_NUM1:
case Canvas.KEY_NUM3:
case Canvas.KEY_NUM7:
case Canvas.KEY_NUM9:break;
case -15:break;
default:break;
// exit
case -7: // 7210
// case KEY_STAR:
if (midlet.menuLevel != 0)
{
action = -15;
if (isState) midlet.setupOk();
else midlet.menuBack();
}
break;
}
// if (menuIndex < 0) menuIndex = vMenu.size() - 1;
// if (menuIndex >= vMenu.size()) menuIndex = 0;
if (menuIndex < 0) menuIndex = menuIndex = 0;
if (menuIndex >= vMenu.size()) menuIndex = vMenu.size() - 1;
if (isPointer)
{
if (menuIndex < menuDisp) menuDisp = menuIndex;
if (menuDisp + menuRange <= menuIndex) menuDisp = menuIndex - menuRange + 1;
}
else
{
if (menuDisp + menuRange > vMenu.size()) menuDisp = vMenu.size() - menuRange;
if (menuDisp < 0) menuDisp = 0;
}
}
catch(Exception ex){}
}
action = -15;
}
void updateEditor()
{
try
{
switch (action)
{
case -3:
case Canvas.KEY_NUM4:if (editX > 0) editX--;
break;
case -4:
case Canvas.KEY_NUM6:if (editX < 6) editX++;
break;
case -1:
case Canvas.KEY_NUM2:if (editY > 0) editY--;
break;
case -2:
case Canvas.KEY_NUM8:if (editY < 3) editY++;
break;
case -6:
case -5:
case Canvas.KEY_NUM5:
if (letters.charAt(editY * 7 + editX) == '_')
{
if (menuDisp > 0) menuDisp--;
}
else
{
if (menuDisp >= 2)
{
midlet.editOk(new String(editText));
}
else
{
menuDisp++;
}
}
break;
case Canvas.KEY_NUM1:
case Canvas.KEY_NUM3:
case Canvas.KEY_NUM7:
case Canvas.KEY_NUM9:break;
case -15:break;
default:break;
case -7:
case KEY_STAR:
action = -15;
midlet.editBack();
break;
}
ch = letters.charAt(editY * 7 + editX);
if (ch != '_')
{
if (ch == '.') ch = ' ';
editText[menuDisp] = ch;
}
}
catch(Exception ex){}
action = -15;
}
static int si,sl,sx,sn;
static char sc;
static void drawString(String str,int x,int y)
{
sl = str.length();
if (sl > buf.length) sl = buf.length;
for (si = 0; si < sl; si++)
buf[si] = str.charAt(si);
drawChars(0,sl,x,y);
}
static void calcSn()
{
sn = 0;
if (sc == '^')
{
int d = (sx / 25) * 25;
if (sx != d) d = d + 25;
sx = d;
}
else
if (sc == '&')
{
int d = (sx / 14) * 14;
if (sx != d) d = d + 14;
sx = d;
}
else
if (sc == '%')
{
int d = (sx / 14) * 14;
if (sx != d) d = d + 14;
sx = d;
}
else
if ((sc >= '0') && (sc <= '9'))
{
sn = (int)(sc - '0');
}
else
if (sc == '#')
{
sn = 36;
}
else
if (sc == '.')
{
sn = 37;
}
else
if (sc == ':')
{
sn = 38;
}
else
if (sc == '_')
{
sn = 39;
}
else
if (sc == ',')
{
sn = 40;
}
else
if (sc == '*')
{
sn = 41;
}
else
if (sc == '@')
{
sn = 42;
}
else
if (sc == '(')
{
sn = 43;
}
else
if (sc == ')')
{
sn = 44;
}
else
if ((sc >= 'a') && (sc <= 'z'))
{
sn = (int)(sc - 'a') + 10;
}
else
if ((sc >= 'A') && (sc <= 'Z'))
{
sn = (int)(sc - 'A') + 10;
}
}
static void drawChars(int start,int cnt,int x,int y)
{
try
{
sx = 0;
for (si = 0; si < cnt; si++)
{
sc = buf[si + start];
calcSn();
if ((sc != '^')&&(sc != '&')&&(sc != '%'))
{
if (sc != ' ')
{
g.setClip(sx + x,y,abcw[sn],8);
g.drawImage(img[abc_index],sx + x - abcx[sn],y,20);
}
sx += abcw[sn];
if (abcw[sn] > 9) sx--;
}
}
}
catch(Exception ex){}
}
static int getStringWidth(String str)
{
sx = 0;
sl = str.length();
for (si = 0; si < sl; si++)
{
sc = str.charAt(si);
calcSn();
if ((sc != '^')&&(sc != '&')&&(sc != '*'))
{
sx += abcw[sn];
if (abcw[sn] > 9) sx--;
}
}
return sx;
}
//////////////////////////////////////////////////////////////////////////////////
void addItem(String item)
{
if (vMenu == null) vMenu = new Vector();
vMenu.addElement(item.charAt(0) == ' ' ? item.substring(1) : item);
}
void addText(String text)
{
w1 = text.length();
str = "";
str2 = "";
sx = j = 0;
for (i = 0; i < w1; i++)
{
sc = text.charAt(i);
calcSn();
str2 += sc;
sx += abcw[sn];
w2 = s_w - 16;
if (sx >= w2)
{
if (str.length() > 0)
{
addItem(str);
str = "";
}
else
{
addItem(str2);
str2 = "";
}
sx -= j;
}
if ((sc == ' ') || (sc == ',') || (sc == '.') || (sc == '@'))
{
str += str2;
str2 = "";
j = sx;
}
}
if (str.length() + str2.length() > 0) addItem(str + str2);
w1 = 0;
}
void addItem(String item,boolean state)
{
addItem(item);
vState.addElement(new Boolean(state));
}
public void paint(Graphics gr)
{
tt = System.currentTimeMillis();
if (g != gr) g = gr;
gd = g;
try
{
if (state == 101)
{
g.setColor(0x000000);
g.fillRect(0,0,s_w,s_h);
h1 = s_h >> 1;
str = "DEMO ENDED";
drawString(str,(s_w - getStringWidth(str)) >> 1,h1 - 16);
str = "PLEASE PURCHASE";
drawString(str,(s_w - getStringWidth(str)) >> 1,h1);
str = "REAL GAME";
drawString(str,(s_w - getStringWidth(str)) >> 1,h1 + 16);
}
else
if (state == 100)
{
g.setColor(0xFFFFFF);
g.fillRect(0,0,s_w,s_h);
if (fLogo != null)
{
h1 = (s_h - fLogo.fh - 9) >> 1;
if ((isLogo2) && (fLogo2 != null))
{
h1 = (s_h - fLogo.fh - fLogo2.fh - 9) >> 1;
g.setColor(0x0000FF);
g.setClip(0,0,s_w,s_h);
g.drawLine((s_w - fLogo.fw) >> 1,h1 + fLogo.fh + 4,((s_w - fLogo.fw) >> 1) + fLogo.fw,h1 + fLogo.fh + 4);
fLogo2.draw((s_w - fLogo2.fw) >> 1,h1 + fLogo.fh + 9);
}
fLogo.draw((s_w - fLogo.fw) >> 1,h1);
}
}
else
if (state == 99)
{
g.setColor(0x000000);
g.fillRect(0,0,s_w,s_h);
if (fLogo != null) fLogo.draw((s_w - fLogo.fw) >> 1,(s_h - fLogo.fh) >> 1);
if (s_h < 100)
{
str = "MARV THE";
drawString(str,(s_w - getStringWidth(str)) >> 1,(s_h >> 1));
str = "MINER";
drawString(str,(s_w - getStringWidth(str)) >> 1,(s_h >> 1) + 16);
}
}
else
if (state == 98)
{
g.setColor(0x000000);
g.fillRect(0,0,s_w,s_h);
h1 = 48;
str = names[c_lvl];
if (str == null) str = " ";
if ((str.length() + 3) * 8 >= s_w) str = str.substring(0,(s_w / 8) - 5) + "...";
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -