| |||||||
Du magst keine Werbung? Wir auch nicht!
Einfach registrieren und die Werbung ist weg. Diese Nachricht sehen nur nicht registrierte Nutzer.
![]() |
| | LinkBack | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| no guts no glory Registriert seit: May 2004 Ort: Nordhorn
Beiträge: 7.998
| Wegfindung
Hi Leue ... Ich steh bei einer Geschichte gerade ein bisschen auf dem Schlauch und hoffe einer von euch kann mir einen Tritt in die Richtige Richtung geben. Folgendes: Ein Tile-Basierendes Spiel, jede Tile hat einen Wert der die "Bewegungskosten" angibt die sie verbraucht. Bsp: ein Tile des Typs "Wiese" verbraucht 2 Bewegungspunkte, ein Tile des Typs "Wald" verbraucht 3 Punkte. Auf der Map steht nun eine Spielfigur. Die Figur hat einen Wert der angibt wie Viele Bewegungspunkte ihr zur Verfügung stehen. Problem: Bei Klick auf die Figur soll jedes Tile makiert werden das die Figur mit ihren Bewegungspunkten erreichen kann. Bei dem Algorithmus hacks bei mir im Moment. Hat einer eine Idee wie man sowas am Performantesten angeht?
__________________ Bitte keine Privaten Nachrichten mit Fragen, dazu ist das Forum selbst da. Danke. 'We live in an amazing, amazing world, and it's wasted on the crappiest generation of spoiled idiots.' |
| | |
| | #2 (permalink) |
| Flashbitch Registriert seit: Oct 2003 Ort: Hannover
Beiträge: 279
|
__________________ Fuchtelworld |
| | |
| | #4 (permalink) | |
| no guts no glory Registriert seit: May 2004 Ort: Nordhorn
Beiträge: 7.998
| Zitat:
__________________ Bitte keine Privaten Nachrichten mit Fragen, dazu ist das Forum selbst da. Danke. 'We live in an amazing, amazing world, and it's wasted on the crappiest generation of spoiled idiots.' | |
| | |
| | #5 (permalink) |
| Supermassive Registriert seit: Aug 2004 Ort: Frankfurt, Bornheim
Beiträge: 861
|
xervus readme! dein stichworte sind graphentheorie und kantengewichteter graph. hab leider grade nicht die zeit, aber there you go... cheers, thomas.
__________________ Personal » amenity*blogging » elysian.de » Flexpertise - Enterprise Flex Collaboration Networks » Xing » ColdFusion Community Everything Cairngorm » cairngormdocs.org |
| | |
| | #6 (permalink) |
| muh Registriert seit: Apr 2002 Ort: Freiburg / Stuttgart
Beiträge: 4.338
|
Rekursiv würde ich sagen. Fängst am Startpunkt an, und machst für jeden Nachbarpunkt folgende Überlegungen: 1) kann der Punkt mit den Reserven erreicht werden? 2) wieviel Reserven bleiben? 3) wurde der Punkt schon mit mehr verbleibenden Reserven erreicht? 4) wenn ja, vergiss es 5) wenn nein, speichere den Punkt mit den verbleibenden Reserven in ein Array mit allen Punkten im Array gehts wieder bei 1) los. Sicher nicht optimal von der Performance, aber sollte bei mittleren Reichweiten ausreichen
__________________ »Carpe diem«, sagte der Graf. (Terry Pratchett: Ruhig Blut!) |
| | |
| | #7 (permalink) |
| no guts no glory Registriert seit: May 2004 Ort: Nordhorn
Beiträge: 7.998
|
@elysian: Uff ... harter Tobak ... ich werd mal versuchen mich da reinzulesen.@Janoscharlipp: So ähnlich hab ichs schon versucht ... aber irgendwo hatte ich da noch einen Fehler. Ich bring das Beispiel morgen mal mit vieleicht hilft das ja.
__________________ Bitte keine Privaten Nachrichten mit Fragen, dazu ist das Forum selbst da. Danke. 'We live in an amazing, amazing world, and it's wasted on the crappiest generation of spoiled idiots.' |
| | |
| | #8 (permalink) |
| no guts no glory Registriert seit: May 2004 Ort: Nordhorn
Beiträge: 7.998
|
Ich bins nochmal. Ich habs gestern nicht mehr auf die Reihe bekommen. Ich hab hier: http://www.surge-oe.de/develop/tile/ mal das Beispiel hochgeladen. Die Voraussetzungen sind das ein Feld des Typs "Ebene" 1 Bewegungspunkt verbraucht und ein Feld des Typs "Wald" 2 Punkte. Die Spielfigur hat 5 Bewegungspunkte zur Verfügung. Das ist der Code der die Felder auswählt: PHP-Code: Für jede der Tiles überprüfe ich dann ob sie existiert, ob sie nicht die tle ist auf der die spielfigur steht und ob die aktuelle der aktuelle Bewegungspunktvorrat - die Kosten für diese tile >= 0 ist. Ist das der Fall zeichne ich ein hexfeld als Markierung ein, übergebe den Bewegungspunktvorrat - die Kosten für diese Tile an die Tile und starte die Funktion mit dieser Tile neu. Mehr ist das eigendlich nicht, aber funktionieren tut es trotzdem nicht ^^ ... Ich muss vieleicht noch dazu sagen das ich nicht der begnadetste Programmierer unter der Sonne bin. Ich krieg eigendlich immer alles hin was ich will aber nicht zwangsläufig besonders Elegant. Wenn jemand Ideen/Tips hat oder einen Denkfehler bei mir bemerkt würd ich mich freuen.
__________________ Bitte keine Privaten Nachrichten mit Fragen, dazu ist das Forum selbst da. Danke. 'We live in an amazing, amazing world, and it's wasted on the crappiest generation of spoiled idiots.' |
| | |
| | #9 (permalink) |
| a.k.a maddin79 Registriert seit: Jul 2003 Ort: berlin f-hain
Beiträge: 1.693
|
ich glaube dein problem kannst du auch mit dem a*-algorithmus lösen. hier is der mal schön erklärt und unten gibts auch gleich das beispiel skript. http://www.policyalmanac.org/games/aStarTutorial.htm gruß mad
__________________ |
| | |
| | #10 (permalink) |
| muh Registriert seit: Apr 2002 Ort: Freiburg / Stuttgart
Beiträge: 4.338
|
Ich denke, das Problem ist, dass du im Kreis laufen kannst, mit deiner Rekursion, und damit die move_points von Feldern verringerst, die eigentlich später erst in der Rekursion abgearbeitet werden. (s. Punkt 3 in meinem Gedankengang)
__________________ »Carpe diem«, sagte der Graf. (Terry Pratchett: Ruhig Blut!) |
| | |
| | #11 (permalink) |
| no guts no glory Registriert seit: May 2004 Ort: Nordhorn
Beiträge: 7.998
|
Danke nochmal für eure Hilfe ... Ich habs gestern Abend dann doch noch hinbekommen.Der Knackpunkt war dan am Ende tatsächlich zu überprüfen ob jedes gegebene Feld aus einer anderen Richtung mit mehr verbleibenden "Bewegungspunkten" erreicht werden kann. Danke nochmal
__________________ Bitte keine Privaten Nachrichten mit Fragen, dazu ist das Forum selbst da. Danke. 'We live in an amazing, amazing world, and it's wasted on the crappiest generation of spoiled idiots.' Geändert von readme.txt (03-11-2006 um 09:15 Uhr) |
| | |
| | #12 (permalink) |
| Flashbitch Registriert seit: Oct 2003 Ort: Hannover
Beiträge: 279
|
Du meinst es wurde dir auf flashkit gezeigt
__________________ Fuchtelworld |
| | |
| | #13 (permalink) |
| no guts no glory Registriert seit: May 2004 Ort: Nordhorn
Beiträge: 7.998
|
Hehe ... es war eine Kombination aus Tips von Flashkit und vom Flashforum
__________________ Bitte keine Privaten Nachrichten mit Fragen, dazu ist das Forum selbst da. Danke. 'We live in an amazing, amazing world, and it's wasted on the crappiest generation of spoiled idiots.' |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |