From 09caaad7e11b496b4203c4f381440f2bf8f34c00 Mon Sep 17 00:00:00 2001 From: Remco Date: Thu, 21 May 2015 14:23:30 +0200 Subject: [PATCH] Player added --- control/GameControl.java | 14 +++++++++++++- image/Images.java | 37 +++++++++++++++++++++++++++++++++++++ image/player.png | Bin 0 -> 8294 bytes model/GameModel.java | 11 ++++++++++- model/Player.java | 37 +++++++++++++++++++++++++++++++++++++ view/GameView.java | 14 ++++++++++++++ 6 files changed, 111 insertions(+), 2 deletions(-) create mode 100644 image/Images.java create mode 100644 image/player.png create mode 100644 model/Player.java diff --git a/control/GameControl.java b/control/GameControl.java index 3667e7b..d0b9f11 100644 --- a/control/GameControl.java +++ b/control/GameControl.java @@ -1,5 +1,7 @@ package control; +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; @@ -7,18 +9,23 @@ import java.awt.event.MouseListener; import java.awt.event.WindowEvent; import java.awt.event.WindowFocusListener; +import javax.swing.Timer; + import model.GameModel; import view.GameView; -public class GameControl implements MouseListener, KeyListener, WindowFocusListener{ +public class GameControl implements MouseListener, KeyListener, WindowFocusListener, ActionListener{ GameModel model; GameView view; + Timer update; public GameControl(GameModel model, GameView view) { this.model = model; this.view = view; + update = new Timer(1000/10, this); + update.start(); } public void keyPressed(KeyEvent e) {} @@ -45,4 +52,9 @@ public class GameControl implements MouseListener, KeyListener, WindowFocusListe public void windowGainedFocus(WindowEvent e) {} public void windowLostFocus(WindowEvent e) {} + + @Override + public void actionPerformed(ActionEvent e) { + model.update(); + } } diff --git a/image/Images.java b/image/Images.java new file mode 100644 index 0000000..501092e --- /dev/null +++ b/image/Images.java @@ -0,0 +1,37 @@ +package image; + +import java.awt.image.BufferedImage; +import java.io.IOException; +import java.util.ArrayList; + +import javax.imageio.ImageIO; + +import main.Main; + +public class Images{ + + public static ArrayList images = new ArrayList(); + + public Images(){ + + } + + static{ + try{ + images.add(ImageIO.read(Main.class.getResource("/image/player.png"))); + + }catch(IOException e){ + e.printStackTrace(); + } + } + + public static BufferedImage getImage(ImageType img) + { + return images.get(img.ordinal()); + } + + public enum ImageType + { + player + } +} diff --git a/image/player.png b/image/player.png new file mode 100644 index 0000000000000000000000000000000000000000..b00590f48f18eac6abdec05fe9b019c7f0b780c9 GIT binary patch literal 8294 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Π4G$ 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