📄 pinkmonster.java
字号:
package org.loon.test;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.image.ImageObserver;
/**
*
* <p>Title: LoonFramework</p>
* <p>Description:</p>
* <p>Copyright: Copyright (c) 2008</p>
* <p>Company: LoonFramework</p>
* <p>License: http://www.apache.org/licenses/LICENSE-2.0</p>
* @author chenpeng
* @email:ceponline@yahoo.com.cn
* @version 0.1
*/
public class PinkMonster extends MonsterSprite {
Image img;
public PinkMonster(int cx, int cy, MazeManager manager, CGloader loader) {
super(cx, cy, manager);
setCGloader(loader);
}
public void init() {
super.init();
state = 3;
homex = 10;
homey = 13;
nx = 1;
ny = 5;
bound = 5;
boundc = 3;
isN = true;
yowakic = 0;
}
public int calcDist(int mask, int tx, int ty) {
int d;
int jd = target.getD();
if ((state == 0) && (!isN)) {
switch (jd) {
case 1:
tx += 384;
break;
case 2:
tx -= 384;
break;
case 4:
ty += 384;
break;
case 8:
ty -= 384;
break;
}
}
int dx = tx - vx;
int dy = ty - vy;
if (state == 1) {
dx = -dx;
dy = -dy;
}
int adx = 0;
if (dx > 0)
adx += 1;
if (dx < 0)
adx += 4;
adx &= mask;
int ady = 0;
if (dy > 0)
ady += 2;
if (dy < 0)
ady += 8;
ady &= mask;
if ((adx > 0) && (ady > 0)) {
if (abs(dy) < abs(dx))
d = ady;
else
d = adx;
} else {
d = adx | ady;
}
if (d == 0)
d = goRandom(mask);
return d;
}
public void paint(Graphics g, ImageObserver observer) {
switch (state) {
case 1:
case 2:
super.paint(g, observer);
break;
default:
Image img = loader.crop(14 * p, 74, 14, 14);
g.drawImage(img, x - 3 + 8, y - 3 + 8, 14, 14, observer);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -