Advertisement
Guest User

Untitled

a guest
Sep 21st, 2017
61
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.69 KB | None | 0 0
  1. import java.awt.Color;
  2. import java.awt.Graphics;
  3. import java.awt.event.KeyEvent;
  4. import java.awt.event.KeyListener;
  5.  
  6. import javax.swing.JFrame;
  7. import javax.swing.JPanel;
  8.  
  9. public class Game extends JPanel implements KeyListener {
  10.    
  11.     boolean[] keys = new boolean[1000];
  12.     double x = 100;
  13.     double y = 100;
  14.     JFrame frame;
  15.  
  16.     public Game() {
  17.         this.setBackground(Color.BLACK);
  18.         frame = new JFrame();
  19.         frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  20.         frame.addKeyListener(this);
  21.         frame.add(this);
  22.         frame.setSize(640, 480);
  23.         frame.setLocationRelativeTo(null);
  24.         frame.setVisible(true);
  25.  
  26.         loop();
  27.     }
  28.  
  29.     private void loop() {
  30.         while (true) {
  31.             long t0 = System.currentTimeMillis();
  32.             repaint();
  33.             logic();
  34.             long duration = System.currentTimeMillis() - t0;
  35.  
  36.             if (duration < 16) {
  37.                 try {
  38.                     Thread.sleep(16 - duration);
  39.                 } catch (InterruptedException e) {
  40.                     e.printStackTrace();
  41.                 }
  42.             }
  43.         }
  44.     }
  45.  
  46.     private void logic() {
  47.         double speed = 3.0;
  48.         if (keys[KeyEvent.VK_UP]) {
  49.             y -= speed;
  50.         }
  51.         if (keys[KeyEvent.VK_DOWN]) {
  52.             y += speed;
  53.         }
  54.         if (keys[KeyEvent.VK_LEFT]) {
  55.             x -= speed;
  56.         }
  57.         if (keys[KeyEvent.VK_RIGHT]) {
  58.             x += speed;
  59.         }
  60.         if (keys[KeyEvent.VK_ESCAPE]) {
  61.             System.exit(0);
  62.         }
  63.     }
  64.  
  65.     @Override
  66.     public void paint(Graphics g) {
  67.         super.paint(g);
  68.         g.setColor(Color.WHITE);
  69.         g.fillRect((int) x, (int) y, 30, 30);
  70.     }
  71.  
  72.     public static void main(String[] args) {
  73.         new Game();
  74.     }
  75.  
  76.     @Override
  77.     public void keyPressed(KeyEvent e) {
  78.         keys[e.getKeyCode()] = true;
  79.     }
  80.  
  81.     @Override
  82.     public void keyReleased(KeyEvent e) {
  83.         keys[e.getKeyCode()] = false;
  84.     }
  85.  
  86.     @Override
  87.     public void keyTyped(KeyEvent e) {
  88.     }
  89. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement