Hallo liebes Forum,
ich beschäftige mich seit ca. 1 Jahr mit JAVA, bin also ein Anfänger. In der folgenden Auszug aus meinem Spiel "Goldregen" in dem es die Klassen: Welt,Abfall,Schatz, Gefahrgut(Bombe) und die abstrakte Klasse Gegenstand gibt geht es darum dass in der Welt die Abfälle,Schätze und Bomben vom Himmel fallen und man mit der Maus die Schätze einsammeln muss um einen Punkt zu kriegen, wenn man die Afälle berührt sollte es einen Minuspunkt geben und wenn die Bomben berührt werden sollte GAME OVER sein.
Mein Problem liegt darin das ich gelesen habe das man mit der Methode "instanceof" arbeiten kann um einen Score zählen zulassen, weiss aber nicht wie das wirklich funktionieren soll ???:L und wie ich den Score dann anzeigen lassen soll??
Unten habe ich die Welt gepostet, mit meinem ansatz ganz unten:
LG
Kafka
ich beschäftige mich seit ca. 1 Jahr mit JAVA, bin also ein Anfänger. In der folgenden Auszug aus meinem Spiel "Goldregen" in dem es die Klassen: Welt,Abfall,Schatz, Gefahrgut(Bombe) und die abstrakte Klasse Gegenstand gibt geht es darum dass in der Welt die Abfälle,Schätze und Bomben vom Himmel fallen und man mit der Maus die Schätze einsammeln muss um einen Punkt zu kriegen, wenn man die Afälle berührt sollte es einen Minuspunkt geben und wenn die Bomben berührt werden sollte GAME OVER sein.
Mein Problem liegt darin das ich gelesen habe das man mit der Methode "instanceof" arbeiten kann um einen Score zählen zulassen, weiss aber nicht wie das wirklich funktionieren soll ???:L und wie ich den Score dann anzeigen lassen soll??
Unten habe ich die Welt gepostet, mit meinem ansatz ganz unten:
Java:
package goldenes_paket;
import basiX.*;
public class Welt {
private Fenster f;
private Maus m;
private Schatz[] s;
private Gefahrgut[] g;
private Abfall[] a;
private int max = 20, anzahl = 0, wert = 0;
private Gegenstand[] ge;
public Welt() {
f = new Fenster("GOLDREGEN", 600, 400);
f.ladeBildInZeichenflaeche("/Bilder/hintergrund.jpg");
m = new Maus();
// s = new Schatz[10];
// g = new Gefahrgut[10];
// a = new Abfall[15];
ge = new Gegenstand[max];
/*
* for (int i = 0; i < 10; i++) { a[i] = new Abfall(Hilfe.zufall(50,
* 400), 0, 50, 50, 350); a[i].setzeFallgeschwindigkeit(0.15); }
*
* for (int i = 0; i < 10; i++) { s[i] = new Schatz(Hilfe.zufall(50,
* 400), 0, 50, 50, 350); } for (int i = 0; i < 10; i++) { g[i] = new
* Gefahrgut(Hilfe.zufall(50, 400), 0, 50, 50, 350);
* g[i].setzeFallgeschwindigkeit(0.25); }
*/
}
/**
* @param args
*/
public static void main(String[] args) {
new Welt().fuehreAus();
}
public void fuehreAus() {
Hilfe.kurzePause();
Dialog.info("Goldregen", "1.Schatz= 1 Punkt 2. Abfall = -1 Punkt BOMBE = GAME OVER");
while (true) {
if (anzahl < max && Hilfe.zufall(0, 100) < 15) {
switch (Hilfe.zufall(1, 3)) {
case 1:
ge[anzahl] = new Schatz(Hilfe.zufall(1, 600), 40, Hilfe.zufall(10,
25), Hilfe.zufall(10, 25), 500);
break;
case 2:
ge[anzahl] = new Abfall(Hilfe.zufall(1, 600), 40, Hilfe.zufall(10,
25), Hilfe.zufall(10, 25), 500);
break;
case 3:
ge[anzahl] = new Gefahrgut(Hilfe.zufall(1, 600), 40,Hilfe.zufall(10,
25), Hilfe.zufall(
10, 25), 350);
break;
}
anzahl++;
}
//?????????????????????????????????????????????????
for (int i = 0; i < anzahl; i++) {
ge[i].falle();
ge[i].reagiereAufMaus(m.hPosition(), m.vPosition());
if (ge[i] instanceof Schatz) {
wert += ((Schatz) ge[i]).wert();
}
}
}
}
}
LG
Kafka