Autor Beitrag
Namenlosnameless
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 259
Erhaltene Danke: 6

Windows XP Home Edition, Windos Vista
C#
BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 339
Erhaltene Danke: 20

Win 10
C# (VS 2012), C++ (VS 2012/GCC), PAWN(Notepad++), Java(NetBeans)
BeitragVerfasst: 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 259
Erhaltene Danke: 6

Windows XP Home Edition, Windos Vista
C#
BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3803
Erhaltene Danke: 176

Arch Linux
Python, C, C++ (vim)
BeitragVerfasst: Sa 23.01.10 21:54 
user profile iconNamenlosnameless hat folgendes geschrieben Zum zitierten Posting springen:
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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 259
Erhaltene Danke: 6

Windows XP Home Edition, Windos Vista
C#
BeitragVerfasst: So 24.01.10 01:06 
user profile iconKha hat folgendes geschrieben Zum zitierten Posting springen:
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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3803
Erhaltene Danke: 176

Arch Linux
Python, C, C++ (vim)
BeitragVerfasst: So 24.01.10 01:36 
Achso, darum geht es. Dann nimmst du statt foreach eben wieder das gute alte for.

_________________
>λ=
Namenlosnameless Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 259
Erhaltene Danke: 6

Windows XP Home Edition, Windos Vista
C#
BeitragVerfasst: 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 259
Erhaltene Danke: 6

Windows XP Home Edition, Windos Vista
C#
BeitragVerfasst: 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>>