PacMan game movement
<p>I am creating a pacman game in Java and I have 1 problem I can't get rid of.. The problem is as follows:</p>

<p>I have 4 buttons in the game screen for each way: up, down, left, right. The problem is that I can not use the buttons in the same time in x position as in the y position because I always get a value of 0 ( you understand this if you see my code below ) </p>

<p>Below you can find my class for the pacman that i think is related to the problem ( see setBesturing(int besturing) method )</p>

<pre><code>package h04PacMan;

/*
 * PacMan laten bewegen
 */

import java.awt.*;
import java.awt.event.*;

import javax.swing.*;

public class PacMan extends JPanel implements ActionListener {

private int horizontalePlaats = 250; // x location
private int verticalePlaats = 150; // y location
private int richtingEnSnelheid = +10; // speed
private final int WACHTTIJD = 500; // DELAY
int diameter;
int waarde;

public PacMan() {

    // create timer and start timer
            javax.swing.Timer autoKlik = new javax.swing.Timer(WACHTTIJD, this);

            autoKlik.start();
}

public int getHorPlaats() {
    return horizontalePlaats;
}

// current y positie

public int getVerPlaats() {
    return verticalePlaats;
}

// speed and way;
public int getRichtingEnSnelheid() {
    return richtingEnSnelheid;
}

// new x position

public void setHorPlaats(int nieuweHorPlaats) {

    if(nieuweHorPlaats &gt; getWidth()) {

        nieuweHorPlaats = 0;
    }
    else if(nieuweHorPlaats &lt; 0) {

        nieuweHorPlaats = getWidth();
    }

    horizontalePlaats = nieuweHorPlaats;

}

// new y position 
public void setVerPlaats(int nieuweVerPlaats) {

    if(nieuweVerPlaats &gt; getHeight()) {

        nieuweVerPlaats = 0;
    }
    else if(nieuweVerPlaats &lt; 0) {

        nieuweVerPlaats = getHeight();
    }

    verticalePlaats = nieuweVerPlaats;

}

public void setRichtingEnSnelheid(int nieuweRichtingEnSnelheid) {

    richtingEnSnelheid = nieuweRichtingEnSnelheid;

}

//movement
public void setBesturing(int besturing) {

    besturing = waarde;

    if(waarde == 0) {
        setVerPlaats( getVerPlaats() + richtingEnSnelheid);
    }
    else if(waarde == 1){
        setHorPlaats( getHorPlaats() + richtingEnSnelheid);
    }
}

@Override
public void actionPerformed(ActionEvent e) {

    setBesturing(waarde);
    System.out.println(waarde);
    repaint();

}

DrawPacMan pacman = new DrawPacMan();
DrawPacMan ghost1 = new DrawPacMan();
DrawPacMan ghost2 = new DrawPacMan();

public void paintComponent(Graphics g) {

    super.paintComponent(g);
    // pacman movement
    diameter = 75;  
    pacman.drawPacMan(g, getHorPlaats(), getVerPlaats(), diameter, Color.yellow);

    // ghosts movement
    int g1x;
    for(g1x = 0; g1x &lt; 10; g1x++) {

        pacman.drawGhost(g, g1x, 40, diameter, Color.red);

    }
    pacman.drawGhost(g, 170, 70, diameter, Color.blue);


}

}
</code></pre>

<p>and this is the actionListener in my gamecontrol class</p>

<pre><code>    @Override
public void actionPerformed(ActionEvent e) {

    if(e.getSource() == links) {

        pacman.setRichtingEnSnelheid( -10 );
        pacman.setBesturing(1);
        System.out.println("links");
    }
    else if(e.getSource() == rechts) {
        pacman.setRichtingEnSnelheid( +10 );
        pacman.setBesturing(1);
        System.out.println("rechts");
    }
    else if(e.getSource() == boven) {
        pacman.setRichtingEnSnelheid( -10);
        pacman.setBesturing(0);
        System.out.println("boven");
    }
    else {
        pacman.setRichtingEnSnelheid( +10);
        pacman.setBesturing(0);
        System.out.println("beneden");
    }


}
</code></pre>
