Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

De_Struktor

unregistriert

1

12.06.2013, 21:09

Löschen von mehr als nur einen Block - Bomberman

Hi,

das Problem hierbei scheint mir ein wenig komplexer zu sein, als sonst^^.

Zuerst, es klappt bis jetzt ganz gut, wenn ich die Bombe lege und die Voraussetzung hier ist, das die Bombe auch auf! dem Block liegt.
nur da vor stehen reicht erstmal nicht^^

Ich würde gerne sobald ich die Bombe lege, das zum Beispiel in Pfeiltasten Richtung 2 Blöcke verschwinden, welche definiere ich dann. Also:

2 oben,
2l inks,
2 unten,
2 rechts.

Wie kann ich das hinbekommen, denn ich habe die Blöcke in einer generischen Liste reingepackt und daher kann ich nicht wissen, in welcher Position sich die Blöcke befinden. Wisst ihr, wie ich herausfinden kann in welcher Position der Liste sich die Blöcke befinden?

Vielleicht stelle ich hier auch nicht die richtige Frage, aber sonst weiß ich grad auch nicht, wie ich daran gehen soll.

Mfg

De_Struktor

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

2

12.06.2013, 21:11

Da wirst Du wohl die Liste durchsuchen müssen. Klingt für mich übrigens eindeutig nach der falschen Datenstruktur.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

De_Struktor

unregistriert

3

12.06.2013, 21:23

Wie würdest du daran gehen und mit welcher Datenstruktur vor allem, wenn du sagst das das nicht die richitige ist?

De_Struktor

unregistriert

4

12.06.2013, 22:04

BC, gibt es in .NET eine "Set-Datenstruktur wie in C++??
also die ein Schlüsselwertpaar definiert, auf die ich dann nach belieben löschen kann. Habe sowas mal gelesen, nur weiß ich nicht, wenn es sie geben sollte, ob sie auch so heißt?

patrick246

Treue Seele

Beiträge: 328

Wohnort: nahe Heilbronn/BW

Beruf: TG Profil Informatik-Schüler

  • Private Nachricht senden

5

12.06.2013, 22:25

Ein Schlüssel-Wert-Paar ist in C++ eher eine map. Vielleicht könnte das hier für dich interessant sein: http://msdn.microsoft.com/en-us/library/xfhwa508.aspx

Schorsch

Supermoderator

Beiträge: 5 145

Wohnort: Wickede

Beruf: Softwareentwickler

  • Private Nachricht senden

6

12.06.2013, 23:21

Naja mit der Liste würde das theoretisch ja schon gehen. Besonders schön ist es allerdings nicht. Es ist wichtig die einzelnen Datenstrukturen zu kennen und zu wissen welche Vor- und Nachteile sie haben. Zusätzlich sollte man dann möglichst wissen welche Datenstrukturen die aktuell genutzte Sprache schon mitbringt. Bzw Sprache ist eigentlich das Falsche Wort. Standardbibliothek bzw Standardframeworks würde besser passen. Setz dich vielleicht einfach mal mit den .Net Datenstrukturen auseinander. Ob man dann einen oder mehrere Blöcke löschen möchte ist eigentlich erst mal egal. Du musst dir halt überlegen wie du auf die Blöcke zugreifen können möchtest. Ich würde spontan über die Position darauf zugreifen können. Nicht die Position in irgendeiner Struktur, sondern in der Welt. Da gibts aber auch andere Möglichkeiten. Wenn du dir darüber im klaren bist dann kommt der Rest eigentlich von selbst.
„Es ist doch so. Zwei und zwei macht irgendwas, und vier und vier macht irgendwas. Leider nicht dasselbe, dann wär's leicht.
Das ist aber auch schon höhere Mathematik.“

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

7

13.06.2013, 08:11

Wenn es darum geht eine statische 2D-Spielmap zu verwalten und per Index beliebig in jede Richtung zu wandern, dann ist wohl offenbar ein zweidimensionaler Array die beste Art das zu lösen. Simpel, schnell, direkt. Ich wüsste jedenfalls nicht, wofür man da eine Map, ein Set oder eine Liste bräuchte oder verwenden wollen würde.
Der Editor braucht eventuell eine Liste von Listen, damit er die Größen schnell und einfach ändern kann. Das Spiel jedoch wohl kaum.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

De_Struktor

unregistriert

8

13.06.2013, 10:55

Das Ding ja ist, cdie map ist kein 2d array also nicht mehr dimensional. Sie ist aufwändig reihe fuer Reihe selbst erstellt.
Ddaher muesste ich eine Datenstruktur verwenden.

Zumindest nehme ich das so an

Schrompf

Alter Hase

Beiträge: 1 470

Wohnort: Dresden

Beruf: Softwareentwickler

  • Private Nachricht senden

9

13.06.2013, 11:02

Falsche Annahme. Du kannst auch ein 2D-Array aufwändig Reihe für Reihe, Tile für Tile selbst befüllen. Die Wahl der richtigen Datenstruktur ist primär eine Frage der häufigsten Zugriffsmuster. Wenn Du praktisch immer per 2D-Koordinate darauf zugreifst, empfiehlt sich nunmal eine lineare 2D-Datenstruktur, die zufällige Zugriffsmuster kann.
Häuptling von Dreamworlds. Baut aktuell an nichts konkretem, weil das Vollzeitangestelltenverhältnis ihn fest im Griff hat. Baut daneben nur noch sehr selten an der Open Asset Import Library mit.

patrick246

Treue Seele

Beiträge: 328

Wohnort: nahe Heilbronn/BW

Beruf: TG Profil Informatik-Schüler

  • Private Nachricht senden

10

13.06.2013, 11:40

Oder eben ein eindimensionales Array und dann mit [y * breite + x] darauf zugreifen.

Werbeanzeige