Files
zeichenmaschine/examples/zm_hehomon/Hehomon.java
J. Neugebauer 4f1bd25ad7 Hehomon Beispiel implementiert
Noch Bugs bei Verwendung des Vollbildmodus vorhanden
2022-06-29 22:35:24 +02:00

148 lines
2.3 KiB
Java

import schule.ngb.zm.Drawable;
import schule.ngb.zm.Options;
import schule.ngb.zm.Updatable;
import schule.ngb.zm.shapes.Picture;
public class Hehomon extends Picture implements Updatable {
private String name, typ, bild;
protected int angr, vert;
protected int lp, lpMax;
protected boolean paralysiert = false, vergiftet = false;
private String angr1, angr2, vert1, vert2;
private double sinOffset;
public Hehomon( String pName, String pTyp, int pLp, int pAngr, int pVert, String pAngr1, String pAngr2, String pVert1, String pVert2, String pBild ) {
super(0, 0, "images/" + pBild);
name = pName;
lp = pLp;
lpMax = pLp;
angr = pAngr;
vert = pVert;
angr1 = pAngr1;
angr2 = pAngr2;
vert1 = pVert1;
vert2 = pVert2;
bild = pBild;
sinOffset = random(-PI, PI);
}
public String getName() {
return name;
}
public String getTyp() {
return typ;
}
public String getBild() {
return bild;
}
public int getLp() {
return lp;
}
public int getLpMax() {
return lpMax;
}
public int getAngr() {
return angr;
}
public int getVert() {
return vert;
}
public boolean isParalysiert() {
return paralysiert;
}
public boolean isVergiftet() {
return vergiftet;
}
public String getNameAngr1() {
return angr1;
}
public String getNameAngr2() {
return angr2;
}
public String getNameVert1() {
return vert1;
}
public String getNameVert2() {
return vert2;
}
public void setAngr( int pAngr ) {
angr = pAngr;
}
public void setVert( int pVert ) {
vert = pVert;
}
public void setParalysiert( boolean pParalysiert ) {
paralysiert = pParalysiert;
}
public void setVergiftet( boolean pVergiftet ) {
vergiftet = pVergiftet;
}
public void nimmSchaden( int pSchaden ) {
if( lp-pSchaden < 0 ) {
lp = 0;
} else {
lp -= pSchaden;
}
}
public void heilen( int pHeilung ) {
if( lp+pHeilung > lpMax ) {
lp = lpMax;
} else {
lp += pHeilung;
}
}
public void angriff1( Hehomon gegner ) {
}
public void angriff2( Hehomon gegner ) {
}
public void verteidigung1( Hehomon gegner ) {
}
public void verteidigung2( Hehomon gegner ) {
}
public boolean isActive() {
return true;
}
@Override
public void update( double delta ) {
double deltaY = sin(runtime / 800.0 * PI + sinOffset);
this.move(0.0, deltaY);
}
}