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);
}
}
