| Autor |
Beitrag |
Namenlosnameless
      
Beiträge: 259
Erhaltene Danke: 6
Windows XP Home Edition, Windos Vista
C#
|
Verfasst: Sa 23.01.10 01:55
Hallo!
Ich bin gerade dabei mir PAC-MAN zu schreiben, dabei stehe ich vor einem Problem!
Prinzipiel arbeite ich mit einem 2-Dimensionalem Array der das Spielfeld für den Computer symbolisiert.
Ich glaube das nennt man Tilemap oder so ähnlich.
In diesem Array gibt es 5 Zustände die durch int-Werte dargestellt werden. z.B. Wert 4: Hier ist PAC-MAN
Nun zu Meinem Problem: Da ich eine beliebige Anzahl an Gegnern habe muss ich sie alle über eine foreach, die nach den Werten für "Gegner" im Array sucht, ansprechen.
Dabei muss ich zwangsläufig die Position des Gegners bestimmen können. Also z.B. Der Wert für Gegner steht auf Arraypoition [7,0] oder [15,4].
Dazu muss man noch sagen das die erste Dimension an eine Variable "x" übergeben werden soll und die 2te an "y".
Kann mir da jemand helfen? Ich will endlich mal ein "größeres" Projekt das ich mir vornehme auch beenden.
mvg Namenlosnameless
_________________ 1:<<Life sucks!!>> 2:<< Well okay>> 1: <<Just Yours>> 2:<<Ohmph>>
|
|
Greenberet
      
Beiträge: 339
Erhaltene Danke: 20
Win 10
C# (VS 2012), C++ (VS 2012/GCC), PAWN(Notepad++), Java(NetBeans)
|
Verfasst: Sa 23.01.10 11:21
ich würde es anders machen...
du hast eine 2dim array, was 2(3) zustände hat:
0 = Wand
1 = Begehbar
(2 = Teleport zu X/Y )
Alle anderen objekte in der Karte( Frucht, geist, "Punkt", pacman, "ängstliche geister" ) erstellst du als Objekt in einer Extra Liste ( oder mehreren Listen ). Jedes dieser Objekte hat die Koordinaten X/Y.
|
|
Namenlosnameless 
      
Beiträge: 259
Erhaltene Danke: 6
Windows XP Home Edition, Windos Vista
C#
|
Verfasst: Sa 23.01.10 14:07
Danke für die Antwort
Ist auch eine Variante!
ICh denk mal drüber nach!
Trotzdem würde ich es interessant finden wie ich die "Koordinaten" im Array auslesen kann. Vlt für andere Sachen..
_________________ 1:<<Life sucks!!>> 2:<< Well okay>> 1: <<Just Yours>> 2:<<Ohmph>>
|
|
Kha
      
Beiträge: 3803
Erhaltene Danke: 176
Arch Linux
Python, C, C++ (vim)
|
Verfasst: Sa 23.01.10 21:54
Namenlosnameless hat folgendes geschrieben : | | Trotzdem würde ich es interessant finden wie ich die "Koordinaten" im Array auslesen kann. Vlt für andere Sachen.. |
Du gehst das Array von hinten nach vorne durch, bis du gefunden hast, was du suchst  .
Eine "Gegner"-Liste wäre also auf jeden Fall eleganter, wenn auch bei Pacman-Verhältnissen noch nicht unbedingt notwendig.
_________________ >λ=
|
|
Namenlosnameless 
      
Beiträge: 259
Erhaltene Danke: 6
Windows XP Home Edition, Windos Vista
C#
|
Verfasst: So 24.01.10 01:06
Kha hat folgendes geschrieben : | Du gehst das Array von hinten nach vorne durch, bis du gefunden hast, was du suchst  |
.
kannst du mir das etwas genauer erklären? Weil das ist ja genau das was ich mit der foreach bezwecken will. Ich suche solange bis mir der Wert "Gegner" zurück gegeben wird.. Allerdings weiß ich danach nicht an welcher Arrayposition das Element gefunden wurde? oder?
_________________ 1:<<Life sucks!!>> 2:<< Well okay>> 1: <<Just Yours>> 2:<<Ohmph>>
|
|
Kha
      
Beiträge: 3803
Erhaltene Danke: 176
Arch Linux
Python, C, C++ (vim)
|
Verfasst: So 24.01.10 01:36
Achso, darum geht es. Dann nimmst du statt foreach eben wieder das gute alte for.
_________________ >λ=
|
|
Namenlosnameless 
      
Beiträge: 259
Erhaltene Danke: 6
Windows XP Home Edition, Windos Vista
C#
|
Verfasst: So 24.01.10 01:41
Auch war...^^ wenn ich das ganze richtig interpretiere dann brauch ich 2 for's oder??
Eine die alle "x" durchläuft, die in einer steht die alle "y" durchläuft. und wenn Array[x,y] den Wert "Gegner" ergibt dann mache blabla wenn nicht suche weiter oder?
Zumindest ist es so, das einzige das ich mir vorstellen kann, lass mich aber gerne etwas besserem belehren.
_________________ 1:<<Life sucks!!>> 2:<< Well okay>> 1: <<Just Yours>> 2:<<Ohmph>>
|
|
Namenlosnameless 
      
Beiträge: 259
Erhaltene Danke: 6
Windows XP Home Edition, Windos Vista
C#
|
Verfasst: Mi 27.01.10 00:16
Es hat geklappt!
Danke für die Hilfe!!
_________________ 1:<<Life sucks!!>> 2:<< Well okay>> 1: <<Just Yours>> 2:<<Ohmph>>
|
|