Variable zwischen Klassen < Softwaretechnik+Pro < Praktische Inform. < Hochschule < Informatik < Vorhilfe
|
Status: |
(Frage) beantwortet | Datum: | 17:42 Fr 22.10.2010 | Autor: | roufthas |
Aufgabe | Die Hummer sollen sich beim Auftreffen auf eine Krabbe wie beim Auftreffen auf einem Schutzschild verhalten |
Hallo,
ich bin Java Anfänger und im Kurs "Anwendungsorientierte Programmierung" soll uns Java nähergebracht werden. Zum Einstieg "behandeln" wir im Moment Greenfoot mit dem Szenario "little Crab".
Ich habe schon fast alle Teilaufgaben erledigt, bis auf die oben gestellte.
Der Benutzer bewegt eine Krabbe und muss Würmer einsammeln und den wild umherlaufenen Hummern ausweichen.
Wenn man "s" drückt, soll ein Schutzschild aktiviert werden, die Krabbe ist unsteuerbar, aber auch unverwundbar, wenn ein Hummer auf die Krabbe auftrifft, soll er umdrehen.
Ich habe in der Klasse Crab die Variable boolean schutzSchild eingeführt, solang es aktiv ist, ist schutzSchild true.
Jetzt möchte ich gern in der Klasse Lobster irgendwie abfragen, was der Wert von schutzSchild ist, damit der Hummer die Krabbe verschont, oder eben nicht. Allerdings hab ich keine Ahnung wie das funktionieren soll.
Bitte um Hilfe.
Mfg
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 18:52 Fr 22.10.2010 | Autor: | felixf |
Moin!
> Die Hummer sollen sich beim Auftreffen auf eine Krabbe wie
> beim Auftreffen auf einem Schutzschild verhalten
> Hallo,
> ich bin Java Anfänger und im Kurs "Anwendungsorientierte
> Programmierung" soll uns Java nähergebracht werden. Zum
> Einstieg "behandeln" wir im Moment Greenfoot mit dem
> Szenario "little Crab".
> Ich habe schon fast alle Teilaufgaben erledigt, bis auf
> die oben gestellte.
> Der Benutzer bewegt eine Krabbe und muss Würmer
> einsammeln und den wild umherlaufenen Hummern ausweichen.
> Wenn man "s" drückt, soll ein Schutzschild aktiviert
> werden, die Krabbe ist unsteuerbar, aber auch unverwundbar,
> wenn ein Hummer auf die Krabbe auftrifft, soll er
> umdrehen.
> Ich habe in der Klasse Crab die Variable boolean
> schutzSchild eingeführt, solang es aktiv ist, ist
> schutzSchild true.
> Jetzt möchte ich gern in der Klasse Lobster irgendwie
> abfragen, was der Wert von schutzSchild ist, damit der
> Hummer die Krabbe verschont, oder eben nicht. Allerdings
> hab ich keine Ahnung wie das funktionieren soll.
Fuege der Klasse Crab eine Methode
public bool istSchutzschildAktiv() { return schutzSchuld; }
hinzu. Der Hummer ruft dann crab.istSchutzschildAktiv() auf um zu entscheiden, was passiert.
LG Felix
|
|
|
|
|
Status: |
(Frage) beantwortet | Datum: | 19:30 Fr 22.10.2010 | Autor: | roufthas |
Beim Hummer steht:
if(canSee(Crab.class) && !Crab.schutzSchildStatus())
Greenfoot.stop();
-->wenn die Krabbe ein Schutzschild hat, passiert nix.
In der Krabbe steht:
public boolean schutzSchildStatus(){
return schutzSchild;
}
Der Compiler meint dazu:
non-static method schutzSchildStatus() cannot be referenced from a static context.
Lg
|
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 20:17 Fr 22.10.2010 | Autor: | felixf |
Moin!
> Beim Hummer steht:
>
> if(canSee(Crab.class) && !Crab.schutzSchildStatus())
> Greenfoot.stop();
>
> -->wenn die Krabbe ein Schutzschild hat, passiert nix.
>
> In der Krabbe steht:
>
> public boolean schutzSchildStatus(){
> return schutzSchild;
> }
>
>
> Der Compiler meint dazu:
> non-static method schutzSchildStatus() cannot be
> referenced from a static context.
Alles static zu machen ist keine gute Idee.
Aber wenn du es umbedingt so machen willst: fueg ein static hinter das public bei der Funktionsdeklaration ein.
LG Felix
|
|
|
|
|
von unbedingt kann keine Rede sein...
jedenfalls habe ich es jetzt so mit static gemacht und der Compiler ist zufrieden und es funktioniert auch so wie es soll. geht es denn noch anders?
Vielen Dank für deine Hilfe!
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 22:20 So 24.10.2010 | Autor: | matux |
$MATUXTEXT(ueberfaellige_frage)
|
|
|
|
|
Status: |
(Frage) überfällig | Datum: | 12:26 Di 26.10.2010 | Autor: | sue30 |
kannst du mir deine lösung für 4. und 5. mal schildern ?? komme irgendwie da nicht weiter
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 13:20 Do 28.10.2010 | Autor: | matux |
$MATUXTEXT(ueberfaellige_frage)
|
|
|
|