diff --git a/HeatUp/src/de/heatup/objects/ImageLoader.java b/HeatUp/src/de/heatup/objects/ImageLoader.java index 2f0eedd..8031d4f 100644 --- a/HeatUp/src/de/heatup/objects/ImageLoader.java +++ b/HeatUp/src/de/heatup/objects/ImageLoader.java @@ -28,7 +28,15 @@ public class ImageLoader { case Config.wallChar: imageFileName="de/heatup/resources/images/grid_1.png"; break; - + + case 'm': + imageFileName="de/heatup/resources/images/grid_3.png"; + break; + case 'n': + imageFileName="de/heatup/resources/images/grid_2.png"; + break; + + // Opponent images w - z with animation. case 'w': imageFileName="de/heatup/resources/images/opponent_f1.png"; @@ -52,36 +60,67 @@ public class ImageLoader { case 'p': imageFileName="de/heatup/resources/images/little_green_guy_verysmall.png"; break; - + + case '0': + //imageFileName="de/heatup/resources/images/hardware/rectangular_chip.jpg"; + imageFileName="de/heatup/resources/images/hardware/plain_chip_1.png"; + break; + case '1': + //imageFileName="de/heatup/resources/images/hardware/square_chip.jpg"; + imageFileName="de/heatup/resources/images/hardware/plain_chip_2.png"; + break; + case '2': + //imageFileName="de/heatup/resources/images/hardware/rectangular_chip.jpg"; + imageFileName="de/heatup/resources/images/hardware/plain_chip_2.png"; + break; + case '3': + //imageFileName="de/heatup/resources/images/hardware/square_chip.jpg"; + imageFileName="de/heatup/resources/images/hardware/plain_chip_2.png"; + break; + case '4': + //imageFileName="de/heatup/resources/images/hardware/rectangular_chip.jpg"; + imageFileName="de/heatup/resources/images/hardware/plain_chip_1.png"; + break; + case '5': + //imageFileName="de/heatup/resources/images/hardware/square_chip.jpg"; + imageFileName="de/heatup/resources/images/hardware/plain_chip_2.png"; + break; + case '6': + //imageFileName="de/heatup/resources/images/hardware/rectangular_chip.jpg"; + imageFileName="de/heatup/resources/images/hardware/plain_chip_1.png"; + break; + case '7': + //imageFileName="de/heatup/resources/images/hardware/square_chip.jpg"; + imageFileName="de/heatup/resources/images/hardware/plain_chip_2.png"; + break; + case '8': + //imageFileName="de/heatup/resources/images/hardware/rectangular_chip.jpg"; + imageFileName="de/heatup/resources/images/hardware/plain_chip_1.png"; + break; + case '9': + //imageFileName="de/heatup/resources/images/hardware/square_chip.jpg"; + imageFileName="de/heatup/resources/images/hardware/plain_chip_2.png"; + break; // Default images if no other is found default: imageFileName="de/heatup/resources/images/dummy_image.png"; break; } - if (isHardware(key)) { - Random rand = new Random(); - switch (rand.nextInt(2)) { - case 0: - //imageFileName="de/heatup/resources/images/hardware/rectangular_chip.jpg"; - imageFileName="de/heatup/resources/images/hardware/chip_rc_1.png"; - break; - case 1: - //imageFileName="de/heatup/resources/images/hardware/square_chip.jpg"; - imageFileName="de/heatup/resources/images/hardware/chip_sq_1.png"; - break; - case 2: - //imageFileName="de/heatup/resources/images/hardware/square_chip.jpg"; - imageFileName="de/heatup/resources/images/hardware/chip_rc_2.png"; - break; - case 3: - //imageFileName="de/heatup/resources/images/hardware/square_chip.jpg"; - imageFileName="de/heatup/resources/images/hardware/chip_sq_2.png"; - break; - - default: - break; - } - } +// if (isHardware(key)) { +// Random rand = new Random(); +// switch (rand.nextInt(2)) { +// case 0: +// //imageFileName="de/heatup/resources/images/hardware/rectangular_chip.jpg"; +// imageFileName="de/heatup/resources/images/hardware/plain_chip_1.png"; +// break; +// case 1: +// //imageFileName="de/heatup/resources/images/hardware/square_chip.jpg"; +// imageFileName="de/heatup/resources/images/hardware/plain_chip_2.png"; +// break; +// default: +// break; +// } +// } BufferedImage loadedBufferedImage = null; try { diff --git a/HeatUp/src/de/heatup/objects/Opponent.java b/HeatUp/src/de/heatup/objects/Opponent.java index 32cb7ed..22f4c27 100644 --- a/HeatUp/src/de/heatup/objects/Opponent.java +++ b/HeatUp/src/de/heatup/objects/Opponent.java @@ -7,6 +7,7 @@ import javax.imageio.ImageIO; import de.heatup.mapengine.CollisionHandler; import de.heatup.ui.Main; +import de.heatup.ui.PanelBuilder; //TODO: Magische Nummern entfernen @@ -47,25 +48,39 @@ public class Opponent extends Player { @Override public void tick() { + if ( ! this.loaded ) { + loadBufferedImage_to(2,'w'); + loadBufferedImage_to(3,'x'); + loadBufferedImage_to(4,'y'); + loadBufferedImage_to(5,'z'); + System.out.println("Loaded.."); + this.loaded = true; + } + + // Part for Animation this.tickCounter++; if ( (this.tickCounter%10) == 0 ) { this.tickCounter = 0; if ( ticker == 0 ) { - super.setStaticObjectType('w'); - super.loadBufferedImage(); +// super.setImgChar('w'); +// super.loadBufferedImage(); + setImage(this.bf2); ticker = 1; } else if ( ticker == 1 ) { - super.setStaticObjectType('x'); - super.loadBufferedImage(); +// super.setImgChar('x'); +// super.loadBufferedImage(); + setImage(this.bf3); ticker = 2; } else if ( ticker == 2 ) { - super.setStaticObjectType('y'); - super.loadBufferedImage(); +// super.setImgChar('y'); +// super.loadBufferedImage(); + setImage(this.bf4); ticker = 3; } else if ( ticker == 3 ) { - super.setStaticObjectType('z'); - super.loadBufferedImage(); +// super.setImgChar('z'); +// super.loadBufferedImage(); + setImage(this.bf5); ticker = 0; } } diff --git a/HeatUp/src/de/heatup/objects/StaticObject.java b/HeatUp/src/de/heatup/objects/StaticObject.java index a25503c..6441261 100644 --- a/HeatUp/src/de/heatup/objects/StaticObject.java +++ b/HeatUp/src/de/heatup/objects/StaticObject.java @@ -6,6 +6,7 @@ import java.awt.Graphics2D; import java.awt.Point; import java.awt.RenderingHints; import java.awt.image.BufferedImage; +import java.util.Random; import javax.swing.JComponent; @@ -15,6 +16,14 @@ import de.heatup.ui.PanelBuilder; public class StaticObject extends JComponent { private static final long serialVersionUID = 1L; protected BufferedImage bf1; + // TEST + protected BufferedImage bf2; + protected BufferedImage bf3; + protected BufferedImage bf4; + protected BufferedImage bf5; + protected boolean loaded = false; + protected Random rand; + // TEST protected Graphics2D g2d; private boolean doRescale = false; private double rescaleFactorX = 0.0; @@ -25,11 +34,16 @@ public class StaticObject extends JComponent { private int staticObjectWidth; private int staticObjectHeight; private int imgcounter = 0; + private char imgChar; + // For object animation + private int tickCounter = 0; + private int ticker = 0; public StaticObject(char staticObjectType, Point location, int staticObjectWidth, int staticObjectHeight) { this.staticObjectType = staticObjectType; this.staticObjectWidth = staticObjectWidth; this.staticObjectHeight = staticObjectHeight; + this.setImgChar(staticObjectType); loadBufferedImage(); setAutoBounds(location.x, location.y, staticObjectWidth, staticObjectHeight); } @@ -38,6 +52,10 @@ public class StaticObject extends JComponent { this(staticObjectType, location, Config.singleTilePixels, Config.singleTilePixels); } + public void setImgChar(char c) { + this.imgChar = c; + } + public char getStaticObjectType() { return this.staticObjectType; } @@ -55,49 +73,67 @@ public class StaticObject extends JComponent { } - this.imgcounter++; - if ( staticObjectType == '0' && this.imgcounter > 0 && this.imgcounter < 5 ) { - System.out.println("hit 0"); - staticObjectType = '2'; - loadBufferedImage(); - } + // Part for Animation + this.tickCounter++; + if ( (this.tickCounter%10) == 0 ) { + this.tickCounter = 0; + + if ( this.staticObjectType == '0' || this.staticObjectType == '1' || this.staticObjectType == '2' || this.staticObjectType == '3' || this.staticObjectType == '4' || this.staticObjectType == '5' || this.staticObjectType == '6' || this.staticObjectType == '7' || this.staticObjectType == '8' || this.staticObjectType == '9') { + if ( ! this.loaded ) { + loadBufferedImage_to(2,'0'); + loadBufferedImage_to(3,'1'); + this.loaded = true; + } + + if ( ticker == 0 ) { +// setImgChar('0'); +// loadBufferedImage(); + setImage(this.bf2); + ticker = 1; + + } else if ( ticker == 1 ) { +// setImgChar('2'); +// loadBufferedImage(); + setImage(this.bf3); + ticker = 0; + } + } + + if ( this.staticObjectType == '-') { + if ( ! this.loaded ) { + loadBufferedImage_to(2,'-'); + loadBufferedImage_to(3,'m'); + loadBufferedImage_to(4,'n'); + this.loaded = true; + rand = new Random(); + + } + + + ticker = rand.nextInt(3); + + if ( ticker == 0 ) { +// setImgChar('0'); +// loadBufferedImage(); + setImage(this.bf2); + ticker = 1; + + } + else if ( ticker == 1 ) { +// setImgChar('2'); +// loadBufferedImage(); + setImage(this.bf3); + ticker = 2; + } + else if ( ticker == 2 ) { +// setImgChar('2'); +// loadBufferedImage(); + setImage(this.bf4); + ticker = 0; + } + } - if ( staticObjectType == '2' && this.imgcounter > 5 && this.imgcounter < 10 ) { - System.out.println("hit 2"); - staticObjectType = '0'; - loadBufferedImage(); - } - if ( staticObjectType == '2' && this.imgcounter > 10 ) { - staticObjectType = '0'; - this.imgcounter=0; - } - - -// this.imgcounter++; -// if ( staticObjectType == 'p' && this.imgcounter > 0 && this.imgcounter < 5 ) { -// System.out.println("hit 1"); -// staticObjectType = 'p'; -// loadBufferedImage(); -// } if ( staticObjectType == 'p' && this.imgcounter > 5 && this.imgcounter < 10 ) { -// System.out.println("hit 2"); -// staticObjectType = 'q'; -// loadBufferedImage(); -// } -// if ( staticObjectType == 'q' && this.imgcounter > 10 && this.imgcounter < 15 ) { -// System.out.println("hit 3"); -// staticObjectType = 's'; -// loadBufferedImage(); -// } -// if ( staticObjectType == 's' && this.imgcounter > 15 && this.imgcounter < 20 ) { -// System.out.println("hit 4"); -// staticObjectType = 't'; -// loadBufferedImage(); -// } -// if ( staticObjectType == 't' && this.imgcounter > 50) { -// System.out.println("hit 5"); -// this.imgcounter = 0; -// staticObjectType = 'p'; -// } + } /* * Skalieren der Bilder wenn größer als Bounds @@ -112,7 +148,19 @@ public class StaticObject extends JComponent { protected void loadBufferedImage() { - this.bf1 = PanelBuilder.getImageLoader().getBufferedImage(this.staticObjectType); + this.bf1 = PanelBuilder.getImageLoader().getBufferedImage(this.imgChar); + } + + protected void loadBufferedImage_to(int n, char imgChar) { + if ( n == 2 ) { + this.bf2 = PanelBuilder.getImageLoader().getBufferedImage(imgChar); + } else if ( n == 3 ) { + this.bf3 = PanelBuilder.getImageLoader().getBufferedImage(imgChar); + } else if ( n == 4 ) { + this.bf4 = PanelBuilder.getImageLoader().getBufferedImage(imgChar); + } else if ( n == 5 ) { + this.bf5 = PanelBuilder.getImageLoader().getBufferedImage(imgChar); + } } public void setImage(BufferedImage image) { diff --git a/HeatUp/src/de/heatup/resources/images/grid_2.png b/HeatUp/src/de/heatup/resources/images/grid_2.png new file mode 100644 index 0000000..7722cdf Binary files /dev/null and b/HeatUp/src/de/heatup/resources/images/grid_2.png differ diff --git a/HeatUp/src/de/heatup/resources/images/grid_3.png b/HeatUp/src/de/heatup/resources/images/grid_3.png new file mode 100644 index 0000000..7ead33e Binary files /dev/null and b/HeatUp/src/de/heatup/resources/images/grid_3.png differ diff --git a/HeatUp/src/de/heatup/resources/images/hardware/plain_chip_1.png b/HeatUp/src/de/heatup/resources/images/hardware/plain_chip_1.png new file mode 100644 index 0000000..8880494 Binary files /dev/null and b/HeatUp/src/de/heatup/resources/images/hardware/plain_chip_1.png differ diff --git a/HeatUp/src/de/heatup/resources/images/hardware/plain_chip_2.png b/HeatUp/src/de/heatup/resources/images/hardware/plain_chip_2.png new file mode 100644 index 0000000..2a03d8b Binary files /dev/null and b/HeatUp/src/de/heatup/resources/images/hardware/plain_chip_2.png differ diff --git a/HeatUp/src/de/heatup/ui/Main.java b/HeatUp/src/de/heatup/ui/Main.java index 154ccaf..aab11a1 100644 --- a/HeatUp/src/de/heatup/ui/Main.java +++ b/HeatUp/src/de/heatup/ui/Main.java @@ -36,7 +36,7 @@ public class Main extends JFrame implements Runnable { private boolean running = false; private static boolean pause = false; - private boolean fullscreen = false; + private boolean fullscreen = true; private Thread thread; @@ -304,7 +304,7 @@ public class Main extends JFrame implements Runnable { private void render() { // player01.repaint(); // outerPanel.repaint(); -// gamePanel.repaint(); + gamePanel.repaint(); // actionPanel.repaint(); // statusPanel.repaint(); // this.repaint();