send edited code Main 2 public class Main2 public static vo
send edited code
Main 2
public class Main2 {
public static void main(String[] args) {
EZ.initialize(512, 512);
EZ.addImage(\"metropolis.jpg\", 256, 256);
Hero myHero = new Hero(100,390);
//HeroPlus mySecondHero = new HeroPlus(100,390);
while(true){
myHero.processStates();
//mySecondHero.processStates();
EZ.refreshScreen();
}
}
}
Hero Plus
public class HeroPlus {
EZImage heroStand;
EZImage heroJump;
EZImage heroLand;
EZImage heroHover;
EZImage heroPunch; // PUNCH
int posx = 0;
int posy = 0;
int heroState = STAND;
static final int STAND = 1;
static final int JUMP = 2;
static final int LAND = 3;
static final int HOVER = 4;
static final int PUNCH = 5;
static final int JUMPHEIGHT = 100;
static final int PUNCHDISTANCE = 50; // PUNCH
int punchCounter = 0; // PUNCH
int jumpCounter = 0;
HeroPlus(int x, int y) {
posx = x;
posy = y;
heroStand = EZ.addImage(\"superstand.png\", posx, posy);
heroLand = EZ.addImage(\"superland.png\", posx, posy);
heroJump = EZ.addImage(\"superjump.png\", posx, posy);
heroHover = EZ.addImage(\"superhover.png\", posx, posy);
heroPunch = EZ.addImage(\"superpunch.png\", posx, posy); // PUNCH
hideHero();
heroStand.show();
}
void hideHero() {
heroStand.hide();
heroLand.hide();
heroJump.hide();
heroHover.hide();
heroPunch.hide(); // PUNCH
}
void positionHero(int x, int y) {
heroStand.translateTo(x, y);
heroJump.translateTo(x, y);
heroLand.translateTo(x, y);
heroHover.translateTo(x, y);
heroPunch.translateTo(x, y); // PUNCH
}
void processStates() {
switch (heroState) {
case STAND:
if (EZInteraction.wasKeyPressed(\'j\')) {
heroState = JUMP;
jumpCounter = 0;
hideHero();
heroJump.show();
}
break;
case JUMP:
jumpCounter++;
if (EZInteraction.wasKeyPressed(\'p\')) {
punchCounter = 0;
hideHero();
heroPunch.show();
heroState = PUNCH;
}
if (jumpCounter > JUMPHEIGHT) {
heroState = LAND;
hideHero();
heroLand.show();
} else {
posy -= 2;
positionHero(posx, posy);
if (EZInteraction.wasKeyPressed(\'h\')) {
heroState = HOVER;
hideHero();
heroHover.show();
}
}
break;
case PUNCH: // PUNCH
punchCounter++;
posx += 2;
positionHero(posx, posy);
if (punchCounter > PUNCHDISTANCE) {
heroState = LAND;
hideHero();
heroLand.show();
}
break;
case LAND:
jumpCounter--;
if (jumpCounter <= 0) {
heroState = STAND;
hideHero();
heroStand.show();
} else {
posy += 2;
positionHero(posx, posy);
if (EZInteraction.wasKeyPressed(\'h\')) {
heroState = HOVER;
hideHero();
heroHover.show();
}
}
break;
case HOVER:
if (EZInteraction.wasKeyPressed(\'l\')) {
heroState = LAND;
hideHero();
heroLand.show();
}
break;
}
}
}
Solution
public class Main2 {
public static void main(String[] args) {
EZ.initialize(512, 512);
EZ.addImage(\"metropolis.jpg\", 256, 256);
// Hero myHero = new Hero(100,390);
HeroPlus mySecondHero = new HeroPlus(100,390);
while(true){
//myHero.processStates();
mySecondHero.processStates();
EZ.refreshScreen();
}
}
}
class HeroPlus {
EZImage heroStand;
EZImage heroJump;
EZImage heroLand;
EZImage heroHover;
EZImage heroPunch; // PUNCH
int posx = 0;
int posy = 0;
int heroState = STAND;
static final int STAND = 1;
static final int JUMP = 2;
static final int LAND = 3;
static final int HOVER = 4;
static final int PUNCH = 5;
static final int JUMPHEIGHT = 100;
static final int PUNCHDISTANCE = 50; // PUNCH
int punchCounter = 0; // PUNCH
int jumpCounter = 0;
HeroPlus(int x, int y) {
posx = x;
posy = y;
heroStand = EZ.addImage(\"superstand.png\", posx, posy);
heroLand = EZ.addImage(\"superland.png\", posx, posy);
heroJump = EZ.addImage(\"superjump.png\", posx, posy);
heroHover = EZ.addImage(\"superhover.png\", posx, posy);
heroPunch = EZ.addImage(\"superpunch.png\", posx, posy); // PUNCH
hideHero();
heroStand.show();
}
void hideHero() {
heroStand.hide();
heroLand.hide();
heroJump.hide();
heroHover.hide();
heroPunch.hide(); // PUNCH
}
void positionHero(int x, int y) {
heroStand.translateTo(x, y);
heroJump.translateTo(x, y);
heroLand.translateTo(x, y);
heroHover.translateTo(x, y);
heroPunch.translateTo(x, y); // PUNCH
}
void processStates() {
switch (heroState) {
case STAND:
if (EZInteraction.wasKeyPressed(\'j\')) {
heroState = JUMP;
jumpCounter = 0;
hideHero();
heroJump.show();
}
break;
case JUMP:
jumpCounter++;
if (EZInteraction.wasKeyPressed(\'p\')) {
punchCounter = 0;
hideHero();
heroPunch.show();
heroState = PUNCH;
}
if (jumpCounter > JUMPHEIGHT) {
heroState = LAND;
hideHero();
heroLand.show();
} else {
posy -= 2;
positionHero(posx, posy);
if (EZInteraction.wasKeyPressed(\'h\')) {
heroState = HOVER;
hideHero();
heroHover.show();
}
}
break;
case PUNCH: // PUNCH
punchCounter++;
posx += 2;
positionHero(posx, posy);
if (punchCounter > PUNCHDISTANCE) {
heroState = LAND;
hideHero();
heroLand.show();
}
break;
case LAND:
jumpCounter--;
if (jumpCounter <= 0) {
heroState = STAND;
hideHero();
heroStand.show();
} else {
posy += 2;
positionHero(posx, posy);
if (EZInteraction.wasKeyPressed(\'h\')) {
heroState = HOVER;
hideHero();
heroHover.show();
}
}
break;
case HOVER:
jumpCounter++;
if (EZInteraction.wasKeyPressed(\'j\')) {
punchCounter = 0;
hideHero();
heroPunch.show();
heroState = JUMP;
}
if (EZInteraction.wasKeyPressed(\'h\')) {
heroState = HOVER;
hideHero();
heroHover.show();
}
if (EZInteraction.wasKeyPressed(\'p\')) {
punchCounter = 0;
hideHero();
heroPunch.show();
heroState = PUNCH;
}
if (EZInteraction.wasKeyPressed(\'l\')) {
heroState = LAND;
hideHero();
heroLand.show();
}
break;
}
}
}
![send edited code Main 2 public class Main2 { public static void main(String[] args) { EZ.initialize(512, 512); EZ.addImage(\ send edited code Main 2 public class Main2 { public static void main(String[] args) { EZ.initialize(512, 512); EZ.addImage(\](/WebImages/29/send-edited-code-main-2-public-class-main2-public-static-vo-1078969-1761566319-0.webp)
![send edited code Main 2 public class Main2 { public static void main(String[] args) { EZ.initialize(512, 512); EZ.addImage(\ send edited code Main 2 public class Main2 { public static void main(String[] args) { EZ.initialize(512, 512); EZ.addImage(\](/WebImages/29/send-edited-code-main-2-public-class-main2-public-static-vo-1078969-1761566319-1.webp)
![send edited code Main 2 public class Main2 { public static void main(String[] args) { EZ.initialize(512, 512); EZ.addImage(\ send edited code Main 2 public class Main2 { public static void main(String[] args) { EZ.initialize(512, 512); EZ.addImage(\](/WebImages/29/send-edited-code-main-2-public-class-main2-public-static-vo-1078969-1761566319-2.webp)
![send edited code Main 2 public class Main2 { public static void main(String[] args) { EZ.initialize(512, 512); EZ.addImage(\ send edited code Main 2 public class Main2 { public static void main(String[] args) { EZ.initialize(512, 512); EZ.addImage(\](/WebImages/29/send-edited-code-main-2-public-class-main2-public-static-vo-1078969-1761566319-3.webp)
![send edited code Main 2 public class Main2 { public static void main(String[] args) { EZ.initialize(512, 512); EZ.addImage(\ send edited code Main 2 public class Main2 { public static void main(String[] args) { EZ.initialize(512, 512); EZ.addImage(\](/WebImages/29/send-edited-code-main-2-public-class-main2-public-static-vo-1078969-1761566319-4.webp)
![send edited code Main 2 public class Main2 { public static void main(String[] args) { EZ.initialize(512, 512); EZ.addImage(\ send edited code Main 2 public class Main2 { public static void main(String[] args) { EZ.initialize(512, 512); EZ.addImage(\](/WebImages/29/send-edited-code-main-2-public-class-main2-public-static-vo-1078969-1761566319-5.webp)
![send edited code Main 2 public class Main2 { public static void main(String[] args) { EZ.initialize(512, 512); EZ.addImage(\ send edited code Main 2 public class Main2 { public static void main(String[] args) { EZ.initialize(512, 512); EZ.addImage(\](/WebImages/29/send-edited-code-main-2-public-class-main2-public-static-vo-1078969-1761566319-6.webp)