-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathSpielObjekt.java
54 lines (53 loc) · 1.98 KB
/
SpielObjekt.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
package game.togheter.de;
import java.awt.*;
import java.util.Random;
/**
* Daher sollte man die anderen Objekte auslagern und dieneuen Klassen
* von dieser hier erben lassen.
*
* Beispiel: Da alle Attribute hier offensichtlich eine Position hatten,
* kann man Spielobjekt als "Parent-" KLasse erstellen, von denen andere
* Spielobjekte erben.
*
* Wir erstellen drei weitere Objekte(Gold, Tuer, Stun)
* die von Spielobjekt erben. Zumindest theoretisch.
*
* Wir erstellen aber nur für Gold eine weitere Klasse, da diese ein zus�tzliches
* Attribut hat. Tuer und Stun haben hier einfach nur eine Position, dadurch
* ist es unnötig für diese beiden eine KLasse zu erstellen. Wenn wir nun eine T�r,
* oder Stun erstellen wollen, schreiben wir:
*
* SpielObjekt tuer = new SpielObjekt();
*
* Um die Position etwas dynamischer zu machen, geben wir dem Konstruktor zwei werte.
* Der erste Wert ist die maximale zufallszahl f�r die x position und der zweite Werte
* die maximale zufallszahl f�r die y Position
*/
public class SpielObjekt {
private static Random rnd = new Random();
/**
* Hierdurch erhalten ALLE Klassen, die von Spielobjekt erben eine Position.
*/
private Point position;
public SpielObjekt(int maxX, int maxY) {
position = new Point(rnd.nextInt(maxX), rnd.nextInt(maxY));
}
public void setzeNeuePosition(int x, int y) {
position.setLocation(x, y);
}
public Point erhaltePosition() {
return position;
}
/**
* Da wir oefter die Position des Spielobjektes aendern,
* implementieren wir hier eine Methode, die es uns vereinfach
* die Positionen zu veraendern. Hierbei koennen wir entweder
* positive oder negative Werte angeben um die Position zu veraendern
*/
public void veraendereXPositionUm(int aendereXPositionUm) {
position.x += aendereXPositionUm;
}
public void veraendereYPositionUm(int anedereYPositionUm) {
position.y += anedereYPositionUm;
}
}