From e898d345fe09a437d17e467d8246cb6b71fb5802 Mon Sep 17 00:00:00 2001 From: ss Date: Sat, 20 May 2017 19:24:14 +0100 Subject: [PATCH 1/9] new --- .project | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 .project diff --git a/.project b/.project new file mode 100644 index 0000000..58bdf8a --- /dev/null +++ b/.project @@ -0,0 +1,11 @@ + + + flappy + + + + + + + + From 21148d4f7123bf9993d33375fb786d3144ea94b7 Mon Sep 17 00:00:00 2001 From: ss Date: Sat, 20 May 2017 19:29:47 +0100 Subject: [PATCH 2/9] flappyBlock update --- flappyBird/FlappyBird.java | 295 +++++++++++++++++++++++++++++++++++++ flappyBird/Renderer.java | 20 +++ 2 files changed, 315 insertions(+) create mode 100644 flappyBird/FlappyBird.java create mode 100644 flappyBird/Renderer.java diff --git a/flappyBird/FlappyBird.java b/flappyBird/FlappyBird.java new file mode 100644 index 0000000..25758f3 --- /dev/null +++ b/flappyBird/FlappyBird.java @@ -0,0 +1,295 @@ +package flappyBird; + +import java.awt.Color; +import java.awt.Font; +import java.awt.Graphics; +import java.awt.Rectangle; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; +import java.awt.event.KeyEvent; +import java.awt.event.KeyListener; +import java.awt.event.MouseEvent; +import java.awt.event.MouseListener; +import java.util.ArrayList; +import java.util.Random; + +import javax.swing.JFrame; +import javax.swing.Timer; + +public class FlappyBird implements ActionListener, MouseListener, KeyListener +{ + + public static FlappyBird flappyBird; + + public final int WIDTH = 800, HEIGHT = 800; + + public Renderer renderer; + + public Rectangle bird; + + public ArrayList columns; + + public int ticks, yMotion, score; + + public boolean gameOver, started; + + public Random rand; + + public FlappyBird() + { + JFrame jframe = new JFrame(); + Timer timer = new Timer(20, this); + + renderer = new Renderer(); + rand = new Random(); + + jframe.add(renderer); + jframe.setTitle("Flappy Bird"); + jframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + jframe.setSize(WIDTH, HEIGHT); + jframe.addMouseListener(this); + jframe.addKeyListener(this); + jframe.setResizable(false); + jframe.setVisible(true); + + bird = new Rectangle(WIDTH / 2 - 10, HEIGHT / 2 - 10, 20, 20); + columns = new ArrayList(); + + addColumn(true); + addColumn(true); + addColumn(true); + addColumn(true); + + timer.start(); + } + + public void addColumn(boolean start) + { + int space = 300; + int width = 100; + int height = 50 + rand.nextInt(300); + + if (start) + { + columns.add(new Rectangle(WIDTH + width + columns.size() * 300, HEIGHT - height - 120, width, height)); + columns.add(new Rectangle(WIDTH + width + (columns.size() - 1) * 300, 0, width, HEIGHT - height - space)); + } + else + { + columns.add(new Rectangle(columns.get(columns.size() - 1).x + 600, HEIGHT - height - 120, width, height)); + columns.add(new Rectangle(columns.get(columns.size() - 1).x, 0, width, HEIGHT - height - space)); + } + } + + public void paintColumn(Graphics g, Rectangle column) + { + g.setColor(Color.green.darker()); + g.fillRect(column.x, column.y, column.width, column.height); + } + + public void jump() + { + if (gameOver) + { + bird = new Rectangle(WIDTH / 2 - 10, HEIGHT / 2 - 10, 20, 20); + columns.clear(); + yMotion = 0; + score = 0; + + addColumn(true); + addColumn(true); + addColumn(true); + addColumn(true); + + gameOver = false; + } + + if (!started) + { + started = true; + } + else if (!gameOver) + { + if (yMotion > 0) + { + yMotion = 0; + } + + yMotion -= 10; + } + } + + @Override + public void actionPerformed(ActionEvent e) + { + int speed = 10; + + ticks++; + + if (started) + { + for (int i = 0; i < columns.size(); i++) + { + Rectangle column = columns.get(i); + + column.x -= speed; + } + + if (ticks % 2 == 0 && yMotion < 15) + { + yMotion += 2; + } + + for (int i = 0; i < columns.size(); i++) + { + Rectangle column = columns.get(i); + + if (column.x + column.width < 0) + { + columns.remove(column); + + if (column.y == 0) + { + addColumn(false); + } + } + } + + bird.y += yMotion; + + for (Rectangle column : columns) + { + if (column.y == 0 && bird.x + bird.width / 2 > column.x + column.width / 2 - 10 && bird.x + bird.width / 2 < column.x + column.width / 2 + 10) + { + score++; + } + + if (column.intersects(bird)) + { + gameOver = true; + + if (bird.x <= column.x) + { + bird.x = column.x - bird.width; + + } + else + { + if (column.y != 0) + { + bird.y = column.y - bird.height; + } + else if (bird.y < column.height) + { + bird.y = column.height; + } + } + } + } + + if (bird.y > HEIGHT - 120 || bird.y < 0) + { + gameOver = true; + } + + if (bird.y + yMotion >= HEIGHT - 120) + { + bird.y = HEIGHT - 120 - bird.height; + gameOver = true; + } + } + + renderer.repaint(); + } + + public void repaint(Graphics g) + { + g.setColor(Color.cyan); + g.fillRect(0, 0, WIDTH, HEIGHT); + + g.setColor(Color.orange); + g.fillRect(0, HEIGHT - 120, WIDTH, 120); + + g.setColor(Color.green); + g.fillRect(0, HEIGHT - 120, WIDTH, 20); + + g.setColor(Color.red); + g.fillRect(bird.x, bird.y, bird.width, bird.height); + + for (Rectangle column : columns) + { + paintColumn(g, column); + } + + g.setColor(Color.white); + g.setFont(new Font("Arial", 1, 100)); + + if (!started) + { + g.drawString("Click to start!", 75, HEIGHT / 2 - 50); + } + + if (gameOver) + { + g.drawString("Game Over!", 100, HEIGHT / 2 - 50); + } + + if (!gameOver && started) + { + g.drawString(String.valueOf(score), WIDTH / 2 - 25, 100); + } + } + + public static void main(String[] args) + { + flappyBird = new FlappyBird(); + } + + @Override + public void mouseClicked(MouseEvent e) + { + jump(); + } + + @Override + public void keyReleased(KeyEvent e) + { + if (e.getKeyCode() == KeyEvent.VK_SPACE) + { + jump(); + } + } + + @Override + public void mousePressed(MouseEvent e) + { + } + + @Override + public void mouseReleased(MouseEvent e) + { + } + + @Override + public void mouseEntered(MouseEvent e) + { + } + + @Override + public void mouseExited(MouseEvent e) + { + } + + @Override + public void keyTyped(KeyEvent e) + { + + } + + @Override + public void keyPressed(KeyEvent e) + { + + } + +} diff --git a/flappyBird/Renderer.java b/flappyBird/Renderer.java new file mode 100644 index 0000000..cb8a1ad --- /dev/null +++ b/flappyBird/Renderer.java @@ -0,0 +1,20 @@ +package flappyBird; + +import java.awt.Graphics; + +import javax.swing.JPanel; + +public class Renderer extends JPanel +{ + + private static final long serialVersionUID = 1L; + + @Override + protected void paintComponent(Graphics g) + { + super.paintComponent(g); + + FlappyBird.flappyBird.repaint(g); + } + +} From 6490258d7adf1a6f0facb338569b9590bfc39cfb Mon Sep 17 00:00:00 2001 From: ss Date: Sat, 20 May 2017 19:31:32 +0100 Subject: [PATCH 3/9] rename --- flappyBird/FlappyBird.java => flappyBlock/FlappyBlock.java | 0 {flappyBird => flappyBlock}/Renderer.java | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename flappyBird/FlappyBird.java => flappyBlock/FlappyBlock.java (100%) rename {flappyBird => flappyBlock}/Renderer.java (100%) diff --git a/flappyBird/FlappyBird.java b/flappyBlock/FlappyBlock.java similarity index 100% rename from flappyBird/FlappyBird.java rename to flappyBlock/FlappyBlock.java diff --git a/flappyBird/Renderer.java b/flappyBlock/Renderer.java similarity index 100% rename from flappyBird/Renderer.java rename to flappyBlock/Renderer.java From cbf53094b3e59ccb25a0c6795b0a044ba9f42668 Mon Sep 17 00:00:00 2001 From: ss Date: Sat, 20 May 2017 19:54:41 +0100 Subject: [PATCH 4/9] a --- flappyBlock/FlappyBlock.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/flappyBlock/FlappyBlock.java b/flappyBlock/FlappyBlock.java index 25758f3..31b7412 100644 --- a/flappyBlock/FlappyBlock.java +++ b/flappyBlock/FlappyBlock.java @@ -65,7 +65,7 @@ public FlappyBird() public void addColumn(boolean start) { - int space = 300; + int space = 400; int width = 100; int height = 50 + rand.nextInt(300); From bc13f6c3e08283aee682792daefa56760daa41c5 Mon Sep 17 00:00:00 2001 From: ss Date: Sat, 20 May 2017 19:56:20 +0100 Subject: [PATCH 5/9] w --- flappyBlock/FlappyBlock.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/flappyBlock/FlappyBlock.java b/flappyBlock/FlappyBlock.java index 31b7412..25758f3 100644 --- a/flappyBlock/FlappyBlock.java +++ b/flappyBlock/FlappyBlock.java @@ -65,7 +65,7 @@ public FlappyBird() public void addColumn(boolean start) { - int space = 400; + int space = 300; int width = 100; int height = 50 + rand.nextInt(300); From eced52969d483ce642a75fe7d771ce34e2db1c19 Mon Sep 17 00:00:00 2001 From: ss Date: Sat, 20 May 2017 21:27:16 +0100 Subject: [PATCH 6/9] Signed-off-by: ss --- flappyBlock/FlappyBlock.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/flappyBlock/FlappyBlock.java b/flappyBlock/FlappyBlock.java index 25758f3..3d22e95 100644 --- a/flappyBlock/FlappyBlock.java +++ b/flappyBlock/FlappyBlock.java @@ -65,7 +65,7 @@ public FlappyBird() public void addColumn(boolean start) { - int space = 300; + int space = 2300; int width = 100; int height = 50 + rand.nextInt(300); From c8b8faf114fb49ed11d73e8204e69571c357f408 Mon Sep 17 00:00:00 2001 From: ss Date: Sat, 20 May 2017 21:44:55 +0100 Subject: [PATCH 7/9] zfg --- flappyBlock/FlappyBlock.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/flappyBlock/FlappyBlock.java b/flappyBlock/FlappyBlock.java index 3d22e95..0b993d6 100644 --- a/flappyBlock/FlappyBlock.java +++ b/flappyBlock/FlappyBlock.java @@ -65,7 +65,7 @@ public FlappyBird() public void addColumn(boolean start) { - int space = 2300; + int space = 200; int width = 100; int height = 50 + rand.nextInt(300); From a60517a50ba7183f2fc77d5955c0242788d5c8c7 Mon Sep 17 00:00:00 2001 From: ss Date: Sat, 20 May 2017 21:50:38 +0100 Subject: [PATCH 8/9] ss --- flappyBlock/FlappyBlock.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/flappyBlock/FlappyBlock.java b/flappyBlock/FlappyBlock.java index 0b993d6..25758f3 100644 --- a/flappyBlock/FlappyBlock.java +++ b/flappyBlock/FlappyBlock.java @@ -65,7 +65,7 @@ public FlappyBird() public void addColumn(boolean start) { - int space = 200; + int space = 300; int width = 100; int height = 50 + rand.nextInt(300); From 072b017f762ae08da976fd46f708249ed7ed288a Mon Sep 17 00:00:00 2001 From: ss Date: Sat, 20 May 2017 21:53:10 +0100 Subject: [PATCH 9/9] Signed-off-by: ss --- flappyBlock/FlappyBlock.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/flappyBlock/FlappyBlock.java b/flappyBlock/FlappyBlock.java index 25758f3..7249281 100644 --- a/flappyBlock/FlappyBlock.java +++ b/flappyBlock/FlappyBlock.java @@ -65,7 +65,7 @@ public FlappyBird() public void addColumn(boolean start) { - int space = 300; + int space = 500; int width = 100; int height = 50 + rand.nextInt(300);