?? sfcanvas.java
字號:
isFirst = true;
myid = rs.addRecord(heroSprite.chgTorms(isFirst), 0, heroSprite.chgTorms(isFirst).length);
isFirst = false;
GAME_STATE = 1;
}
catch (Exception exception6)
{
System.out.println("這里的問題挖?" + exception6);
}
break;
}
if (isData2)
{
myid = 2;
GAME_STATE = 1;
break;
}
try
{
rs = RecordStore.openRecordStore(dataname, true);
doHeroInit();
isFirst = true;
myid = rs.addRecord(heroSprite.chgTorms(isFirst), 0, heroSprite.chgTorms(isFirst).length);
isFirst = false;
System.out.println(" " + myid + " " + heroData);
GAME_STATE = 1;
}
catch (Exception exception7) { }
break;
}
flushGraphics();
break;
case 1: // '\001'
heroSprite.nextexp = ((heroSprite.prevexp + 50 * (heroSprite.lv + 1) * (heroSprite.lv - 4) * (heroSprite.lv - 4)) - 40 * (heroSprite.lv - 3) * (heroSprite.lv - 3)) + 150;
keyState = getKeyStates();
mapTiled.drawMap(mapdir, setX, setY);
try
{
Thread.sleep(50L);
}
catch (InterruptedException interruptedexception3)
{
interruptedexception3.printStackTrace();
}
g.setColor(255, 255, 255);
g.fillRect(0, 0, getWidth(), getHeight());
g.drawImage(bloodImage, 0, 0, 20);
heroSprite.doMove(keyState);
setX = (heroSprite.x - getWidth() / 2) + 20;
setY = (heroSprite.y - getHeight() / 2) + 20;
if (mapdir == 1)
{
ASprite aasprite[] = {
monsterSprite, monsterSprite1, monsterSprite2, monsterSprite3, monsterSprite4, monsterSprite5, monsterSprite6, monsterSprite7, monsterSprite8, monsterSprite9,
monsterSprite10, heroSprite
};
chgMonsterOrder(aasprite);
MonsterSprite amonstersprite[] = {
monsterSprite, monsterSprite1, monsterSprite2, monsterSprite3, monsterSprite4, monsterSprite5, monsterSprite6, monsterSprite7, monsterSprite8, monsterSprite9,
monsterSprite10
};
for (int l = 0; l < amonstersprite.length; l++)
doMonster(amonstersprite[l], heroSprite, rs, myid);
if ((heroSprite.x - getWidth() / 2) + 20 <= 0)
setX = 0;
if ((heroSprite.x - getWidth() / 2) + 20 >= 625 - getWidth())
setX = 625 - getWidth();
if ((heroSprite.y - getHeight() / 2) + 20 <= 0)
setY = 0;
if ((heroSprite.y - getHeight() / 2) + 20 >= 625 - getHeight())
setY = 625 - getHeight();
layManager.setViewWindow(setX, setY, getWidth(), getHeight());
layManager.paint(g, 0, 0);
for (int i1 = 0; i1 < amonstersprite.length; i1++)
monsterBlood(amonstersprite[i1]);
if (marktime < 5)
marktime++;
else
marktime = 0;
g.setColor(255);
g.fillTriangle(35 - marktime - setX, 45 - marktime - setY, 45 - marktime - setX, 35 - marktime - setY, 35 - marktime - setX, 35 - marktime - setY);
for (int j1 = 0; j1 < aasprite.length; j1++)
{
aasprite[j1].setPosition(aasprite[j1].dx - setX, aasprite[j1].dy - setY);
if (aasprite[j1].dx < getWidth() + setX && aasprite[j1].dx > setX && aasprite[j1].dy < getHeight() + setY && aasprite[j1].dy > setY)
aasprite[j1].paint(g);
}
if (heroSprite.x < 20 && heroSprite.y < 20)
{
gotoMap(0);
mapdir = 0;
heroSprite.x = 130;
heroSprite.y = 390;
}
if (!heroSprite.isAlive)
{
gotoMap(0);
mapdir = 0;
heroSprite.x = 180;
heroSprite.y = 180;
heroSprite.hp = heroSprite.maxhp;
heroSprite.isAlive = true;
}
} else
{
ASprite aasprite1[] = {
npcSprite, npcSprite1, heroSprite
};
chgMonsterOrder(aasprite1);
if (heroSprite.lv <= 6)
{
heroSprite.prevexp = (heroSprite.lv * heroSprite.lv * 60 - (heroSprite.lv - 1) * (heroSprite.lv - 1) * 60) + 150;
heroSprite.nextexp = ((heroSprite.prevexp + (heroSprite.lv - 1) * (heroSprite.lv - 1) * 60) - (heroSprite.lv - 2) * (heroSprite.lv - 2) * 60) + 150;
} else
{
heroSprite.prevexp = (heroSprite.lv * (heroSprite.lv - 5) * (heroSprite.lv - 5) - 40 * (heroSprite.lv - 4) * (heroSprite.lv - 4)) + 150;
heroSprite.nextexp = ((heroSprite.prevexp + 50 * (heroSprite.lv + 1) * (heroSprite.lv - 4) * (heroSprite.lv - 4)) - 40 * (heroSprite.lv - 3) * (heroSprite.lv - 3)) + 150;
}
if ((heroSprite.x - getWidth() / 2) + 20 <= 0)
setX = 0;
if ((heroSprite.x - getWidth() / 2) + 20 >= 465 - getWidth())
setX = 465 - getWidth();
if ((heroSprite.y - getHeight() / 2) + 20 <= 0)
setY = 0;
if ((heroSprite.y - getHeight() / 2) + 20 >= 465 - getHeight())
setY = 465 - getHeight();
layManager.setViewWindow(setX, setY, getWidth(), getHeight());
layManager.paint(g, 0, 0);
if (npcSprite.isTalkable(heroSprite.x, heroSprite.y))
{
g.setColor(0xffffff);
g.fillRoundRect((npcSprite.dx + 30) - setX, npcSprite.dy - setY, 20, 10, 3, 3);
g.setColor(0);
g.drawString("......", (npcSprite.dx + 32) - setX, npcSprite.dy - setY - 5, 20);
if (keyState == 256 && !isOpenshop)
{
isOpenshop = true;
heroSprite.isPause = true;
}
} else
{
isOpenshop = false;
}
if (npcSprite1.isTalkable(heroSprite.x, heroSprite.y))
{
g.setColor(0xffffff);
g.fillRoundRect(npcSprite1.dx - setX, npcSprite1.dy - setY - 20, 20, 10, 3, 3);
g.setColor(0);
g.drawString("......", npcSprite1.dx - setX, npcSprite1.dy - setY - 25, 20);
if (keyState == 256)
if (!isOpenmisn)
{
isOpenmisn = true;
heroSprite.isPause = true;
} else
{
isOpenmisn = false;
heroSprite.isPause = false;
}
} else
{
isOpenmisn = false;
}
if (marktime < 5)
marktime++;
else
marktime = 0;
g.setColor(0xffcc00);
g.fillTriangle(134 - setX, (430 + marktime) - setY, 144 - setX, (440 + marktime) - setY, 154 - setX, (430 + marktime) - setY);
g.drawImage(houseImagebottom, 3 - setX, 145 - setY, 20);
for (int j = 0; j < 3; j++)
{
aasprite1[j].setPosition(aasprite1[j].dx - setX, aasprite1[j].dy - setY);
if (aasprite1[j].dx < getWidth() + setX && aasprite1[j].dx > setX && aasprite1[j].dy < getHeight() + setY && aasprite1[j].dy > setY)
aasprite1[j].paint(g);
}
g.drawImage(houseImagetop, 3 - setX, 60 - setY, 20);
if (heroSprite.x < 174 && heroSprite.x > 94 && heroSprite.y > 400)
{
gotoMap(1);
mapdir = 1;
heroSprite.x = 30;
heroSprite.y = 30;
}
}
g.setColor(0x350bec);
switch (mapdir)
{
case 0: // '\0'
g.drawString("引導之地", getWidth(), getHeight(), 40);
break;
case 1: // '\001'
g.drawString("新月之尖", getWidth(), getHeight(), 40);
break;
}
if (isOpenItem)
{
g.drawImage(gearImage, 20, 10, 20);
g.setColor(0xffffff);
g.drawString(heroSprite.hp + "/" + heroSprite.maxhp, 130, 20, 24);
g.drawString(heroSprite.exp + "/" + heroSprite.nextexp, 130, 35, 24);
g.drawString(heroSprite.at + "/" + heroSprite.df, 130, 50, 24);
g.drawString("等級" + heroSprite.itemlv, 130, 65, 24);
if (keyState == 4)
if (!isDelpress)
{
if (itempage > 1)
itempage--;
} else
if (!isChkdel)
isChkdel = true;
if (keyState == 32 && itempage < 4)
if (!isDelpress)
{
if (itempage < 4)
itempage++;
} else
if (isChkdel)
isChkdel = false;
g.drawString(heroSprite.gold + "G", 130, 95, 24);
drawItem(heroSprite.itemcode, itempage);
g.setColor(0x60a51234);
switch (itemcho)
{
case 1: // '\001'
g.drawRect(40, 105, 80, 15);
break;
case 2: // '\002'
g.drawRect(40, 120, 80, 15);
break;
case 3: // '\003'
g.drawRect(40, 135, 80, 15);
break;
}
}
if (isOpenshop)
{
g.drawImage(shopImage, 20, 10, 20);
switch (nowShopcho)
{
case 0: // '\0'
g.setColor(0xffffff);
g.drawRect(37, 30, 17, 17);
g.setColor(0x8a56e8);
g.drawString("藥瓶,補充", 90, 93, 20);
g.drawString("HP至滿,價格" + itemprice[0] + "G", 40, 107, 20);
break;
case 1: // '\001'
g.setColor(0xffffff);
g.drawRect(56, 30, 17, 17);
g.setColor(0x8a56e8);
g.drawString("布衣,攻防", 90, 93, 20);
g.drawString(heroSprite.itemat[1] + "/" + heroSprite.itemdf[1] + ",價格" + itemprice[1] + "G", 40, 107, 20);
break;
case 2: // '\002'
g.setColor(0xffffff);
g.drawRect(75, 30, 17, 17);
g.setColor(0x8a56e8);
g.drawString("稠衣,攻防", 90, 93, 20);
g.drawString(heroSprite.itemat[2] + "/" + heroSprite.itemdf[2] + ",價格" + itemprice[2] + "G", 40, 107, 20);
break;
case 3: // '\003'
g.setColor(0xffffff);
g.drawRect(98, 30, 17, 17);
g.setColor(0x8a56e8);
g.drawString("鐵甲,攻防", 90, 93, 20);
g.drawString(heroSprite.itemat[3] + "/" + heroSprite.itemdf[3] + ",價格" + itemprice[3] + "G", 40, 107, 20);
break;
case 4: // '\004'
g.setColor(0xffffff);
g.drawRect(117, 30, 17, 17);
g.setColor(0x8a56e8);
g.drawString("銅衣,攻防", 90, 93, 20);
g.drawString(heroSprite.itemat[4] + "/" + heroSprite.itemdf[4] + ",價格" + itemprice[4] + "G", 40, 107, 20);
break;
}
switch (keyState)
{
default:
break;
case 32: // ' '
if (nowShopcho < 4)
nowShopcho++;
break;
case 4: // '\004'
if (nowShopcho > 0)
nowShopcho--;
break;
case 2: // '\002'
if (buynum < heroSprite.numEmpty && heroSprite.gold >= itemprice[nowShopcho] * (buynum + 1))
buynum++;
break;
case 64: // '@'
if (buynum > 0)
buynum--;
break;
case 256:
if (buynum == 0)
break;
label0:
for (int i = 0; i <= buynum; i++)
{
int k = 0;
do
{
if (k >= 12)
continue label0;
if (heroSprite.itemcode[k] == '0')
{
buynum--;
heroSprite.gold = heroSprite.gold - itemprice[nowShopcho];
heroSprite.itemcode[k] = chgToitemcode(nowShopcho);
continue label0;
}
k++;
} while (true);
}
buynum = 0;
try
{
rs.setRecord(myid, heroSprite.chgTorms(false), 0, heroSprite.chgTorms(false).length);
}
catch (Exception exception8)
{
System.out.println(exception8);
}
break;
}
g.setColor(0xffffff);
g.drawString(String.valueOf(buynum), 111, 50, 20);
g.setColor(0x8a56e8);
g.drawString(String.valueOf(heroSprite.numEmpty), 110, 128, 20);
}
if (heroSprite.hp > heroSprite.maxhp)
heroSprite.hp = heroSprite.maxhp;
if (isOpenmisn)
{
g.drawImage(missionImage, 20, 15, 20);
g.setColor(0xffff99);
g.drawString("您的任務", 70, 35, 20);
g.setColor(0xffffff);
g.drawString("勇士,獸族人在我", 44, 60, 20);
g.drawString("國邊境大肆殺戮,", 44, 75, 20);
g.drawString("舉國上下一片恐慌,", 44, 90, 20);
g.drawString("為了我們國家的存", 44, 105, 20);
g.drawString("亡,向這群暴虐的", 44, 120, 20);
g.drawString("野獸開戰吧!", 44, 135, 20);
}
g.setColor(0x8a56e8);
g.drawString(heroSprite.x + "," + heroSprite.y, getWidth(), 0, 24);
g.drawImage(hplImage, -51 + (84 * heroSprite.hp) / heroSprite.maxhp, 0, 20);
g.drawImage(hpImage, 0, 0, 20);
g.drawRoundRect(0, getHeight() - 6, 40, 5, 3, 3);
g.fillRoundRect(0, getHeight() - 5, ((heroSprite.exp - heroSprite.prevexp) * 40) / (heroSprite.nextexp - heroSprite.prevexp), 3, 3, 3);
g.drawString("Lv" + heroSprite.lv, 45, getHeight() - 15, 20);
flushGraphics();
break;
}
while (true);
}
public ASprite[] chgMonsterOrder(ASprite aasprite[])
{
for (int i = 0; i < aasprite.length - 1; i++)
{
for (int j = 0; j < aasprite.length - 1; j++)
if (aasprite[j].dy > aasprite[j + 1].dy)
{
tempMonster = aasprite[j];
aasprite[j] = aasprite[j + 1];
aasprite[j + 1] = tempMonster;
}
}
return aasprite;
}
public char chgToitemcode(int i)
{
switch (i)
{
case 0: // '\0'
return '5';
case 1: // '\001'
return '1';
case 2: // '\002'
return '2';
case 3: // '\003'
return '3';
case 4: // '\004'
return '4';
}
return '6';
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -