All pastes #452465 Raw Edit

Stuff

public text v1 · immutable
·published 2007-04-22 09:13 UTC
rendered paste body
import java.awt.*;
import javax.swing.*;
import java.awt.event.KeyListener;
import java.awt.event.KeyEvent;
public class c_char extends JPanel implements KeyListener,Runnable  {
  
  private c_map map;
  private c_main a;
  public int x=1,y=1;
  private Image char_image;
  private MediaTracker  tracker;
  private boolean up = false;
  private boolean down = false;
  private boolean right = false;
  private boolean left = false;
  public int mangija_count = 0;
  public String nickname;
  public void keyPressed(KeyEvent e) {
    if (e.getKeyCode() == KeyEvent.VK_LEFT) {
      left = true;
    }
    if (e.getKeyCode() == KeyEvent.VK_RIGHT) {
      right = true;
    }
    if (e.getKeyCode() == KeyEvent.VK_DOWN) {
      down = true;
    }
    if (e.getKeyCode() == KeyEvent.VK_UP) {
      up = true;
    }
  }
  
         public void keyReleased(KeyEvent e) {
    
    if (e.getKeyCode() == KeyEvent.VK_LEFT) {
      left = false;
    }
    if (e.getKeyCode() == KeyEvent.VK_RIGHT) {
      right = false;
    }
    if (e.getKeyCode() == KeyEvent.VK_DOWN) {
      down = false;
    }
    if (e.getKeyCode() == KeyEvent.VK_UP) {
      up = false;
    }
  }
  
  public void keyTyped(KeyEvent e) {  }

public c_char gamer[] = new c_char[20]; // 20 playerit
  public void joonista_mangija(String image, String nimik, int x,int y,int positsion) {
    gamer[positsion] = new c_char();

    Toolkit toolkit = Toolkit.getDefaultToolkit();
    gamer[positsion].char_image = toolkit.getImage(image);
    gamer[positsion].x = x;
    gamer[positsion].y = x;
    gamer[positsion].nickname = nimik;
  
    tracker.addImage(gamer[positsion].char_image,positsion);
}
  public c_char() {
    tracker = new MediaTracker(this);
    joonista_mangija("sprite.gif","Alex",1,1,0);
    joonista_mangija("sprite.gif","Barbara",1,1,1);

  
    try {
    tracker.waitForAll();
    } catch(Exception keemia) { System.out.println("problem "+keemia); }

    map = new c_map();
    addKeyListener(this);
    setFocusable(true);
    Thread th = new Thread(this);
    th.start();
    // alustame threadi mis kontrollib playerit koguaeg..
    
  }
  public synchronized void paintComponent(Graphics g) {
    
    super.paintComponent(g); // puhastame kõik
    map.paintComponent(g); // laeme uuesti mapi millegipärast :\
    int xp = (map.ruudu_korgus * x);
    int yp = (map.ruudu_korgus * y);
    g.setColor(Color.pink);
    g.drawString("Alex",xp,yp-5);
  //  g.drawImage(char_image, xp, yp,this);
  }
  
  public boolean liigu_funktsioon_(int dx, int dy) {

    int nx = x + dx;
    int ny = y + dy;
 
    if (validLocation(nx, ny)) { // Vaatame ega me keelatud alale ei lähe

      x = nx;
      y = ny;
      repaint();
      return true;
    }

    return false;
  }
  public boolean validLocation(int nx, int ny) {
    if (map.struktuur[nx][ny] == map.blokeeritud) {
    return false;          }
    return true;
  }
  /* Threadi koht */
  
  public void run() {
    while(true) {
      try {
        repaint();
 
        int x1=0,y1=0;

        Thread.sleep(100);
        if (left) {
          x1 -= 1;
        }
        if (right) {
          x1 += 1;
        }
        if (up) {
          y1 -= 1;
        }
        if (down) {
          y1 += 1;
        }
        if ((x1 != 0) || (y1 != 0)) {
          liigu_funktsioon_(x1,y1); // Üritame liigutada

        }

      } catch(Exception e) { System.out.println("problem "+e); }
    }
  }
}