title: java game smooth movement
body: <p>I've understood that to achieve fluid movement for a java image I have to set <code>booleans</code> and then trigger actions from that state.<br/>
  I've tried to set it up in the run loop but the sprite isn't moving. I've tried dubugging it and it goes inside every method so I don't know what I'm doing wrong.</p>
  
  <pre><code>public void run(){
      while (running){
      go();
      repaint();
      System.out.println("The game runs");
      try {
          Thread.sleep(1000/60);
      } catch (InterruptedException e) {
          // TODO Auto-generated catch block
          e.printStackTrace();
      }
  
      }
  }
  
  
  //PAINT GRAPHICS
  public void paintComponent (Graphics g){
      super.paintComponent(g);
      g.drawImage(bg, 0, 0, this);
      g.drawImage(sprite, cordX, cordY, this);
  
  
  }
  
  //LOAD IMAGES
  public void load (){
              try {
          String bgpath = "res/bg.png";
          bg = ImageIO.read(new File (sfondopath));
          String spritepath = "res/sprite.png";
          sprite = ImageIO.read(new File (spritespath));
      } catch (IOException e) {
  
          e.printStackTrace();
      }
  
  }
  
  
  //MOVEMENT
  public void go(){
      cordX += vX;
      cordX += vY;
  
  }
  
  public void gameupdate(){
      vX=0;
      vY=0;
      if (down) vY = speed;
      if (up) vY = -speed;
      if (left) vX = -speed;
      if (right) vX = speed;
  }
  
  
  
  public void keyPressed(KeyEvent ke) {
       switch (ke.getKeyCode()) {
       //if the right arrow in keyboard is pressed...
       case KeyEvent.VK_RIGHT: {
           down = true;
       }
       break;
       //if the left arrow in keyboard is pressed...
       case KeyEvent.VK_LEFT: {
           up = true;
       }
       break;
       //if the down arrow in keyboard is pressed...
       case KeyEvent.VK_DOWN: {
           right = true;
       }
       break;
       //if the up arrow in keyboard is pressed...
       case KeyEvent.VK_UP: {
           left = true;
       }
       break;
   }
   gameupdate();
  }
  
  
  
  
  public void keyReleased(KeyEvent ke) {
  
       switch (ke.getKeyCode()) {
       //if the right arrow in keyboard is pressed...
       case KeyEvent.VK_RIGHT: {
           down = false;
       }
       break;
       //if the left arrow in keyboard is pressed...
       case KeyEvent.VK_LEFT: {
           up = false;
       }
       break;
       //if the down arrow in keyboard is pressed...
       case KeyEvent.VK_DOWN: {
           right = false;
       }
       break;
       //if the up arrow in keyboard is pressed...
       case KeyEvent.VK_UP: {
           left = false;
       }
       break;
   }
   gameupdate();
  
  }
  </code></pre>