From 3d42d5933152e1df92195cfd88b3d837ce5ddc64 Mon Sep 17 00:00:00 2001 From: andreas Date: Sat, 1 Nov 2014 01:39:49 +0100 Subject: [PATCH] =?UTF-8?q?Neue=20Klasse=20f=C3=BCr=20dynamische=20und=20s?= =?UTF-8?q?tatische=20Objekt,=20welche=20anstelle=20von=20Label,=20Graphic?= =?UTF-8?q?s=20nutzt.=20Rotieren=20und=20Skalieren=20ist=20damit=20m=C3=B6?= =?UTF-8?q?glich.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/de/heatup/objects/DynamicObject.java | 40 ++++++++ .../src/de/heatup/objects/StaticObject.java | 46 +++++++++ HeatUp/src/de/heatup/objects/logic.java | 91 ++++++++++++++++++ .../resources/images/little_black_guy.png | Bin 0 -> 358 bytes .../resources/images/little_blue_guy.png | Bin 0 -> 390 bytes .../resources/images/little_green_guy.png | Bin 0 -> 391 bytes 6 files changed, 177 insertions(+) create mode 100644 HeatUp/src/de/heatup/objects/DynamicObject.java create mode 100644 HeatUp/src/de/heatup/objects/StaticObject.java create mode 100644 HeatUp/src/de/heatup/objects/logic.java create mode 100644 HeatUp/src/de/heatup/resources/images/little_black_guy.png create mode 100644 HeatUp/src/de/heatup/resources/images/little_blue_guy.png create mode 100644 HeatUp/src/de/heatup/resources/images/little_green_guy.png diff --git a/HeatUp/src/de/heatup/objects/DynamicObject.java b/HeatUp/src/de/heatup/objects/DynamicObject.java new file mode 100644 index 0000000..2d98933 --- /dev/null +++ b/HeatUp/src/de/heatup/objects/DynamicObject.java @@ -0,0 +1,40 @@ +package de.heatup.objects; + +import java.awt.Graphics; +import java.awt.Graphics2D; +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; + + public DynamicObject() { + + } + + public void paintComponent(Graphics g) { + Graphics2D g2d = (Graphics2D)g; + //this.image = Toolkit.getDefaultToolkit().getImage("src/de/heatup/resources/images/little_green_guy.png"); + try { + this.bf1 = ImageIO.read(new File("src/de/heatup/resources/images/little_green_guy.png")); + } catch (IOException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + + //g2d.rotate(0.3, 10, 10); + //g2d.scale(1.0, 1.0); + //g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING,RenderingHints.VALUE_ANTIALIAS_ON); + g2d.drawImage(bf1, 0, 0, this); + //g2d.setStroke(new BasicStroke(1.0f)); + g2d.finalize(); + } +} diff --git a/HeatUp/src/de/heatup/objects/StaticObject.java b/HeatUp/src/de/heatup/objects/StaticObject.java new file mode 100644 index 0000000..09f52cc --- /dev/null +++ b/HeatUp/src/de/heatup/objects/StaticObject.java @@ -0,0 +1,46 @@ +package de.heatup.objects; + +import java.awt.Graphics; +import java.awt.Graphics2D; +import java.awt.image.BufferedImage; +import java.io.File; +import java.io.IOException; + +import javax.imageio.ImageIO; +import javax.swing.JComponent; + +/* + * Draft for static objects + */ +public class StaticObject extends JComponent { + + private static final long serialVersionUID = 1L; + //private Image image; + private BufferedImage bf1; + private Graphics2D g2d; + + public StaticObject() { + + } + + public void paintComponent(Graphics g) { + this.g2d = (Graphics2D)g; + //this.image = Toolkit.getDefaultToolkit().getImage("src/de/heatup/resources/images/little_green_guy.png"); + try { + this.bf1 = ImageIO.read(new File("src/de/heatup/resources/images/little_green_guy.png")); + } catch (IOException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + System.out.println(this.bf1.getWidth() + " " + this.bf1.getHeight()); + //g2d.rotate(0.2, 10, 10); + //g2d.scale(1.5, 1.5); + g2d.drawImage(bf1, 0, 0, this); + g2d.finalize(); + } + + public void reloadImage() { + + } +} + diff --git a/HeatUp/src/de/heatup/objects/logic.java b/HeatUp/src/de/heatup/objects/logic.java new file mode 100644 index 0000000..7dbe38f --- /dev/null +++ b/HeatUp/src/de/heatup/objects/logic.java @@ -0,0 +1,91 @@ +package de.heatup.objects; + +import java.util.Random; + + +/* + * Static class for opponent movement still quick n' dirty + */ +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; + } else if ( move == 2 && movex >= 0) { + movex -= 4; + mx=4; + my=0; + } else if (move == -1 && movey >= 0) { + movey -= 4; + my=-4; + mx=0; + } else if (move == 1 && movey >= 0) { + movey -= 4; + my=4; + mx=0; + } 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()); + dynObj.repaint(); + try { + Thread.sleep(10); + } catch (InterruptedException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + } + } + }); + t.start(); + } +} diff --git a/HeatUp/src/de/heatup/resources/images/little_black_guy.png b/HeatUp/src/de/heatup/resources/images/little_black_guy.png new file mode 100644 index 0000000000000000000000000000000000000000..1debcceb2551bd4a7739651bd3f685821f5a4ee0 GIT binary patch literal 358 zcmeAS@N?(olHy`uVBq!ia0vp^DnRVO!3HFYQm{XE)7O>#9+$kRy3x9;TrYt_k|nMYCC>S|xv6<249-QVi6yBi z3gww484B*6z5(HleBwYw=R92;Lo)8YopG9%MUlrjajR~N(u@6KT@6Y%cJsSv7+-3d zm%sRDWLN5&Czk0^3#V+VOAy}seb27{p7m@Tl|QOxt=ww&%lYrVtgeZ&?i#aiuAUXx zV>s=4&zlZ6{)T`%A6uZVAa21(#*l^49M?d0PLXkFWl2 zf9E*y{-(bd{#Ks2&0ksRw$Sca-3vSUB>R@Od+$=M7ik|=g literal 0 HcmV?d00001 diff --git a/HeatUp/src/de/heatup/resources/images/little_blue_guy.png b/HeatUp/src/de/heatup/resources/images/little_blue_guy.png new file mode 100644 index 0000000000000000000000000000000000000000..5ff5d8ec60e5bc7649af8ea6bedbd6c1c65da889 GIT binary patch literal 390 zcmeAS@N?(olHy`uVBq!ia0vp^DnRVO!3HFYQm{XE)7O>#9+$kRx=Iw|{vALe$r9Iy66gHf+|;}h2Ir#G#FEq$ zh4Rdj3u3e)`S0B~?>rJ)OAbcjb%K=Q#XL f?y@RG7PZ(VmsYmbZ2Dpa^f`m4tDnm{r-UW|m#?4H literal 0 HcmV?d00001 diff --git a/HeatUp/src/de/heatup/resources/images/little_green_guy.png b/HeatUp/src/de/heatup/resources/images/little_green_guy.png new file mode 100644 index 0000000000000000000000000000000000000000..0a579e25d28d4b67854233c789d156b3b0ac0499 GIT binary patch literal 391 zcmeAS@N?(olHy`uVBq!ia0vp^DnRVO!3HFYQm{XE)7O>#9+$kRy6~etQrm$-k|nMYCC>S|xv6<249-QVi6yBi z3gww484B*6z5(HleBwYw?>$`{Lo)8YouSCbWGLcN&dJECQK0eRDO1L}1CkFoGWrfA zUhv?l2(XY@a6o5Qe95MllP)~#&E7WK&uH@h=l?gYTBX!-u}W-TfbjRbD|u@3MeEr( zG^bp1zGl4l=#Go*@xP-l1ba-I*WRZ6J@|Y?%{u@0fA-l-(8+bmEj^gafA8m>nb)fh z{Hu?#QfU@wQE<^e>@3g}5L6slZk6%HF}i%l=}(_0u>Mx$IC@QSc7M*iz!yHh?#=uw zFmsjl>x|2xloQ@XnPicWvZ&*zHVPdjhK fGE7o+f5E-9t@L