Hello I am relatively new to programming and I am just taking a course this year in high-school. I have been playing around with a project. Here is what I need help with: What I want is a way that I can keep track of whether the left or right key was pressed last. Not the very last key pressed but which one was more recent. This will be so I can tell the program what set of images to rotate through when no keys are being pressed and what to rotate through when the a or s keys are being pressed based on whether the left or right key was more recent. I want to get rid of having to press the d and f keys for a seperate direction kick and punch. (f) notation stands for flipped image in my code btw. Here is my code:
import greenfoot.*; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo) /** * Write a description of class Fighter here. * * @author (your name) * @version (a version number or a date) */ public class Fighter extends Animal { private GreenfootImage image1; private GreenfootImage image2; private GreenfootImage image3; private GreenfootImage image4; private GreenfootImage image5; private GreenfootImage image6; private GreenfootImage image7; private GreenfootImage image8; private GreenfootImage image9; private GreenfootImage image10; private GreenfootImage image11; private GreenfootImage image12; private GreenfootImage image13; private GreenfootImage image14; private GreenfootImage image15; private GreenfootImage image16; private GreenfootImage image17; private GreenfootImage image18; /** * Act - do whatever the Fighter wants to do. This method is called whenever * the 'Act' or 'Run' button gets pressed in the environment. */ public Fighter() { image1 = new GreenfootImage("Fighter Neutral 1.png"); image2 = new GreenfootImage("Fighter Neutral 2.png"); image3 = new GreenfootImage("Fighter Neutral 3.png"); image4 = new GreenfootImage("Fighter Kick 1.png"); image5 = new GreenfootImage("Fighter Kick 2.png"); image6 = new GreenfootImage("Fighter Kick 3.png"); image7 = new GreenfootImage("Fighter Punch 1.png"); image8 = new GreenfootImage("Fighter Punch 2.png"); image9 = new GreenfootImage("Fighter Punch 3.png"); image10 = new GreenfootImage("Fighter Neutral 1(f).png"); image11 = new GreenfootImage("Fighter Neutral 2(f).png"); image12 = new GreenfootImage("Fighter Neutral 3(f).png"); image13 = new GreenfootImage("Fighter Kick 1(f).png"); image14 = new GreenfootImage("Fighter Kick 2(f).png"); image15 = new GreenfootImage("Fighter Kick 3(f).png"); image16 = new GreenfootImage("Fighter Punch 1(f).png"); image17 = new GreenfootImage("Fighter Punch 2(f).png"); image18 = new GreenfootImage("Fighter Punch 3(f).png"); } public void act() { move(); attack(); } public void move() { if (Greenfoot.isKeyDown("right")) { move(3); setImage(image1); wait(2); setImage(image2); move(3); wait(5); setImage(image3); wait(2); move(3); } if (Greenfoot.isKeyDown("left")) { move(-3); setImage(image10); wait(2); setImage(image11); move(-3); wait(5); setImage(image12); wait(2); move(-3); } } public void attack() { if (Greenfoot.isKeyDown("d")) { setImage(image4); wait(5); setImage(image5); wait(5); setImage(image6); wait(10); } if (Greenfoot.isKeyDown("f")) { setImage(image7); wait(5); setImage(image8); wait(5); setImage(image9); wait(10); } if (Greenfoot.isKeyDown("a")) { setImage(image16); wait(5); setImage(image17); wait(5); setImage(image18); wait(10); } if (Greenfoot.isKeyDown("s")) { setImage(image13); wait(5); setImage(image14); wait(5); setImage(image15); wait(10); } } public void wait(int time) { Greenfoot.delay(time); } }