Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.awt.Color;
- import java.awt.Dimension;
- import java.awt.event.KeyEvent;
- import java.awt.event.KeyListener;
- import javax.swing.*;
- public class Main {
- private static int speed = 1;
- public static void gravity() {
- speed = speed + 1; // ubrzava jedan piksel kroz jednu promenu
- }
- public static void jump() {
- speed = -14; // speed se stavlja negativni da ide u suprotnom smeru na kratko
- // posto gravity povecava za jedan piksel preci ce iz negativnog u pozitivno
- // posle 14 krugova
- }
- public static void main(String[] args) {
- JFrame f = new JFrame();
- f.setLayout(null);
- f.setTitle("Birdy");
- f.setDefaultCloseOperation(3);
- f.setSize(800, 600);
- f.setVisible(true);
- JLayeredPane background = new JLayeredPane();
- background.setBounds(0, 0, 800, 600);
- background.setBackground(new Color(255, 100, 200));
- background.setOpaque(true);
- background.setLayout(null);
- background.setVisible(true);
- f.add(background);
- JLabel bird = new JLabel();
- bird.setBounds(100, 100, 50, 50);
- bird.setBackground(new Color(25, 25, 25));
- bird.setOpaque(true);
- background.add(bird);
- JLabel tube = new JLabel();
- f.addKeyListener(new KeyListener() {
- public void keyPressed(KeyEvent e) {
- if (e.getKeyCode() == 32) {
- jump();
- }
- }
- public void keyReleased(KeyEvent arg0) {
- }
- public void keyTyped(KeyEvent arg0) {
- }
- });
- while (true) {
- boolean start = true;
- while (start == true) {
- //set location and change gravity speed
- bird.setLocation(bird.getX(), bird.getY() + speed);
- gravity();
- //tubes
- // if it hits top or bottom
- if (bird.getY() < background.getY() || bird.getY() + bird.getHeight() > background.getHeight()) {
- System.out.println("OVER");
- speed = 1; // reset
- bird.setLocation(100, 100);
- break; // exit second while
- }
- //if it hits tubes
- try {
- Thread.sleep(16); // 1000/60 = ~16 (60fps)
- } catch (InterruptedException e) {
- }
- f.repaint();
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement