📄 gamecanvas.java
字号:
public void drawRect(int i, int j, int k, int l)
{
g.drawRect(i, j, k, l);
}
public void fillRect(int i, int j, int k, int l)
{
g.fillRect(i, j, k, l);
}
public void drawString(String s, int i, int j, int k)
{
g.drawString(s, i, j, k);
}
public void drawSubstring(String s, int i, int j, int k, int l, int i1)
{
g.drawSubstring(s, i, j, k, l, i1);
}
public void setClip(int i, int j, int k, int l)
{
g.setClip(i, j, k, l);
}
public Graphics getGraphics()
{
return g;
}
public void setClipAll()
{
g.setClip(0, 0, Harry.SW, Harry.SH);
}
public void end()
{
midlet.notifyDestroyed();
}
public void fillScreen(int i)
{
fillArea(i, 0, 0, Harry.SW, Harry.SH);
}
public void fillArea(int i, int j, int k, int l, int i1)
{
g.setClip(0, 0, Harry.SW, Harry.SH);
g.setColor(i);
g.fillRect(j, k, l, i1);
}
public void drawLine(int i, int j, int k, int l)
{
g.drawLine(i, j, k, l);
}
public void setHighscore(int i)
{
if(midlet.getHighscore() < i)
midlet.saveScore(i);
}
public void paintGraphicNumber(int i, int j, int k)
{
int l = 1;
tmp = i >= 100 ? 10 : 3;
for(int i1 = 0; i1 < tmp; i1++)
{
l *= 10;
if(i / l != 0)
continue;
l = i1 + 1;
break;
}
j += l * 7;
int j1 = 1;
for(int k1 = 0; k1 < l; k1++)
{
j1 *= 10;
tmp = (i % j1) / (j1 / 10);
if(tmp == 1)
drawImage(rm.i_p, rm.publicCoord[tmp], (j - k1 * 7) + 1, k);
else
drawImage(rm.i_p, rm.publicCoord[tmp], j - k1 * 7, k);
}
}
public void paintLoading()
{
fillScreen(0);
g.setColor(0xffffff);
g.drawString(" loading ", Harry.CX, Harry.CY, 17);
}
public void paintBorder(int i, int j, int k, int l)
{
fillArea(0, i, j, k - 1, l - 1);
g.setColor(0xececec);
g.drawRect(i, j, k - 1, l - 1);
}
public void paintBorder2(int i, int j, int k, int l)
{
fillArea(0x3f7fff, i, j, k - 1, l - 1);
g.setColor(0xffffff);
g.drawRect(i, j, k - 1, l - 1);
}
public void paintBox(int i, int j, int k, int l)
{
setClipAll();
setColor(0x5f9fff);
drawRect(i, j, k - 1, l - 1);
setColor(0x1f3fff);
drawRect(i + 1, j + 1, k - 3, l - 3);
}
public void paintShop()
{
fillScreen(0x7fd2ff);
int i = Harry.CX - 40;
int j = Harry.CY - 33;
paintBox(0, 0, Harry.SW, Harry.SH - 30);
drawImage(rm.i_p, rm.publicCoord[10], Harry.CX - 38, Harry.CY - 57);
paintGraphicNumber(gscreen.beans, Harry.CX - 10, Harry.CY - 58);
drawImage(rm.img_icon, rm.getImageCoord(mindex + 1, 12, 12), Harry.CX - 38, Harry.CY - 46);
paintGraphicNumber(gscreen.hSlot[mindex + 1], Harry.CX - 10, Harry.CY - 44);
setClip(0, 0, Harry.SW, Harry.SH);
setColor(0x5f1f3f);
drawString(itemname[mindex + 1], Harry.CX - 40, Harry.CY - 25, 20);
fillArea(0, 0, Harry.SH - 30, Harry.SW, 30);
paintBorder(0, Harry.SH - 16, Harry.SW, 16);
setColor(0xffffff);
setClip(0, 0, Harry.SW, Harry.SH);
drawString("1.\uAD6C\uC785", 2, Harry.SH - 14, 20);
drawString("2.\uCDE8\uC18C", Harry.SW - 2, Harry.SH - 14, 24);
setColor(0);
if(mindex < 3)
drawString("- \uC804\uD559\uB144", Harry.CX, Harry.CY - 12, 20);
else
drawString("- " + mindex + "\uD559\uB144", Harry.CX, Harry.CY - 12, 20);
drawString(itemstr[mindex + 1], Harry.CX, Harry.CY + 2, 17);
drawString("\uAC00\uACA9 :" + ITEM_PRICE[mindex + 1], Harry.CX - 40, Harry.CY + 16, 20);
for(int k = 0; k < 8; k++)
drawImage(rm.img_icon, rm.getImageCoord(k + 1, 12, 12), (Harry.CX - 48) + k * 12, Harry.SH - 28);
drawImageCenter(rm.i_p, rm.publicCoord[12], (Harry.CX - 42) + mindex * 12, (Harry.SH - 34) + frame2 * 2);
if(shopMsg > 0)
{
if(shopMsg < 3 || shopMsg > 4)
fillArea(0, 0, 31, Harry.SW, 52);
paintBorder(0, 31, Harry.SW, 52);
setClip(0, 0, Harry.SW, Harry.SH);
setColor(0xffffff);
drawString("\uD504\uB808\uB4DC", Harry.CX, 33, 17);
if(shopMsg == 1 || shopMsg == 5)
{
drawString(itemstr[rTxt], Harry.CX, 49, 17);
drawString("1.\uD655\uC778 2.\uCDE8\uC18C", Harry.CX, 65, 17);
} else
if(shopMsg > 1 && shopMsg < 5)
{
drawString(itemstr[rTxt], Harry.CX, 49, 17);
drawString("1.\uD655\uC778", Harry.CX, 65, 17);
}
}
}
public void shopKeypress(int i)
{
if(!shopKey)
{
shopKey = true;
shopMsg = 0;
return;
}
if(status == 14)
{
switch(i)
{
case 50: // '2'
status = 12;
shopMsg = 0;
break;
case 49: // '1'
gscreen.hSlot[mindex + 1]++;
gscreen.beans -= ITEM_PRICE[mindex + 1];
shopMsg = 4;
rTxt = (byte)(GameScreen.getRandom(4) + 9);
status = 12;
shopKey = false;
break;
}
return;
}
switch(i)
{
default:
break;
case -3:
case 2: // '\002'
case 52: // '4'
mindex--;
if(mindex < 0)
mindex = 7;
break;
case -4:
case 5: // '\005'
case 54: // '6'
mindex++;
if(mindex > 7)
mindex = 0;
break;
case 49: // '1'
if(shopMsg == 5)
{
setGameStatus((byte)2);
shopMsg = 0;
return;
}
if(gscreen.beans < ITEM_PRICE[mindex + 1])
{
shopMsg = 2;
shopKey = false;
rTxt = 15;
return;
}
if(gscreen.hSlot[mindex + 1] > 9)
{
shopMsg = 3;
shopKey = false;
rTxt = 16;
return;
}
shopMsg = 1;
status = 14;
rTxt = 13;
shopKey = true;
break;
case 50: // '2'
if(shopMsg == 0)
{
shopMsg = 5;
shopKey = true;
rTxt = 14;
frame = 0;
break;
}
if(shopMsg == 5)
{
shopMsg = 0;
shopKey = true;
}
break;
}
}
public void paintHelpArrow()
{
paintGraphicNumber(mindex + 1, Harry.CX - (mindex <= 8 ? 22 : 29), Harry.SH - 20);
paintGraphicNumber(18, Harry.CX, Harry.SH - 20);
setClipAll();
setColor(0x3f7fff);
drawString("\u25C0", Harry.CX / 2, Harry.SH - 22, 17);
drawString("\u25B6", Harry.CX + Harry.CX / 2, Harry.SH - 22, 17);
drawString("/", Harry.CX, Harry.SH - 22, 17);
}
public void drawText(String s, int i, int j, int k, int l)
{
tlen = s.length();
offset = 0;
ti = 0;
tj = 0;
for(ti = 0; ti < tlen; ti++)
if(font.substringWidth(s, offset, ti - offset) > k)
{
drawSubstring(s, offset, ti - offset, i, j + tj * 13, 20);
offset = ti;
tj++;
}
drawSubstring(s, offset, ti - offset, i, j + tj * 13, 20);
}
public void paintHelp()
{
int i = Harry.CX - 47;
int j = Harry.CY - 40;
switch(mindex)
{
default:
break;
case 0: // '\0'
case 1: // '\001'
case 2: // '\002'
case 3: // '\003'
colorText("\uAC8C\uC784\uC124\uBA85", Harry.CX, 5, 2, 0);
setClipAll();
setColor(0);
drawText(helptxt[mindex], Harry.CX - 50, j, 95, 110);
break;
case 4: // '\004'
colorText("\uD0A4\uC870\uC791", Harry.CX, 5, 2, 0);
setClip(0, 0, Harry.SW, Harry.SH);
setColor(0);
for(int k = 0; k < 7; k++)
drawString(keytxt[k], Harry.CX - 50, 23 + k * 13, 20);
break;
case 5: // '\005'
paintcardtxt("\uB808\uB355\uD1A0", "\uAE30\uBCF8 \uACF5\uACA9 \uB9C8\uBC95", 3, i, j);
break;
case 6: // '\006'
paintcardtxt("\uBAA8\uBE4C\uB9AC\uC544\uBD80\uC2A4", "\uBB3C\uAC74\uC744\uBBF8\uB294\uB9C8\uBC95", 4, i, j);
break;
case 7: // '\007'
paintcardtxt("\uB8E8\uBAA8\uC2A4", "\uC228\uACA8\uC9C4\uAC83\uC744", 5, i, j);
drawString("\uCC3E\uB294 \uB9C8\uBC95", i + 10, j + 21 + 15, 20);
break;
case 8: // '\b'
paintcardtxt("\uD398\uD2B8\uB85C\uB204\uC2A4", "\uB514\uBA58\uD130\uB97C \uD1F4\uCE58", 7, i, j);
drawString("\uD558\uB294 \uB9C8\uBC95", i + 10, j + 21 + 15, 20);
break;
case 9: // '\t'
colorText("\uC544\uC774\uD15C", Harry.CX, 5, 2, 0);
setClip(0, 0, Harry.SW, Harry.SH);
setColor(0x700000);
drawString("\uC628\uAC16 \uB9DB\uC758 \uCF69", Harry.CX, j + 4, 17);
setColor(0);
drawText("\uC544\uC774\uD15C\uACFC \uB9C8\uBC95\uC0AC \uCE74\uB4DC\uAD6C\uC785.\uB178\uB780,\uCD08\uB85D,\uD551\uD06C\uCF69 \uC2B5\uB4DD\uC2DC \uAC01\uAC01 1\uAC1C,3\uAC1C,5\uAC1C\uCD94\uAC00", i - 8, j + 21, 100, 20);
break;
case 10: // '\n'
colorText("\uC544\uC774\uD15C", Harry.CX, 5, 2, 0);
drawImage(rm.img_icon, rm.getImageCoord(1, 12, 12), i, j + 2);
drawImage(rm.img_icon, rm.getImageCoord(2, 12, 12), i, j + 42);
setClip(0, 0, Harry.SW, Harry.SH);
setColor(0x700000);
drawString("\uAC1C\uAD6C\uB9AC\uCD08\uCF54\uB9BF", (i - 5) + 27, j + 4, 20);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -