From a9650705c4b9d7fc96492576f8a2790b075e8251 Mon Sep 17 00:00:00 2001 From: feschi55 Date: Tue, 25 Nov 2014 15:18:58 +0100 Subject: [PATCH 1/4] =?UTF-8?q?=C3=A4nderung=20am=20StatusPanelAdder=20...?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- HeatUp/src/de/heatup/ui/StatusPanelAdder.java | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/HeatUp/src/de/heatup/ui/StatusPanelAdder.java b/HeatUp/src/de/heatup/ui/StatusPanelAdder.java index 022dc97..e74aebd 100644 --- a/HeatUp/src/de/heatup/ui/StatusPanelAdder.java +++ b/HeatUp/src/de/heatup/ui/StatusPanelAdder.java @@ -21,7 +21,7 @@ import de.heatup.ui.statusPanel.Timer; public class StatusPanelAdder{ private static JPanel panel; - private static int hgap=30; + private static int hgap=32; private static int vgap=9; private static int modifier=-1; private static int temping=0; @@ -73,15 +73,24 @@ public class StatusPanelAdder{ newPanel.setLayout(new FlowLayout(FlowLayout.CENTER, hgap,5)); panel=newPanel; } + /** + * erhöht die Anzahl Manipulationen + */ public static void addManipulations(){ manipulations+=1; Score.raiseScore(25); } + /** + * + * @return anzahl Manipulationen + */ public static int getManipulations(){ return manipulations; } - + /** + * tick-Methode für das StatusPanel + */ public static void tick() { Timer.tickTimer(); timeLabel.setText(Timer.getMinuteS() + ":" + Timer.getSecondsS()); From e0c72226a6e919ab6ecb13f48131fb86bc05a3af Mon Sep 17 00:00:00 2001 From: andreas Date: Tue, 25 Nov 2014 16:35:10 +0100 Subject: [PATCH 2/4] =?UTF-8?q?Fullscreen=20zum=20GamePanelD=20hinzugef?= =?UTF-8?q?=C3=BCgt=20=C3=9Cber=20boolean=20fullscreen=20einstellbar?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- HeatUp/src/de/heatup/testing/GameLoopD.java | 47 ++++++++++++++++++--- 1 file changed, 41 insertions(+), 6 deletions(-) diff --git a/HeatUp/src/de/heatup/testing/GameLoopD.java b/HeatUp/src/de/heatup/testing/GameLoopD.java index 763f26f..b9d3857 100644 --- a/HeatUp/src/de/heatup/testing/GameLoopD.java +++ b/HeatUp/src/de/heatup/testing/GameLoopD.java @@ -1,8 +1,12 @@ package de.heatup.testing; import java.awt.BorderLayout; +import java.awt.Color; import java.awt.Dimension; import java.awt.EventQueue; +import java.awt.GraphicsConfiguration; +import java.awt.GraphicsDevice; +import java.awt.GraphicsEnvironment; import java.awt.GridLayout; import java.awt.Point; @@ -29,6 +33,7 @@ public class GameLoopD extends JFrame implements Runnable { private boolean running = false; private static boolean pause = false; + private boolean fullscreen = true; private Thread thread; @@ -41,18 +46,25 @@ public class GameLoopD extends JFrame implements Runnable { private static JPanel outerPanel; private static JPanel statusPanel; private static JPanel gamePanel; + private static JPanel leftPanel; + private static JPanel rightPanel; private static JPanel actionPanel; public GameLoopD(){ setTitle("HeatUP!"); setDefaultCloseOperation(EXIT_ON_CLOSE); setResizable(false); - + + // For fullscreen + if ( fullscreen) { + setResizable(false); + setUndecorated(true); + } outerPanel = new JPanel(); outerPanel.setLayout(new BorderLayout()); outerPanel.setFocusable(false); - + statusPanel = new JPanel(); statusPanel.setPreferredSize(new Dimension(800,80)); statusPanel.setFocusable(true); @@ -61,13 +73,24 @@ public class GameLoopD extends JFrame implements Runnable { gamePanel.setLayout(null); gamePanel.setPreferredSize(new Dimension(800,600)); gamePanel.setFocusable(false); + gamePanel.setBackground(Color.black); actionPanel = new JPanel(); actionPanel.setLayout(new GridLayout(1,1)); actionPanel.setPreferredSize(new Dimension(800,80)); actionPanel.setFocusable(true); + leftPanel = new JPanel(); + leftPanel.setLayout(null); + leftPanel.setBackground(Color.black); + + rightPanel = new JPanel(); + rightPanel.setLayout(null); + rightPanel.setBackground(Color.black); + outerPanel.add(statusPanel,BorderLayout.NORTH); + outerPanel.add(leftPanel, BorderLayout.WEST); + outerPanel.add(rightPanel, BorderLayout.EAST); outerPanel.add(gamePanel,BorderLayout.CENTER); outerPanel.add(actionPanel,BorderLayout.SOUTH); @@ -87,11 +110,23 @@ public class GameLoopD extends JFrame implements Runnable { player01 = PanelBuilder.player01; - actionPanel.setVisible(true); - outerPanel.setVisible(true); - statusPanel.setVisible(true); - gamePanel.setVisible(true); + //leftPanel.setPreferredSize(new Dimension((this.getWidth()-gamePanel.getWidth()),10)); + + outerPanel.setVisible(true); + gamePanel.setVisible(true); + actionPanel.setVisible(true); + statusPanel.setVisible(true); + + // For fullscreen + if ( fullscreen ) { + GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment(); + GraphicsDevice gd = ge.getDefaultScreenDevice(); + GraphicsConfiguration gc = gd.getDefaultConfiguration(); + gd.setFullScreenWindow(this); + leftPanel.setPreferredSize(new Dimension(((gd.getDisplayMode().getWidth() - (int)gamePanel.getPreferredSize().getWidth())/2), 0)); + rightPanel.setPreferredSize(new Dimension(((gd.getDisplayMode().getWidth() - (int)gamePanel.getPreferredSize().getWidth())/2), 0)); + } } From 317365c3d69b5fd9bf5650b1872869630c2342b9 Mon Sep 17 00:00:00 2001 From: andreas Date: Tue, 25 Nov 2014 16:40:53 +0100 Subject: [PATCH 3/4] =?UTF-8?q?Kommentare=20hinzugef=C3=BCgt.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- HeatUp/src/de/heatup/testing/GameLoopD.java | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/HeatUp/src/de/heatup/testing/GameLoopD.java b/HeatUp/src/de/heatup/testing/GameLoopD.java index b9d3857..3c3e54a 100644 --- a/HeatUp/src/de/heatup/testing/GameLoopD.java +++ b/HeatUp/src/de/heatup/testing/GameLoopD.java @@ -55,7 +55,9 @@ public class GameLoopD extends JFrame implements Runnable { setDefaultCloseOperation(EXIT_ON_CLOSE); setResizable(false); - // For fullscreen + /* + * Vorbedingungen welche gesetzt sein müssen, damit Fullscreen möglich wird. + */ if ( fullscreen) { setResizable(false); setUndecorated(true); @@ -110,15 +112,9 @@ public class GameLoopD extends JFrame implements Runnable { player01 = PanelBuilder.player01; - - //leftPanel.setPreferredSize(new Dimension((this.getWidth()-gamePanel.getWidth()),10)); - - outerPanel.setVisible(true); - gamePanel.setVisible(true); - actionPanel.setVisible(true); - statusPanel.setVisible(true); - - // For fullscreen + /* + * Wenn die Variable fullscreen gesetzt ist, wir er hier eingeschaltet. + */ if ( fullscreen ) { GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment(); GraphicsDevice gd = ge.getDefaultScreenDevice(); @@ -127,6 +123,10 @@ public class GameLoopD extends JFrame implements Runnable { leftPanel.setPreferredSize(new Dimension(((gd.getDisplayMode().getWidth() - (int)gamePanel.getPreferredSize().getWidth())/2), 0)); rightPanel.setPreferredSize(new Dimension(((gd.getDisplayMode().getWidth() - (int)gamePanel.getPreferredSize().getWidth())/2), 0)); } + outerPanel.setVisible(true); + gamePanel.setVisible(true); + actionPanel.setVisible(true); + statusPanel.setVisible(true); } From dce25e690bab33d3e8ec87fb5131cf0095ef415b Mon Sep 17 00:00:00 2001 From: andreas Date: Tue, 25 Nov 2014 17:02:14 +0100 Subject: [PATCH 4/4] Package Struktur angepasst Main ist neue Gameloop --- .../de/heatup/mapengine/CollisionHandler.java | 4 +- .../src/de/heatup/objects/DynamicObject.java | 77 ----------- HeatUp/src/de/heatup/objects/Gegner.java | 127 ------------------ .../InstancedObjects.java | 2 +- HeatUp/src/de/heatup/objects/Objekt.java | 108 --------------- .../heatup/{testing => objects}/Opponent.java | 7 +- .../heatup/{testing => objects}/Player.java | 2 +- .../src/de/heatup/objects/StaticObject.java | 13 +- HeatUp/src/de/heatup/objects/logic.java | 99 -------------- HeatUp/src/de/heatup/ui/KeyBindings.java | 9 +- .../{testing/GameLoopD.java => ui/Main.java} | 11 +- .../heatup/{testing => ui}/PanelBuilder.java | 7 +- .../heatup/ui/actionPanel/ActionControl.java | 4 +- .../heatup/ui/actionPanel/ActionWatcher.java | 17 +-- 14 files changed, 38 insertions(+), 449 deletions(-) delete mode 100644 HeatUp/src/de/heatup/objects/DynamicObject.java delete mode 100644 HeatUp/src/de/heatup/objects/Gegner.java rename HeatUp/src/de/heatup/{testing => objects}/InstancedObjects.java (92%) delete mode 100644 HeatUp/src/de/heatup/objects/Objekt.java rename HeatUp/src/de/heatup/{testing => objects}/Opponent.java (97%) rename HeatUp/src/de/heatup/{testing => objects}/Player.java (99%) delete mode 100644 HeatUp/src/de/heatup/objects/logic.java rename HeatUp/src/de/heatup/{testing/GameLoopD.java => ui/Main.java} (96%) rename HeatUp/src/de/heatup/{testing => ui}/PanelBuilder.java (94%) diff --git a/HeatUp/src/de/heatup/mapengine/CollisionHandler.java b/HeatUp/src/de/heatup/mapengine/CollisionHandler.java index 5ca8cce..ac0a85a 100644 --- a/HeatUp/src/de/heatup/mapengine/CollisionHandler.java +++ b/HeatUp/src/de/heatup/mapengine/CollisionHandler.java @@ -4,9 +4,9 @@ import java.awt.Point; import java.util.ArrayList; import de.heatup.logging.Logger; +import de.heatup.objects.Opponent; +import de.heatup.objects.Player; import de.heatup.objects.PowerUp; -import de.heatup.testing.Opponent; -import de.heatup.testing.Player; public class CollisionHandler { private static ArrayList movingObjects = new ArrayList(); diff --git a/HeatUp/src/de/heatup/objects/DynamicObject.java b/HeatUp/src/de/heatup/objects/DynamicObject.java deleted file mode 100644 index d3bb555..0000000 --- a/HeatUp/src/de/heatup/objects/DynamicObject.java +++ /dev/null @@ -1,77 +0,0 @@ -package de.heatup.objects; - -import java.awt.BasicStroke; -import java.awt.Graphics; -import java.awt.Graphics2D; -import java.awt.RenderingHints; -import java.awt.image.BufferedImage; -import java.io.File; -import java.io.IOException; - -import javax.imageio.ImageIO; -import javax.swing.JComponent; - -/* - * Draft for dynamic objects - */ -public class DynamicObject extends JComponent{ - private static final long serialVersionUID = 1L; - //private Image image; - private BufferedImage bf1; - private Graphics2D g2d; - - private boolean doRescale = false; - private double rescaleFactorX = 0.0; - private double rescaleFactorY = 0.0; - - public DynamicObject() { - } - - public void paintComponent(Graphics g) { - g2d = (Graphics2D)g; - //this.image = Toolkit.getDefaultToolkit().getImage("src/de/heatup/resources/images/little_green_guy.png"); - if ( bf1 == null ) { - loadBufferedImage(); - } - - //g2d.rotate(0.3, 10, 10); - if ( doRescale ) { - g2d.scale(rescaleFactorX, rescaleFactorY); - } - - g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING,RenderingHints.VALUE_ANTIALIAS_ON); - g2d.drawImage(bf1, 0, 0, this); - g2d.setStroke(new BasicStroke(8.0f)); - g2d.finalize(); - } - - private void loadBufferedImage() { - try { - this.bf1 = ImageIO.read(new File("src/de/heatup/resources/images/little_green_guy.png")); - } catch (IOException e) { - e.printStackTrace(); - } - } - - public void setImage(BufferedImage image) { - this.bf1 = image; - } - - public void setRescale(double rescaleFactorX, double rescaleFactorY) { - this.rescaleFactorX = rescaleFactorX; - this.rescaleFactorY = rescaleFactorY; - this.doRescale = true; - } - - public void unsetRescale() { - this.rescaleFactorX = 0.0; - this.rescaleFactorY = 0.0; - this.doRescale = false; - } - - public void setAutoBounds(int x, int y) { - this.setBounds(x, y, this.bf1.getWidth(), this.bf1.getHeight()); - } - - -} diff --git a/HeatUp/src/de/heatup/objects/Gegner.java b/HeatUp/src/de/heatup/objects/Gegner.java deleted file mode 100644 index d02cfbd..0000000 --- a/HeatUp/src/de/heatup/objects/Gegner.java +++ /dev/null @@ -1,127 +0,0 @@ -package de.heatup.objects; -import java.awt.image.BufferedImage; -import java.io.File; -import java.io.IOException; -import java.util.Random; - -import javax.imageio.ImageIO; -import javax.swing.ImageIcon; -import javax.swing.JLabel; - -public class Gegner { - - private static int numberOfInstances; - private BufferedImage opponentImage; - private JLabel opponentLabel; - public Thread t; - public Gegner() throws IOException { - numberOfInstances++; - String fname; - if (numberOfInstances == 1 ) { - fname="../resources/images/25x25_black.png"; - } else if (numberOfInstances == 2) { - fname="../resources/images/25x25_black.png"; - } else { - fname="../resources/images/25x25_black.png"; - } - opponentImage = ImageIO.read(new File("src/de/heatup/resources/images/25x25_black.png")); - opponentLabel = new JLabel(new ImageIcon(opponentImage)); - this.gegnerLogik(); - } - - public JLabel getLabel() { - return this.opponentLabel; - } - - public int getX() { - return this.opponentLabel.getLocation().x; - } - - public int getY() { - return this.opponentLabel.getLocation().y; - } - - private void setY(int y) { - this.opponentLabel.setLocation(this.opponentLabel.getLocation().x,y); - } - - private void setX(int x) { - this.opponentLabel.setLocation(x,this.opponentLabel.getLocation().y); - } - - /* - * Quick and dirty for testing... - */ - private void gegnerLogik() { - final Random rand = new Random(); - t = new Thread(new Runnable() { - @Override - public void run() { - int movex=0, movey=0; - int move = 0; - int dir; - while (true) { - if ( move == 0 ) { - dir = rand.nextInt(20)+1; -// System.out.println("Entscheidung: " + dir); - if ( dir < 5 || dir > 15) { - movex = rand.nextInt(800)+1; - move = 2; - if (movex > 100) { move = -2; } - movey = 0; -// System.out.println("X " + move + " " + movex); - - } else { - movey = rand.nextInt(600)+1; - move = 1; - if (movey > 100) { move = -1; } - movex = 0; -// System.out.println("X " + move + " " + movex); - } - } - - if ( getLabel().getX() <= 0 && move == -2 ) { - move = move * -1; - } - if ( getLabel().getX() >= 752 && move == 2 ) { - move = move * -1; - } - if ( getLabel().getY() <= 0 && move == -1 ) { - move = move * -1; - } - if ( getLabel().getY() >= 552 && move == 1 ) { - move = move * -1; - } - -// System.out.println("Move " + move + " Movex " + movex + " Movey " + movey); - - if ( move == -2 && movex >= 0) { - movex -= 4; - getLabel().setBounds(getLabel().getX()-8, getLabel().getY(), 48, 48); - } else if ( move == 2 && movex >= 0) { - movex -= 4; - getLabel().setBounds(getLabel().getX()+8, getLabel().getY(), 48, 48); - } else if (move == -1 && movey >= 0) { - movey -= 4; - getLabel().setBounds(getLabel().getX(), getLabel().getY()-8, 48, 48); - } else if (move == 1 && movey >= 0) { - movey -= 4; - getLabel().setBounds(getLabel().getX(), getLabel().getY()+8, 48, 48); - } else { - move = 0; - } - -// System.out.println("x: " + getX() + " y:" + getY()); - try { - Thread.sleep(10); - } catch (InterruptedException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - } - } - }); - t.start(); - } - -} diff --git a/HeatUp/src/de/heatup/testing/InstancedObjects.java b/HeatUp/src/de/heatup/objects/InstancedObjects.java similarity index 92% rename from HeatUp/src/de/heatup/testing/InstancedObjects.java rename to HeatUp/src/de/heatup/objects/InstancedObjects.java index c2a01fc..07467ea 100644 --- a/HeatUp/src/de/heatup/testing/InstancedObjects.java +++ b/HeatUp/src/de/heatup/objects/InstancedObjects.java @@ -1,4 +1,4 @@ -package de.heatup.testing; +package de.heatup.objects; import java.util.ArrayList; diff --git a/HeatUp/src/de/heatup/objects/Objekt.java b/HeatUp/src/de/heatup/objects/Objekt.java deleted file mode 100644 index 9817e3f..0000000 --- a/HeatUp/src/de/heatup/objects/Objekt.java +++ /dev/null @@ -1,108 +0,0 @@ -package de.heatup.objects; -import java.awt.Graphics; -import java.awt.Graphics2D; -import java.awt.Point; -import java.awt.RenderingHints; -import java.awt.image.BufferedImage; -import java.io.File; -import java.io.IOException; -import java.lang.reflect.Array; -import java.util.Arrays; - -import javax.imageio.ImageIO; -import javax.swing.ImageIcon; -import javax.swing.JLabel; - - -public class Objekt { -/* - * Deprecated - */ - -// private static int numberOfInstances; -// private BufferedImage objectImage; -// private JLabel objectLabel; -// private Point objectArea; -// private Point actionArea; -// public Thread t; -// private char objectIdentifier; // TODO: Identifizierung für Map Engine -// -// public Objekt(char objectIdentifier) throws IOException { -// numberOfInstances++; -// setObjectIdentifier(objectIdentifier); -// setObjectImage(); -// -// } -// -// private void setObjectImage() throws IOException { -// String filename = getImageFilename(objectIdentifier); -// System.out.println("Filename: " + filename); -// //objectImage = ImageIO.read(new File(filename)); -// //objectLabel = new JLabel(new ImageIcon(objectImage)); -// -// objectImage = ImageLoader.getBufferedImage(filename); -// objectLabel = new JLabel(new ImageIcon(objectImage)); -// } -// -// /* -// * Load corresponding image -// */ -// private String getImageFilename(char objectIdentifier) { -// String objectFilename; -// switch (objectIdentifier) { -// case '#': -// // Path -// objectFilename="src/de/heatup/resources/images/25x25_black.png"; -// break; -// case '2': -// // Hardware -// objectFilename="src/de/heatup/resources/images/25x25_red.png"; -// break; -// case '-': -// // Wall -// objectFilename="src/de/heatup/resources/images/25x25_blue.png"; -// break; -// default: -// objectFilename="src/de/heatup/resources/images/25x25_orange.png"; -// break; -// } -// System.out.println(objectFilename); -// return objectFilename; -// } -// -// /* -// * Sets position of object via int x int y -// */ -// public void setPosition(int x, int y) { -// System.out.println(x + " " + y + " " + this.getDimensionX() + " " + this.getDimensionY()); -// this.objectLabel.setBounds(x, y, this.getDimensionX(), this.getDimensionY()); -// } -// -// public int getX() { -// return this.objectLabel.getX(); -// } -// -// public int getY() { -// return this.objectLabel.getY(); -// } -// -// public int getDimensionX() { -// return this.objectImage.getWidth(); -// } -// -// public int getDimensionY() { -// return this.objectImage.getHeight(); -// } -// -// public JLabel getLabel() { -// return this.objectLabel; -// } -// -// public char getOjectIdentifier() { -// return this.objectIdentifier; -// } -// -// public void setObjectIdentifier(char objectIdentifier) { -// this.objectIdentifier = objectIdentifier; -// } -} diff --git a/HeatUp/src/de/heatup/testing/Opponent.java b/HeatUp/src/de/heatup/objects/Opponent.java similarity index 97% rename from HeatUp/src/de/heatup/testing/Opponent.java rename to HeatUp/src/de/heatup/objects/Opponent.java index 5c6296a..6c77d29 100644 --- a/HeatUp/src/de/heatup/testing/Opponent.java +++ b/HeatUp/src/de/heatup/objects/Opponent.java @@ -1,4 +1,4 @@ -package de.heatup.testing; +package de.heatup.objects; import java.io.File; import java.io.IOException; @@ -11,6 +11,7 @@ import de.heatup.logging.Logger; import de.heatup.mapengine.CollisionHandler; import de.heatup.mapengine.MapGrid; import de.heatup.mapengine.MapGridCell; +import de.heatup.ui.Main; public class Opponent extends Player { @@ -79,8 +80,8 @@ public class Opponent extends Player { /* * Spieler identifizieren und auf "direkte Sicht" prüfen */ - int playerX = GameLoopD.getPlayer().getGridLocation().x; - int playerY = GameLoopD.getPlayer().getGridLocation().y; + int playerX = Main.getPlayer().getGridLocation().x; + int playerY = Main.getPlayer().getGridLocation().y; char playerDirection = '0'; int stepLength = 0; // Richtung bestimmen wenn sich Spieler und Gegner auf einer Achse befinden diff --git a/HeatUp/src/de/heatup/testing/Player.java b/HeatUp/src/de/heatup/objects/Player.java similarity index 99% rename from HeatUp/src/de/heatup/testing/Player.java rename to HeatUp/src/de/heatup/objects/Player.java index 35a583b..47f71b6 100644 --- a/HeatUp/src/de/heatup/testing/Player.java +++ b/HeatUp/src/de/heatup/objects/Player.java @@ -1,4 +1,4 @@ -package de.heatup.testing; +package de.heatup.objects; import java.awt.BasicStroke; import java.awt.Graphics; diff --git a/HeatUp/src/de/heatup/objects/StaticObject.java b/HeatUp/src/de/heatup/objects/StaticObject.java index d59602a..e8e5043 100644 --- a/HeatUp/src/de/heatup/objects/StaticObject.java +++ b/HeatUp/src/de/heatup/objects/StaticObject.java @@ -11,7 +11,7 @@ import javax.imageio.ImageIO; import javax.swing.JComponent; import de.heatup.cfg.Config; -import de.heatup.testing.PanelBuilder; +import de.heatup.ui.PanelBuilder; /* * Draft for static objects @@ -33,15 +33,12 @@ public class StaticObject extends JComponent { private int staticObjectHeight; public StaticObject(char staticObjectType, Point location, int staticObjectWidth, int staticObjectHeight) { -// System.out.println("Object Type: " + staticObjectType + "\t" +staticObjectHeight + " h:w " + staticObjectWidth); this.staticObjectType = staticObjectType; this.location = location; this.staticObjectWidth = staticObjectWidth; this.staticObjectHeight = staticObjectHeight; loadBufferedImage(); setAutoBounds(location.x, location.y); -// autoRescale(); -// System.out.println(getDebugInfo()); } public StaticObject(char staticObjectType, Point location) { @@ -60,9 +57,9 @@ public class StaticObject extends JComponent { // TODO: Check if we can store a rescaled image in bf1??? // if ( doRescale ) { // System.out.println("Hit: " + rescaleFactorX + " " + rescaleFactorY); -// g2d.scale(rescaleFactorX, rescaleFactorY); + g2d.scale(2, 2); // } - + g2d.drawImage(bf1, 0, 0, this); g2d.finalize(); } @@ -94,7 +91,9 @@ public class StaticObject extends JComponent { // TODO: getter für höhe breite position public void setAutoBounds(int x, int y) { - this.setBounds(x, y, this.bf1.getWidth(), this.bf1.getHeight()); + //this.setBounds(x, y, this.bf1.getWidth(), this.bf1.getHeight()); + this.setSize(this.bf1.getWidth(), this.bf1.getHeight()); + this.setLocation(x, y); } public String getDebugInfo() { diff --git a/HeatUp/src/de/heatup/objects/logic.java b/HeatUp/src/de/heatup/objects/logic.java deleted file mode 100644 index 94e61b0..0000000 --- a/HeatUp/src/de/heatup/objects/logic.java +++ /dev/null @@ -1,99 +0,0 @@ -package de.heatup.objects; - -import java.io.IOException; -import java.util.Random; - -import de.heatup.testing.PanelBuilder; - - -/* - * Static class for opponent movement still quick n' dirty - * TODO: Move to other package ex. AI - */ -public class logic { - - public static void startMovement(final DynamicObject dynObj) { - Thread t = new Thread(new Runnable() { - @Override - public void run() { - int movex=0, movey=0; - int move = 0; - int dir; - int mx, my; - Random rand = new Random(); - while (true) { - if ( move == 0 ) { - - dir = rand.nextInt(20)+1; -// System.out.println("Entscheidung: " + dir); - if ( dir < 5 || dir > 15) { - movex = rand.nextInt(800)+1; - move = 2; - if (movex > 100) { move = -2; } - movey = 0; -// System.out.println("X " + move + " " + movex); - - } else { - movey = rand.nextInt(600)+1; - move = 1; - if (movey > 100) { move = -1; } - movex = 0; -// System.out.println("X " + move + " " + movex); - } - } - - if ( dynObj.getX() <= 0 && move == -2 ) { - move = move * -1; - } - if ( dynObj.getX() >= 752 && move == 2 ) { - move = move * -1; - } - if ( dynObj.getY() <= 0 && move == -1 ) { - move = move * -1; - } - if ( dynObj.getY() >= 552 && move == 1 ) { - move = move * -1; - } - -// System.out.println("Move " + move + " Movex " + movex + " Movey " + movey); - - if ( move == -2 && movex >= 0) { - movex -= 4; - mx=-4; - my=0; - dynObj.setImage(PanelBuilder.getImageLoader().getBufferedImage('l')); - } else if ( move == 2 && movex >= 0) { - movex -= 4; - mx=4; - my=0; - dynObj.setImage(PanelBuilder.getImageLoader().getBufferedImage('r')); - } else if (move == -1 && movey >= 0) { - movey -= 4; - my=-4; - mx=0; - dynObj.setImage(PanelBuilder.getImageLoader().getBufferedImage('u')); - } else if (move == 1 && movey >= 0) { - movey -= 4; - my=4; - mx=0; - dynObj.setImage(PanelBuilder.getImageLoader().getBufferedImage('d')); - } else { - move = 0; - mx=0; - my=0; - } - dynObj.setBounds(dynObj.getX()+mx, dynObj.getY()+my, 36, 64); - //System.out.println("x: " + dynObj.getX() + " y: " + dynObj.getY()); - //System.out.println("h: " + dynObj.getHeight() + " w: " + dynObj.getWidth()); - try { - Thread.sleep(40); - } catch (InterruptedException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - } - } - }); - t.start(); - } -} diff --git a/HeatUp/src/de/heatup/ui/KeyBindings.java b/HeatUp/src/de/heatup/ui/KeyBindings.java index 2262b5b..caa6214 100644 --- a/HeatUp/src/de/heatup/ui/KeyBindings.java +++ b/HeatUp/src/de/heatup/ui/KeyBindings.java @@ -6,8 +6,7 @@ import java.awt.event.KeyEvent; import sun.awt.resources.awt; import de.heatup.mapengine.CollisionHandler; import de.heatup.mapengine.MapGrid; -import de.heatup.testing.GameLoopD; -import de.heatup.testing.Player; +import de.heatup.objects.Player; import de.heatup.ui.actionPanel.ActionControl; import de.heatup.ui.actionPanel.ActionWatcher; import de.heatup.ui.actionPanel.HardewareManipulate; @@ -83,8 +82,8 @@ public class KeyBindings extends KeyAdapter { esc = true; break; case KeyEvent.VK_A: - if(((MapGrid.getGridCell(GameLoopD.player01.getGridLocation().x, GameLoopD.player01.getGridLocation().y).isTrigger() - && !HardewareManipulate.getHardware(MapGrid.getGridCell(GameLoopD.player01.getGridLocation().x, GameLoopD.player01.getGridLocation().y).getCorrespondingHardwareToTrigger()))&&!key)&&ActionControl.getKeyA()){ + if(((MapGrid.getGridCell(Main.player01.getGridLocation().x, Main.player01.getGridLocation().y).isTrigger() + && !HardewareManipulate.getHardware(MapGrid.getGridCell(Main.player01.getGridLocation().x, Main.player01.getGridLocation().y).getCorrespondingHardwareToTrigger()))&&!key)&&ActionControl.getKeyA()){ ActionWatcher.setAction(true); key=true; } @@ -192,7 +191,7 @@ public class KeyBindings extends KeyAdapter { } if (isESC()) { System.out.println("ESC pressed."); - GameLoopD.pause(); + Main.pause(); } } diff --git a/HeatUp/src/de/heatup/testing/GameLoopD.java b/HeatUp/src/de/heatup/ui/Main.java similarity index 96% rename from HeatUp/src/de/heatup/testing/GameLoopD.java rename to HeatUp/src/de/heatup/ui/Main.java index 3c3e54a..b567ec0 100644 --- a/HeatUp/src/de/heatup/testing/GameLoopD.java +++ b/HeatUp/src/de/heatup/ui/Main.java @@ -1,4 +1,4 @@ -package de.heatup.testing; +package de.heatup.ui; import java.awt.BorderLayout; import java.awt.Color; @@ -19,15 +19,14 @@ import de.heatup.mapengine.CollisionHandler; import de.heatup.mapengine.MapEngine; import de.heatup.mapengine.MapGrid; import de.heatup.mapengine.SpawnAssistant; +import de.heatup.objects.Player; import de.heatup.objects.StaticObject; import de.heatup.timers.HardwareResetTimers; -import de.heatup.ui.KeyBindings; -import de.heatup.ui.StatusPanelAdder; import de.heatup.ui.actionPanel.ActionControl; import de.heatup.ui.actionPanel.ActionWatcher; -public class GameLoopD extends JFrame implements Runnable { +public class Main extends JFrame implements Runnable { private static final long serialVersionUID = 1L; @@ -50,7 +49,7 @@ public class GameLoopD extends JFrame implements Runnable { private static JPanel rightPanel; private static JPanel actionPanel; - public GameLoopD(){ + public Main(){ setTitle("HeatUP!"); setDefaultCloseOperation(EXIT_ON_CLOSE); setResizable(false); @@ -141,7 +140,7 @@ public class GameLoopD extends JFrame implements Runnable { @Override public void run() { - final GameLoopD frame = new GameLoopD(); + final Main frame = new Main(); frame.repaint(); Thread ht= new Thread(){ diff --git a/HeatUp/src/de/heatup/testing/PanelBuilder.java b/HeatUp/src/de/heatup/ui/PanelBuilder.java similarity index 94% rename from HeatUp/src/de/heatup/testing/PanelBuilder.java rename to HeatUp/src/de/heatup/ui/PanelBuilder.java index 3db42d4..8dc0262 100644 --- a/HeatUp/src/de/heatup/testing/PanelBuilder.java +++ b/HeatUp/src/de/heatup/ui/PanelBuilder.java @@ -1,4 +1,4 @@ -package de.heatup.testing; +package de.heatup.ui; import java.awt.Point; @@ -7,8 +7,9 @@ import javax.swing.JPanel; import de.heatup.mapengine.MapEngine; import de.heatup.mapengine.SpawnAssistant; import de.heatup.objects.ImageLoader; -import de.heatup.ui.KeyBindings; -import de.heatup.ui.StatusPanelAdder; +import de.heatup.objects.InstancedObjects; +import de.heatup.objects.Opponent; +import de.heatup.objects.Player; import de.heatup.ui.actionPanel.ActionControl; public class PanelBuilder { diff --git a/HeatUp/src/de/heatup/ui/actionPanel/ActionControl.java b/HeatUp/src/de/heatup/ui/actionPanel/ActionControl.java index a9b3819..0550b57 100644 --- a/HeatUp/src/de/heatup/ui/actionPanel/ActionControl.java +++ b/HeatUp/src/de/heatup/ui/actionPanel/ActionControl.java @@ -7,7 +7,7 @@ import java.awt.Font; import javax.swing.*; import de.heatup.mapengine.MapGrid; -import de.heatup.testing.GameLoopD; +import de.heatup.ui.Main; public class ActionControl{ private static int count = 0; @@ -112,7 +112,7 @@ public class ActionControl{ }else{ resetActionPanel(); actionLabel.setText("Manipulation erfolgreich!"); - HardewareManipulate.setHardware(MapGrid.getGridCell(GameLoopD.player01.getGridLocation().x, GameLoopD.player01.getGridLocation().y).getCorrespondingHardwareToTrigger()); + HardewareManipulate.setHardware(MapGrid.getGridCell(Main.player01.getGridLocation().x, Main.player01.getGridLocation().y).getCorrespondingHardwareToTrigger()); } } private static void setAchiv(){ diff --git a/HeatUp/src/de/heatup/ui/actionPanel/ActionWatcher.java b/HeatUp/src/de/heatup/ui/actionPanel/ActionWatcher.java index f878128..7f68a78 100644 --- a/HeatUp/src/de/heatup/ui/actionPanel/ActionWatcher.java +++ b/HeatUp/src/de/heatup/ui/actionPanel/ActionWatcher.java @@ -2,8 +2,9 @@ package de.heatup.ui.actionPanel; import java.util.Random; + import de.heatup.mapengine.MapGrid; -import de.heatup.testing.GameLoopD; +import de.heatup.ui.Main; public class ActionWatcher{ private static boolean action = false; @@ -17,28 +18,28 @@ public class ActionWatcher{ return action; } public static void tick(){ - //Infotext, wenn man in der nähe von einem Hardwareteil steht - if(MapGrid.getGridCell(GameLoopD.player01.getGridLocation().x, GameLoopD.player01.getGridLocation().y).isTrigger() && !action && !setAction){ + //Infotext, wenn man in der n�he von einem Hardwareteil steht + if(MapGrid.getGridCell(Main.player01.getGridLocation().x, Main.player01.getGridLocation().y).isTrigger() && !action && !setAction){ infoText=true; - if(!HardewareManipulate.getHardware(MapGrid.getGridCell(GameLoopD.player01.getGridLocation().x, GameLoopD.player01.getGridLocation().y).getCorrespondingHardwareToTrigger())){ + if(!HardewareManipulate.getHardware(MapGrid.getGridCell(Main.player01.getGridLocation().x, Main.player01.getGridLocation().y).getCorrespondingHardwareToTrigger())){ ActionControl.setTextforA(); }else{ ActionControl.setTextforManipulate(); } } //Entfernt InfoText - if(!MapGrid.getGridCell(GameLoopD.player01.getGridLocation().x, GameLoopD.player01.getGridLocation().y).isTrigger() && infoText){ + if(!MapGrid.getGridCell(Main.player01.getGridLocation().x, Main.player01.getGridLocation().y).isTrigger() && infoText){ ActionControl.resetActionPanel(); infoText=false; } - //Leitet das Manipulieren ein, nachdem man das "A" gedrückt hat. Es kommt entweder Smashing oder Keysequence Text. + //Leitet das Manipulieren ein, nachdem man das "A" gedr�ckt hat. Es kommt entweder Smashing oder Keysequence Text. if(action&&!setAction){ setAction=true; ActionControl.resetActionPanel(); ActionControl.setAction(new Random().nextInt(2)+1); } - //Entfernt jeglichen Text wenn man sich von dem Hardwarestück entfernt, nachdem Aktion bereits eingeleitet wurde, und setzt Booleans/Counter wieder auf die Ausgangssituation - if(!MapGrid.getGridCell(GameLoopD.player01.getGridLocation().x, GameLoopD.player01.getGridLocation().y).isTrigger() && setAction){ + //Entfernt jeglichen Text wenn man sich von dem Hardwarest�ck entfernt, nachdem Aktion bereits eingeleitet wurde, und setzt Booleans/Counter wieder auf die Ausgangssituation + if(!MapGrid.getGridCell(Main.player01.getGridLocation().x, Main.player01.getGridLocation().y).isTrigger() && setAction){ ActionControl.resetActionPanel(); ActionControl.resetKeyA(); infoText=false;