Hey,
ich bin im moment dabei, ein kleines Spiel für Java zu programmieren (nur zum üben) und habe den anfang jetzt schon fertig, stehe aber jetzt vor einem Problem: Ich habe eine Klasse (Pressure), welche eine Druckplatte darstellen soll.
So sieht meine Klasse aus:
Nur will ich jetzt, dass ein Text über die Console ausgegeben wird, je nach dem, was für eine ID die Platte hat.
So rufe ich die Klasse auf:
Und so definiere ich sie:
Das Problem:
Jetzt wird nur etwas ausgegeben, wenn ich auf der Pressure mit der ID "hat" stehe, sonst wird nur "none" ausgegeben.
Wie kann ich dass machen, ohne dass ich jede einzelnde Pressure definieren muss, also so:
ich bin im moment dabei, ein kleines Spiel für Java zu programmieren (nur zum üben) und habe den anfang jetzt schon fertig, stehe aber jetzt vor einem Problem: Ich habe eine Klasse (Pressure), welche eine Druckplatte darstellen soll.
So sieht meine Klasse aus:
Code:
import java.awt.Point;
import java.awt.Rectangle;
public class Pressure {
private static String id;
private static int x,y,width,height;
public Pressure(int x, int y, int width, int height, String id){
Pressure.x = x;
Pressure.y = y;
Pressure.width = width;
Pressure.height = height;
Pressure.id = id;
}
public static String pressedPlate(){
Point pt1 = new Point(Player.x + (Player.width /2), Player.y + Player.height);
if (new Rectangle(x,y,width,height).contains(pt1)){
return id;
} else {
return "none";
}
}
}
Nur will ich jetzt, dass ein Text über die Console ausgegeben wird, je nach dem, was für eine ID die Platte hat.
So rufe ich die Klasse auf:
Code:
//wird immer ausgeführt, wenn ich space drücke
public static void allTheCollisions(){
if (pres.pressedPlate() == "hat"){
System.out.println("hat");
} else if (pres.pressedPlate() == "skin"){
System.out.println("skin");
}
else {
System.out.println("none");
}
}
Code:
public static Pressure pres;
public Game(Frame f){ //hauptklasse
[...]
new Pressure(200,110,75,40, "skin");
new Pressure(160,110,75,40, "hat");
[...]
Das Problem:
Jetzt wird nur etwas ausgegeben, wenn ich auf der Pressure mit der ID "hat" stehe, sonst wird nur "none" ausgegeben.
Wie kann ich dass machen, ohne dass ich jede einzelnde Pressure definieren muss, also so:
Code:
public static Pressure pres1, pres2, pres3; //usw...
pres1 = new Pressure(x,y,width,height);
pres2 = new Pressure(x2,y2,width2,height2);
pres3 = new Pressure(x3,y3,width3,height3);