📄 gamecanvas.java
字号:
drawString("\uBC84\uD130\uB9E5\uC8FC", (i - 5) + 27, j + 44, 20);
setColor(0);
drawString("\uB77C\uC774\uD504 +1", i + 15, j + 21, 20);
drawString("\uB77C\uC774\uD504 \uC804\uCCB4\uD68C\uBCF5", i + 7, j + 61, 20);
break;
case 11: // '\013'
colorText("\uC544\uC774\uD15C", Harry.CX, 5, 2, 0);
drawImage(rm.img_icon, rm.getImageCoord(0, 12, 12), i, j + 4);
setClip(0, 0, Harry.SW, Harry.SH);
setColor(0x700000);
drawString("\uB9C8\uBC95\uAE43\uD39C", (i - 5) + 27, j + 4, 20);
setColor(0);
drawText("\uAC8C\uC784 \uC800\uC7A5\uD558\uB294 \uC544\uC774\uD15C,\uAC01 \uC2A4\uD14C\uC774\uC9C0\uC5D0 \uAE30\uBCF8 2\uAC1C \uC8FC\uC5B4\uC9D0", i - 8, j + 21, 100, 20);
break;
case 12: // '\f'
case 13: // '\r'
case 14: // '\016'
case 15: // '\017'
case 16: // '\020'
case 17: // '\021'
colorText("\uB9C8\uBC95\uC0AC\uCE74\uB4DC\uC124\uBA85", Harry.CX, 5, 2, 0);
drawImage(rm.img_icon, rm.getImageCoord(mindex - 9, 12, 12), i, j + 4);
setClip(0, 0, Harry.SW, Harry.SH);
setColor(0x5f1f3f);
drawString(itemname[mindex - 9], (i - 5) + 27, j + 4, 20);
setColor(0);
drawText("\uCF69" + ITEM_PRICE[mindex - 9] + "\uAC1C " + itemstr[mindex - 9] + " " + (mindex - 11) + "\uD559\uB144\uB54C\uBD80\uD130 \uC0AC\uC6A9\uAC00\uB2A5", Harry.CX - 50, Harry.CY - 10, 95, 110);
break;
}
paintHelpArrow();
}
public void paintcardtxt(String s, String s1, int i, int j, int k)
{
colorText("\uB9C8\uBC95\uC124\uBA85", Harry.CX, 5, 2, 0);
drawImage(rm.img_game, rm.gameCoord[2], j, k);
if(mindex == 5)
drawImage(rm.img_game, rm.gameCoord[2], j, k + 40);
drawImageCenter(rm.img_game, rm.gameCoord[i], j + 10, k + 10);
if(mindex == 5)
drawImageCenter(rm.img_game, rm.gameCoord[6], j + 10, k + 50);
setClipAll();
g.setColor(0x700000);
g.drawString(s, (j - 5) + 27, k + 4, 20);
if(mindex == 5)
g.drawString("\uD2B8\uB79C\uD53C\uADDC\uC2A4", (j - 5) + 27, k + 44, 20);
g.setColor(0);
g.drawString(s1, j, k + 21, 20);
if(mindex == 5)
g.drawString("\uBAAC\uC2A4\uD130\uC804\uD658\uB9C8\uBC95", j, k + 61, 20);
}
private void helpKeyPressed(int i)
{
switch(i)
{
case -4:
case -3:
case 2: // '\002'
case 5: // '\005'
rm.play(4, false);
break;
case -5:
case 8: // '\b'
rm.play(5, false);
break;
}
switch(i)
{
case -2:
case -1:
case 0: // '\0'
case 1: // '\001'
case 3: // '\003'
case 4: // '\004'
case 6: // '\006'
case 7: // '\007'
default:
break;
case -5:
case 8: // '\b'
mindex = 0;
status = prevscreen;
sync = true;
break;
case -3:
case 2: // '\002'
mindex--;
if(mindex < 0)
mindex = 17;
break;
case -4:
case 5: // '\005'
mindex++;
if(mindex > 17)
mindex = 0;
break;
}
}
public void colorText(String s, int i, int j, int k, int l)
{
setClipAll();
setColor(0x250080);
drawString(s, i, j + l * 15, k != 2 ? 20 : 17);
}
public void paintLoad()
{
int i = Harry.CX - 40;
int j = Harry.CY - 33;
if(status == 22)
colorText("\uC800\uC7A5\uD558\uAE30", Harry.CX, 15, 2, 0);
else
colorText("\uC774\uC5B4\uD558\uAE30", Harry.CX, 15, 2, 0);
paintBorder2(i - 15, j, 110, 25);
paintBorder2(i - 15, j + 25, 110, 25);
paintBorder2(i - 15, j + 50, 110, 25);
setColor(0xffffff);
for(int k = 0; k < 3; k++)
if(midlet.getStagenum(k) == -1)
{
setClipAll();
drawString(stagename[7], i + 22, j + 8 + k * 24, 20);
} else
{
paintGraphicNumber(1 + midlet.getStagenum(k), i + 41, j + k * 24);
setClipAll();
drawString(stagename[midlet.getStagenum(k)], i + 17, j + 10 + k * 24, 20);
}
drawImage(rm.i_p, rm.publicCoord[12], i - 11, j + mindex * 25 + 5);
if(status == 22)
{
if(tindex != 0)
{
paintBorder(Harry.CX - 55, Harry.CX - 20, 110, 40);
setColor(0xffffff);
}
if(tindex == 1)
{
drawString("\uC800\uC7A5\uD558\uC2DC\uACA0\uC2B5\uB2C8\uAE4C?", Harry.CX, Harry.CX - 15, 17);
drawString("1.\uD655\uC778 2.\uCDE8\uC18C", Harry.CX, Harry.CX + 5, 17);
} else
if(tindex == 2)
{
drawString("\uC800\uC7A5\uB418\uC5C8\uC2B5\uB2C8\uB2E4.", Harry.CX, Harry.CX - 15, 17);
drawString("1.\uD655\uC778", Harry.CX, Harry.CX + 5, 17);
}
}
if(status == 21)
{
setClipAll();
setColor(0xffffff);
drawString("1.\uC774\uC804\uD654\uBA74", Harry.CX, Harry.SH - 23, 17);
}
if(status == 22)
{
setClipAll();
setColor(0xffffff);
drawString("1 .\uCDE8\uC18C", Harry.CX, Harry.SH - 23, 17);
}
}
private void saveKeyPressed(int i)
{
switch(i)
{
default:
break;
case -1:
case 1: // '\001'
mindex--;
if(mindex < 0)
mindex = 2;
break;
case -2:
case 6: // '\006'
mindex++;
if(mindex > 2)
mindex = 0;
break;
case -5:
case 8: // '\b'
if(tindex == 0)
tindex = 1;
break;
case 50: // '2'
if(tindex == 1)
tindex = 0;
break;
case 49: // '1'
if(tindex == 1)
{
boolean flag = gscreen.maxmagic >= 2;
boolean flag1 = gscreen.maxmagic >= 4;
midlet.saveScore(gscreen.highscore);
if(gscreen.g_status == 3)
{
midlet.saveSlot(mindex, gscreen.stage + 1, 0, gscreen.maxmagic, 0, 0, gscreen.exp, gscreen.grade, gscreen.beans, gscreen.hSlot, gscreen.score, gscreen.hlife);
gscreen.startLevel((byte)(gscreen.stage + 1));
gscreen.scene = gscreen.stage;
tindex = 0;
} else
{
gscreen.hSlot[0]--;
midlet.saveSlot(mindex, gscreen.stage, gscreen.mapid, gscreen.maxmagic, gscreen.hx, gscreen.hy, gscreen.exp, gscreen.grade, gscreen.beans, gscreen.hSlot, gscreen.score, gscreen.hlife);
tindex = 2;
}
setHighscore(gscreen.score);
break;
}
if(tindex == 2)
{
tindex = 0;
setGameStatus((byte)2);
break;
}
if(tindex != 0)
break;
if(gscreen.g_status == 3)
gscreen.startLevel((byte)(gscreen.stage + 1));
setGameStatus((byte)2);
break;
}
}
private void loadKeyPressed(int i)
{
switch(i)
{
default:
break;
case -1:
case 1: // '\001'
mindex--;
if(mindex < 0)
mindex = 2;
break;
case -2:
case 6: // '\006'
mindex++;
if(mindex > 2)
mindex = 0;
break;
case -5:
case 8: // '\b'
if(mindex >= 3)
break;
if(midlet.getStagenum(mindex) == -1)
{
newGame();
} else
{
status = 1;
mscreen = null;
rm.unloadImage();
System.gc();
rm.imageLoad((byte)3);
System.gc();
gscreen = new GameScreen(this);
gscreen.rm = rm;
status = 2;
gscreen.loadGame(mindex);
}
break;
case 49: // '1'
mindex = 1;
status = prevscreen;
break;
}
}
Display display;
Harry midlet;
GameScreen gscreen;
ResourceManager rm;
MenuScreen mscreen;
Image offimg;
static final byte MENU = 0;
static final byte LOAD = 1;
static final byte GAME = 2;
static final byte T_LOAD = 21;
static final byte T_SAVE = 22;
byte status;
final int GLT = 20;
final int GVT = 17;
final byte MAX_SPEED = 5;
Graphics g;
byte prevscreen;
Graphics g2;
byte speedlevel;
static int speedgap = 100;
static int bg = 1;
static byte tmpidx = 0;
int frame;
int frame2;
int frame3;
int frame4;
static boolean loading = false;
Font font;
static boolean sync = false;
int tmp;
static final byte T_ITEMSHOP = 12;
static final byte T_ITEMSLOT = 13;
static final byte T_ITEMSEL = 14;
static final byte HELP = 17;
byte shopMsg;
boolean shopKey;
byte tmpMsg;
byte mindex;
byte tindex;
int rTxt;
byte itemok;
static final String itemstr[] = {
"\uC800\uC7A5 \uAC00\uB2A5", "\uB77C\uC774\uD504 +1", "\uB77C\uC774\uD504 \uBAA8\uB450\uD68C\uBCF5", "\uBAAC\uC2A4\uD130 \uC804\uCCB4\uACF5\uACA9", "\uC7A0\uC2DC \uBB34\uC801", "\uBAAC\uC2A4\uD130 \uAE30\uC808", "\uBAAC\uC2A4\uD130 \uC804\uBA78", "\uBAAC\uC2A4\uD130 \uC544\uC774\uD15C\uBCC0\uD658", "\uAC15\uB825\uD55C \uD398\uD2B8\uB85C\uB204\uC2A4", "\uC88B\uC740 \uC120\uD0DD\uC774\uC57C.\uD574\uB9AC",
"\uD6C4\uD68C\uD558\uC9C0 \uC54A\uC744\uAEBC\uC57C", "\uAF2D \uD544\uC694\uD55C \uBB3C\uAC74\uC774\uC9C0", "\uBAA8\uD5D8\uC5D0 \uD544\uC218\uC774\uC9C0", "\uC0B4\uAEBC\uC57C?", "\uB098\uAC00\uB824\uAD6C?", "\uCF69\uC774 \uBD80\uC871\uD574.\uD574\uB9AC", "\uC800\uC7A5\uACF5\uAC04\uC774 \uBD80\uC871\uD574"
};
static final String itemname[] = {
"\uB9C8\uBC95\uAE43\uD39C", "\uCD08\uCF54\uAC1C\uAD6C\uB9AC", "\uBC84\uD130\uBE44\uC5B4", "\uD30C\uC774\uC5B4\uC2A4\uD1B0", "\uC2A4\uD1B0\uC2A4\uD0A8", "\uC5B4\uC2A4\uD018\uC774\uD06C", "\uCF00\uC624\uC2A4\uB77C", "\uD2B8\uB79C\uC2A4\uBE44\uC544", "\uBE45\uD398\uD2B8\uB85C"
};
String helptxt[] = {
"\uD574\uB9AC\uD3EC\uD1303\uC758 \uC2A4\uD1A0\uB9AC\uC5D0 \uB530\uB77C \uC9C4\uD589\uB418\uB294 \uC561\uC158 \uC5B4\uB4DC\uBCA4\uCCD0\uAC8C\uC784.\uCD1D 7\uC2A4\uD14C\uC774\uC9C0\uB85C \uAD6C\uC131\uB418\uC5B4\uC788\uC73C\uBA70", "\uAC01 \uC2A4\uD14C\uC774\uC9C0 \uB9C8\uC9C0\uB9C9 \uBD80\uBD84\uC758 \uBCF4\uC2A4\uB97C \uC774\uAE30\uBA74 \uB9C8\uBC95\uC774 \uCD94\uAC00\uAC00 \uB418\uACE0 \uD074\uB9AC\uC5B4\uAC00 \uB429\uB2C8\uB2E4.", "\uD574\uB9AC\uB294 \uCD5C\uACE0 N.E.W.T.s\uAE4C\uC9C0 \uC62C\uB77C\uAC00\uACE0 \uD559\uB144\uC5D0 \uB530\uB77C \uC0AC\uC6A9\uAC00\uB2A5\uD55C \uB9C8\uBC95\uCE74\uB4DC\uAC00 \uC81C\uD55C\uB429\uB2C8\uB2E4.", "\uB9C8\uBC95\uCE74\uB4DC\uC640 \uC544\uC774\uD15C\uC740 \uBD80\uC5C9\uC774 \uC788\uB294 \uACF3\uC5D0\uC11C \uCF69\uC73C\uB85C \uAD6C\uC785\uAC00\uB2A5\uD569\uB2C8\uB2E4."
};
String keytxt[] = {
"[0]:\uC544\uC774\uD15C\uBCF4\uAE30", "[7,9]:\uB9C8\uBC95\uC120\uD0DD", "[ez,5]:\uB9C8\uBC95\uC0AC\uC6A9", "[1,3]~:\uAE38\uAC8C\uC810\uD504", "[1,3]:\uC9E7\uAC8C\uC810\uD504", "[\uBC29\uD5A5\uD0A4]:\uC774\uB3D9", "[2,4,6,8]:\uC774\uB3D9"
};
String stagename[] = {
"\uB2E4\uC774\uC560\uAC74\uC568\uB9AC", "\uD638\uADF8\uC640\uD2B8", "\uC624\uB450\uB9C9", "\uD504\uB808\uB4DC\uC640\uC870\uC9C0", "\uD638\uADF8\uC2A4\uBBF8\uB4DC", "\uC2DC\uB9AC\uC6B0\uC2A4\uBE14\uB799", "\uBC85\uBE45 \uAD6C\uCD9C", "\uBE44\uC5B4 \uC788\uC74C"
};
int offset;
int ti;
int tj;
int tlen;
static final byte ITEM_PRICE[] = {
20, 20, 50, 30, 50, 50, 70, 100, 120, 0
};
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -