und schon gelöst.. echt nice, dank dir! :wave:
Beiträge von lion_heart
-
-
So leute.. ich habe folgendes Problem und komm nach stundenlangem suchen einfach nicht weiter. :mad:
Im Anhang befinden sich screenshots meines codes.
Ich programmiere zur zeit ein Spiel, und will dass sich beliebig viele Gegner zufällig über den screen bewegen.
In meiner getRndDirection() Methode werden eine x und eine y Koordinate, sowie 4 weitere "richtungswerte" (left, up, down, right, entweder 0 oder 1) übergeben, die innerhalb der methode verändert werden sollen. (Screenshot1)Dazu gibt es natürlich eine Methode moveRnd(), welche die x und y koordinaten des Gegners je nach den (durch getRndDirection) vorherig erstellen werten der richtungen verändert. (Screenshot2)
Ich habe zum Test ein array enemy1 (6 felder groß) erstellt, welches im ersten feld enemy1[0] den x wert speichert, in enemy[1] den y wert, und von enemy1[2] bis enemy1[5] die richtungen left, up, down, und right (gespeichert als int, entweder 0 oder 1).
Im spiel selbst wende ich dann die oben genannten methoden nacheinander auf das array enemy1 an, und gebe anschließend den Gegner als Bild bei den koordinaten x und y aus. (screenshot3)
Die Werte des Arrays werden jedoch nicht durch die Methode verändert und der gegner bewegt sich nicht. (ja ich weiß, hat irgendwas mit call-by-value zu tun, habe auch schon lang genug gesucht und versucht es zu lösen....aber war wohl nichts)
BITTE HELFT MIR