Space Invaders

Super_Sig

Mitglied
Hi kurze Frage zu folgenden Thema:

und bewegt werden konnen. Im Verlauf dieser Aufgabe werden Sie mehrere Sprite-Klassen anlegen:
Defender, Invader, Bullet und InvaderGroup.
1. Die gemeinsamen Eigenschaften der verschiedenen Sprites sollen in der Oberklasse Sprite zusammengefasst
werden. Erstellen Sie diese mit folgenden int-Attributen: x und y fur die Position
der linken oberen Ecke des Sprites, sowie width und height fur seine Groe. Diese sollen nicht
von auen sichtbar sein, damit ihnen keine ungultigen Werte zugewiesen werden konnen.
2. Um dennoch einen Zugri zu ermoglichen, legen Sie oentliche get- und set-Methoden fur die
vier Attribute an. Die set-Methoden fur die Groe sollen nur positive Werte akzeptieren, x und
y durfen auerdem den Wert 0 erhalten. Falls ein ungultiger Wert ubergeben wird, soll dieser
ignoriert werden.
3. Legen Sie einen oentlichen Konstruktor an, dem zwei Parameter vom Typ int fur Breite und
Hohe ubergeben werden. Setzen Sie die entsprechenden Attribute, falls die Werte akzeptabel
sind. x und y sollen den Standardwert 0 erhalten.
4. Im Konstruktor soll auerdem jedem Sprite eine eindeutige Seriennummer zugewiesen werden.
Klassenvariablen (
"
statische Attribute\) existieren unabhangig von den einzelnen Sprite-
Instanzen. Mit einer statischen int-Variablen in der Klasse Sprite lasst sich ein Zahler realisieren,
der die bisher angelegten Sprites mitzahlt. Erweitern Sie den Konstruktor entsprechend und
verwenden Sie den Zahler, um fur jedes Sprite eine eindeutige Nummer in einem privaten, unver
anderlichen Attribut id zu speichern. Da dieses Attribut nicht mehr verandert werden kann,
mussen Sie nur eine get-Methode dafur anlegen.
5. Besonders wichtig bei der Programmierung von Spielen ist die Uberprufung, ob zwei Sprites miteinander
kollidieren. In den meisten Fallen reicht es aus, zu uberprufen, ob sich die rechteckigen
Flachen der Sprites an einer Stelle uberschneiden. Dazu soll jedes Sprite eine oentliche Methode
boolean hit(int x, int y, int width, int height) erhalten, die uberpruft, ob ein Rechteck
der angegebenen Groe und Position mit dem aktuellen Sprite kollidiert und entsprechend
true (Kollision) oder false (keine Kollision) zuruckgibt.
1
Uberladen Sie diese Methode durch eine zweite, die als einzigen Parameter ein Sprite-Objekt
ubergeben bekommt und die gerade angelegte hit-Methode geeignet aufruft.


Also ich bekome das mit der hit Methode nicht hin. Vielleicht kann mir einer helfen. :)

Danke im Voraus!



Java:
public class Sprite {
	
	private int x;
	private int y;
	private int width;
	private int height;
	static int anzahlSprite = 0;
	private int Id;
		
	public int getX(){
		return x;	
	}
	public int getY(){
		return y;	
	}
	public int getWidth(){
		return width;	
	}
	public int getHeight(){
		return height;	
	}	
	public void setX(int x){
		if( x >= 0){
			this.x = x;		
		}
	}
	public void setY(int y){
		if( y >= 0){
			this.y = y;		
		}
	}
	public void setWidth(int w){
		if( w > 0){
			this.width = w;		
		}
	}
	public void setHeight(int h){
		if( h > 0){
			this.height = h;		
		}
	}
	
	public Sprite(int w, int h){
		this.x = 0;
		this.y = 0;
		
		if(w < 0 && h >0){
			this.height = h;
			this.width = w;
		}
		anzahlSprite ++;
		this.Id = anzahlSprite;			
	}
	
	public int getId(){
		return Id;
	}
	
