?? monstersprite.java
字號(hào):
chgDir();
}
break;
}
if (!collidesWith(herosprite, true))
{
if (isStop)
{
setFrameSequence(ru_seq);
isStop = false;
}
if (isBattle)
{
isBattle = false;
setFrameSequence(rd_seq);
}
if (isWalkable[ldX][ldY - 1] && isWalkable[rdX][rdY - 1] && isWalkable[rdX + 1][rdY])
{
x = x + 2;
y = y - 2;
nextFrame();
} else
{
isSmart = false;
dir = 6;
setFrameSequence(ld_seq);
}
break;
}
isStop = true;
if (!isBattle)
{
isBattle = true;
setFrameSequence(rub_seq);
nextFrame();
break;
}
if (j < stopTime - battleSpeed)
{
j++;
isStopb = true;
setFrameSequence(ru);
break;
}
if (isStopb)
{
isStopb = false;
setFrameSequence(rub_seq);
}
if (getFrame() == 2)
{
if (i2 > 0)
i2 -= heroBd;
j = 0;
}
nextFrame();
break;
case 8: // '\b'
if (!isSmart)
{
if (centerDis < moveDis)
{
i = 0;
if (isWalkable[rdX + 1][rdY] && isWalkable[ldX][ldY + 1] && isWalkable[rdX][rdY + 1])
{
x = x + 2;
y = y + 2;
nextFrame();
} else
{
dir = 4;
setFrameSequence(lu_seq);
}
break;
}
setFrameSequence(rd);
i++;
if (i == stopTime)
{
tempX = x;
tempY = y;
chgDir();
}
break;
}
if (!collidesWith(herosprite, true))
{
if (isBattle)
{
isBattle = false;
setFrameSequence(rd_seq);
}
if (isStop)
{
setFrameSequence(rd_seq);
isStop = false;
}
if (isWalkable[rdX + 1][rdY] && isWalkable[ldX][ldY + 1] && isWalkable[rdX][rdY + 1])
{
x = x + 2;
y = y + 2;
nextFrame();
} else
{
isSmart = false;
dir = 4;
setFrameSequence(lu_seq);
}
break;
}
isStop = true;
if (!isBattle)
{
isBattle = true;
setFrameSequence(rdb_seq);
nextFrame();
break;
}
if (j < stopTime - battleSpeed)
{
j++;
isStopb = true;
setFrameSequence(rd);
break;
}
if (isStopb)
{
isStopb = false;
setFrameSequence(rdb_seq);
}
if (getFrame() == 2)
{
if (i2 > 0)
i2 -= heroBd;
j = 0;
}
nextFrame();
break;
case 7: // '\007'
if (!isSmart)
{
if (centerDis < moveDis)
{
i = 0;
if (isWalkable[ldX - 1][ldY] && isWalkable[ldX][ldY + 1] && isWalkable[rdX][rdY + 1])
{
x = x - 2;
y = y + 2;
nextFrame();
} else
{
dir = 5;
setFrameSequence(ru_seq);
}
break;
}
setFrameSequence(ld);
i++;
if (i == stopTime)
{
tempX = x;
tempY = y;
chgDir();
}
break;
}
if (!collidesWith(herosprite, true))
{
if (isBattle)
{
isBattle = false;
setFrameSequence(ld_seq);
}
if (isStop)
{
setFrameSequence(ld_seq);
isStop = false;
}
if (isWalkable[ldX - 1][ldY] && isWalkable[ldX][ldY + 1] && isWalkable[rdX][rdY + 1])
{
x = x - 2;
y = y + 2;
nextFrame();
} else
{
isSmart = false;
dir = 5;
setFrameSequence(ru_seq);
}
break;
}
isStop = true;
if (!isBattle)
{
isBattle = true;
setFrameSequence(ldb_seq);
nextFrame();
break;
}
if (j < stopTime - battleSpeed)
{
j++;
isStopb = true;
setFrameSequence(ld);
break;
}
if (isStopb)
{
isStopb = false;
setFrameSequence(ldb_seq);
}
if (getFrame() == 2)
{
if (i2 > 0)
i2 -= heroBd;
j = 0;
}
nextFrame();
break;
}
isFaced();
isAttach();
if (isSmart && heroDis > 10000)
{
isSmart = false;
chgDir();
}
dx = x - width;
dy = y - height;
} else
{
if (!isWaiting)
{
setVisible(false);
isWaiting = true;
if (i2 + lv * lv * 4 < heroMaxhp)
{
i2 += lv * lv * 4;
goldOritem = Math.abs(random.nextInt() % 2);
goldforhero = lv * 15 + random.nextInt() % 5;
} else
{
i2 = heroMaxhp;
}
deadlv = lv;
isGet = false;
}
if (k < 600)
{
if (k > 0)
deadlv = 0;
k++;
} else
{
k = 0;
isSmart = false;
isAlive = true;
setVisible(true);
hp = maxHp;
x = centerX;
y = centerY;
}
}
return i2;
}
public boolean isAttach()
{
if (collidesWith(heroSprite, true) && isFaced() && isAttach)
{
if (!isSmart)
isSmart = true;
if (hp > 0)
hp = hp - mBd;
else
isAlive = false;
return true;
} else
{
return false;
}
}
public boolean isFaced()
{
if (x == heroX && y >= heroY)
{
if (isSmart && dir != 2)
{
dir = 2;
setFrameSequence(up_seq);
}
return heroDir == 1;
}
if (x == heroX && y < heroY)
{
if (isSmart && dir != 0)
{
dir = 0;
setFrameSequence(down_seq);
}
return heroDir == 3;
}
if (x > heroX && y >= heroY)
{
if (tan041 < ((y - heroY) * 10000) / (x - heroX) && tan241 > ((y - heroY) * 10000) / (x - heroX))
{
if (isSmart && dir != 4)
{
dir = 4;
setFrameSequence(lu_seq);
}
return heroDir == 8;
}
if (0 <= ((y - heroY) * 10000) / (x - heroX) && ((y - heroY) * 10000) / (x - heroX) <= tan241)
{
if (isSmart && dir != 1)
{
dir = 1;
setFrameSequence(left_seq);
}
return heroDir == 4;
}
if (((y - heroY) * 10000) / (x - heroX) >= tan241)
{
if (isSmart && dir != 2)
{
dir = 2;
setFrameSequence(up_seq);
}
return heroDir == 1;
} else
{
return false;
}
}
if (x < heroX && y >= heroY)
{
if (-tan241 < ((y - heroY) * 10000) / (x - heroX) && -tan041 > ((y - heroY) * 10000) / (x - heroX))
{
if (isSmart && dir != 5)
{
dir = 5;
setFrameSequence(ru_seq);
}
return heroDir == 7;
}
if (0 >= ((y - heroY) * 10000) / (x - heroX) && ((y - heroY) * 10000) / (x - heroX) >= -tan041)
{
if (isSmart && dir != 3)
{
dir = 3;
setFrameSequence(right_seq);
}
return heroDir == 2;
}
if (((y - heroY) * 10000) / (x - heroX) <= -tan241)
{
if (isSmart && dir != 2)
{
dir = 2;
setFrameSequence(up_seq);
}
return heroDir == 1;
} else
{
return false;
}
}
if (x < heroX && y <= heroY)
{
if (tan041 < ((y - heroY) * 10000) / (x - heroX) && tan241 > ((y - heroY) * 10000) / (x - heroX))
{
if (isSmart && dir != 7)
{
dir = 7;
setFrameSequence(rd_seq);
}
return heroDir == 5;
}
if (0 <= ((y - heroY) * 10000) / (x - heroX) && ((y - heroY) * 10000) / (x - heroX) <= tan041)
{
if (isSmart && dir != 3)
{
dir = 3;
setFrameSequence(right_seq);
}
return heroDir == 2;
}
if (((y - heroY) * 10000) / (x - heroX) >= tan241)
{
if (isSmart && dir != 0)
{
dir = 0;
setFrameSequence(down_seq);
}
return heroDir == 3;
} else
{
return false;
}
}
if (x > heroX && y <= heroY)
{
if (-tan241 < ((y - heroY) * 10000) / (x - heroX) && -tan041 > ((y - heroY) * 10000) / (x - heroX))
{
if (isSmart && dir != 6)
{
dir = 6;
setFrameSequence(ld_seq);
}
return heroDir == 6;
}
if (0 >= ((y - heroY) * 10000) / (x - heroX) && ((y - heroY) * 10000) / (x - heroX) >= -tan041)
{
if (isSmart && dir != 1)
{
dir = 1;
setFrameSequence(left_seq);
}
return heroDir == 4;
}
if (((y - heroY) * 10000) / (x - heroX) <= -tan241)
{
if (isSmart && dir != 0)
{
dir = 0;
setFrameSequence(down_seq);
}
return heroDir == 3;
} else
{
return false;
}
} else
{
return false;
}
}
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -