Advertisement
Guest User

Untitled

a guest
Feb 9th, 2012
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.61 KB | None | 0 0
  1. import java.awt.*;
  2. import java.awt.event.KeyEvent;
  3. import java.awt.event.KeyListener;
  4.  
  5. import javax.swing.*;
  6. public class SnakeGame extends JPanel {
  7.     private int snakeY, snakeX;
  8.     private int direction=4;    //1 hoch, 2, runter, 3 links, 4 rechts
  9.     Thread t=new Thread(new drawSnake());
  10.    
  11.    
  12.     public SnakeGame() {
  13.         setFocusable(true);
  14.         addKeyListener(new Listener());
  15.        
  16.     }
  17.    
  18.     public void paintComponent(Graphics g) {
  19.         super.paintComponent(g);
  20.         g.fillRect(snakeX, snakeY, 10, 10);
  21.     }
  22.    
  23.     public void speed() {
  24.         try {
  25.             Thread.sleep(150);
  26.         }
  27.         catch(Exception e) {}
  28.     }
  29.    
  30.     class drawSnake implements Runnable {
  31.    
  32.         public void run() {
  33.             while(direction==1) {
  34.                 snakeY-=10;
  35.                 speed();
  36.                 repaint();
  37.                 System.out.println(snakeY);
  38.                
  39.             }
  40.             while(direction==2) {
  41.                 snakeY+=10;
  42.                 speed();
  43.                 repaint();
  44.             }
  45.             while(direction==3) {
  46.                 snakeX-=10;
  47.                 speed();
  48.                 repaint();
  49.             }
  50.             while(direction==4) {
  51.                 snakeX+=10;
  52.                 speed();
  53.                 repaint();
  54.             }
  55.         }
  56.     }
  57.        
  58.     public class Listener implements KeyListener {
  59.  
  60.         @Override
  61.         public void keyPressed(KeyEvent e) {
  62.             t.interrupt();
  63.             if(e.getKeyCode()==KeyEvent.VK_UP){
  64.                 direction=1;
  65.                 t.start();
  66.             }
  67.             else if(e.getKeyCode()==KeyEvent.VK_DOWN){
  68.                 direction=2;
  69.                 t.start();
  70.             }
  71.             else if(e.getKeyCode()==KeyEvent.VK_LEFT){
  72.                 direction=3;
  73.                 t.start();
  74.             }
  75.             else if(e.getKeyCode()==KeyEvent.VK_RIGHT){
  76.                 direction=4;
  77.                 t.start();
  78.             }          
  79.         }
  80.  
  81.         @Override
  82.         public void keyReleased(KeyEvent e) {
  83.            
  84.         }
  85.  
  86.         @Override
  87.         public void keyTyped(KeyEvent e) {
  88.            
  89.         }
  90.        
  91.     }
  92.    
  93. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement