Hab im Moment die Aufgabe im Info Lk, das "Game of Life" in Greenfoot zu schreiben. Ist halt ein zellulärer Automat.
Jedenfalls wollte ich das Grid erstmal mit zufälligen Zellen füllen. Also eine Zelle kann entweder den Zustand "Tot" haben(In dem 2d Array also false) oder "Lebendig",(demtentsprechend im Array true).
Dazu hab ich folgenden Programmcode:
PHP Code:
public void zufaelligeFuellung(){
for(int x = 0 ; x< getHeight(); x++){
for(int y = 0; y < getWidth(); y++){
GreenfootImage ALIVE, DEAD und bg wurden schon erstellt. Hab ich jetzt nicht expliziert nochmal aufgeführt.
Das Ergebnis sieht dann folgendermaßen aus:
Das Feld füllt sich also nicht ganz mit den Zellen. Mir ist nicht ganz klar warum, weil ich in den for-Schleifen ja die Feldbegrenzungen als Abbruchwerte angegeben hab.
Bei "bg.drawImage(ALIVE, x*10, y*10);" x und y vielleicht vertauscht, sodass er in den nicht sichtbaren Bereich zeichnet?
Sonst lass dir mal irgendetwas ausgeben, wenn x und y die Koordinate von bisher nicht gezeichneten Kästen sind (bsp: x = 30 und y = 0), um fest zu stellen ob es an der Schleife oder am Zeichnen liegt.
Da macht er eine Zelle wo er vorher nichts gemacht hat bei der Methode.
Leider weiß ich nicht warum. Weil bis zum x-Wert 40 würde ja auch so kommen denn das Spielfeld ist ja so definiert:
public CellWorld() {
super(48, 32, 10);
}
Bis zum x-Wert 40 müsste er theoretisch kommen, da das Feld ja 48 lang ist.
Und die 400 halt, weil eine Zelle 10 Pixel groß ist. In der Schleife gehts nicht und manuell schon -.-"
sicher, dass du richtig neu kompiliert und ausgeführt hast?
bei dem alten bild wars nämlich 100% der fehler, wird genau bis zur höhe von links nach rechts befüllt.
EDIT:
überprüf mal ob getWidth und getHeight nicht fehlerhaft copypasted sind und beide die höhe zurückgeben oder ähnliches.
getWidth und getHeight geben die richtigen größen aus.
Manchmal krieg ich bei dem Methodenaufruf auch den OutOfBounds Fehler, obwohl das eigentlich garnicht sein kann, da das Array ja genauso groß ist wie das Feld, also die Arraygrenzen getWidth und getHeight sind.
boolean[][] cells = new boolean[getWidth()][getHight()];
(aufpassen mit getwidth und gethight in der richtigen reihenfolge...)
achja noch genereller stilhinweis, du solltest ne extra funktion draw() machen, die den inhalt von cells zeichnet, die zeichenroutinen haben in zufaelligeFuellung() nichts zu suchen.
Ahhh. Danke. Da lag der Fehler. Als ich das Array erstellt hab, hab ich x und y Werte vertauscht.
Ja das mit dem Draw werd ich warscheinlich noch machen. Wollt nur erstmal so ne Idee von dem Programm bekommen wie das läuft mit den Zellen etc.
Vor allem das ändern muss ich mir nochmal angucken und überlegen ob ich dafür nicht ein 2tes Array brauche (nur für den Fall, dass du weißt wie dieses "Game of Life" funktioniert)
Wenn du die Java Code Conventions angeblich gelesen hast, wieso hälst du dich nicht dran? Wäre ich dein Lehrer, hätte ich dir die halbe Methode rot angestrichen.
Ich bin Genuss meine Programme noch allein zu schreiben und warscheinlich wird sie auch nie jmd anderes öffnen.
Wenn ich etwas publizieren wollen würde, würd ich mich an die außeren Förmlichkeiten halten ^^
Zudem gibts ja nichtmal eine feste Code-Konvention die für alle gilt. Ist ja oft von Firma zu Firma bzw von Projekt zu Projekt unterschiedlich, wie man das handhaben will. Ob die geschweifte Klammer in die selbe oder in die nächste Zeile kommt etc ^^
Und da dieses kleine Experiment ja eig eh nur für mich ist und das alles für mich logisch ist, hab ichs mir mal rausgenommen nicht alles zu kommentieren.
Aber ist ja auch ziemlich egal ^^
Habs eig wieder entfernt um diese Diskussion zu vermeiden
WarRock füllt Glücksschuss 10/06/2011 - WarRock - 14 Replies Hallo com wollte euch informieren
das glücksschuss langsam aber sicher wieder gefüllt wird
habe mit einen Freund gesprochen aus dem G1 team
der sagte in einer Doppelupdate funktion
wird er gefüllt erster teil erfüllt alte items entfernt
der zweite teil wird die füllung&vergebung der items sein
das update wird noch diese woche sein in der nacht von
freitag auf samstag
Thanks nicht vergessen (;:awesome:
[SUCHE] Jemnd, der sich mit den java docs von Bukkit auskennt 06/11/2011 - Minecraft - 4 Replies Hallo,
ich suche jmd,
der mir bei ein paar problemem beim erstellen meines eigenen plugisn behilflich sein kann
Und er bekommt auch 20 e*g - 40 e*g
Er sollte sich mit java und Mit den javadocs von Bukkit auskennen und Skype hat.
wer intresse hat bitte in skype melden: metin2.markus
P.s.: Ich ahb es hier, weil ich es ihm als danke gebe.
Mfg
.NoThx
Java lässt sich nicht mehr installieren 02/12/2011 - Technical Support - 10 Replies Hallo,
ich wollte heute mein Java updaten und habe die
+alte Version deinstalliert
-hier kam das erste Problem, denn eine für die deinstallation notwendige dll war nicht verfügbar. Daraufhin habe ich Java über die Systemsteuerung deinstalliert.
+mit JavaRa die Reste entfernt
+Versucht jreu-6u23 zu installieren
-Nun sagt mir der Installer es wäre schon eine Version installiert. Wenn ich aber auf erneut installieren klicke kommt eine Meldung vom Windows Installer "Diese Aktion ist nur...
Monster HP füllt sich wieder voll auf Ôô 01/05/2011 - Flyff - 4 Replies Hi,
Ich habe mir einen V15 Server gemacht...
derzeit geht sogut alles... außer EINER sache!
Ich weis nicht ob das normal ist aber bei meinem Freund ist es auch so,
jedesmal wenn ich ein Monster spawne (Devos, Rangda usw...)
und ich ihn anggreife, geht erst etwas HP weg aber dann ist die wieder voll Ôô
Was ist das Ôô ?
und wie kann ich das beheben?