	public boolean hit(int x, int y, int width, int height){
	
		if()						//Hier komme ich leider nicht auf die Lösung
		return false;
	}
	
	public boolean hit(Sprite a){
		int ab = a.getX ();
		int b = a.getY ();
		int w = a.getWidth();
		int h = a.getHeight ();
		
		if(hit(ab,b,w,h) == true){
			return true;
		}
		
		return false;
	}	
}
 

Cola_Colin

Top Contributor
Da wirst du wohl sowas machen müssen, wie überprüfen ob das Rechteck x,y,width,height mit dem Rechteck this.x, this.y, this.width, this.height überlappt.

Aber mach dir mal noch eigene Gedanken dazu, und kopiere nicht einfach nur die Aufgabe hier rein.
Wir machen hier nicht einfach so deine Hausaufgabe.
 

Alph0r

Mitglied
Ich glaube, du hast einen Flüchtigkeitsfehler in deinem Konstruktor.

Du kannst die überladene Version auch mit weniger Code schreiben.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Java heap space Fehlermeldung beheben Java Basics - Anfänger-Themen 3
N Erste Schritte HSV color space - schwarz und weiß nur anhand von Saturation oder Multiplikator ermitteln Java Basics - Anfänger-Themen 14
G Heap Space erhöhen (64bit) Java Basics - Anfänger-Themen 45
A Heap Space Error bei rekursiver Suche in Dateien trotz nur einer Zeile im Speicher Java Basics - Anfänger-Themen 26
M Java Arbeitsspeicherverbrauch, Heap Space error korrigieren? Java Basics - Anfänger-Themen 18
D Java Heap Space Probleme Java Basics - Anfänger-Themen 7
P Java SocketException: No buffer space available ==> Netzwerkabsturz Java Basics - Anfänger-Themen 5
S Input/Output Java heap space Java Basics - Anfänger-Themen 8
W Compiler-Fehler "Could not reserve enough space for object heap"... und dann raucht das Programm ab Java Basics - Anfänger-Themen 3
A Java heap space Java Basics - Anfänger-Themen 11
T Out of Memory (Java Heap Space) Java Basics - Anfänger-Themen 9
D java heap space Java Basics - Anfänger-Themen 6
S Java Heap space trotz -Xmx1024 Java Basics - Anfänger-Themen 10
C 'OutOfMemoryError: Java heap space' Java Basics - Anfänger-Themen 5
L heap space, LinkedList umspeichern Java Basics - Anfänger-Themen 15
D java.lang.outofmemoryerror java heap space bei Hashtable Java Basics - Anfänger-Themen 3
neurox java.lang.OutOfMemoryError: Java heap space Java Basics - Anfänger-Themen 18
B java.lang.OutOfMemoryError: Java heap space bei Musikplayer Java Basics - Anfänger-Themen 7
M Java Heap Space durch Übergang von einer Klasse in die ander Java Basics - Anfänger-Themen 3
G warum heap space problem? Java Basics - Anfänger-Themen 6
V warum heap space überlastung Java Basics - Anfänger-Themen 2
G error wegen heap space Java Basics - Anfänger-Themen 4
M Beadarf ermitteln für Java heap space Java Basics - Anfänger-Themen 4
M Dateien lesen/schreiben und Heap Space Probleme Java Basics - Anfänger-Themen 8
D suchbaum out of heap space Java Basics - Anfänger-Themen 8
R Java heap space Java Basics - Anfänger-Themen 4
S OutOfMemoryError: Java heap space Java Basics - Anfänger-Themen 6
M Java Heap Space während der Laufzeit ändern Java Basics - Anfänger-Themen 2
E fehlermeldung "java heap space" Java Basics - Anfänger-Themen 21
L Steuerzeichen für Space (Leerzeichen)? Java Basics - Anfänger-Themen 3
J Space zwischen 2 Character verkleinern Java Basics - Anfänger-Themen 5

Ähnliche Java Themen

Neue Themen


Oben