2016-09-07 2 views
-4

zur Zeit arbeite ich mit Pfadfindung Spiel. Ich brauche Hilfe, um dieses kleine Spiel zu beenden.Finden Sie die Züge zwischen Anfang und Ende

hier ist mein Schlüssel Weg

S= starting point; 

* = can move 

# = blocker, you can’t move to it, must move around. 

O=end point. 

I von S bis O gehen müssen, und ich brauche Anzahl der Züge bekommen von ‚S‘ auf ‚O‘ zu gehen.

char[][] mygrid = { 
    {'*', '*', '#', 'O', '*'}, 
    {'S', '#', '*', '*', '*'}, 
    {'*', '*', '*', '*', '*'}} ; 

oben ist meine 2D-Array in Java. Ich muss die Anzahl der Züge von 'S' bis 'O' finden.

Ich bin ein neuer Bie für dieses Forum. Bitte hilf mir dabei.

+0

Ich bin verwirrt Sir ... brauchen einen Ausgangspunkt ... :( –

+4

Sie können einfach nicht bitten, die SO-Community Ihre Aufgabe für Sie zu tun, ohne –

+0

zumindest einige Mühe zeigen müssen Sie einen Weg finden, Algorithmus, wenn Sie keine Ahnung haben, beginnen Sie mit Dijkstra, dann bewegen Sie sich zu einem * (a-Stern) –

Antwort

2

Sie können alle nicht blockierten Zellen am Anfang mit 1 füllen. Dann füllen Sie mit 2 alle leeren Zellen (nicht blockiert und nicht starten) um jede Zelle 1. Um jeden von ihnen - füllen Sie mit 3 (außer 1, blockieren und starten). wiederhole bis dort keine leeren Zellen mehr um die letzte Nummer herum oder du kommst zu Ende. die Zahl an der Endzelle wird das Ergebnis sein.

{'1', '*', '#', 'O', '*'} {'1', '2', '#', 'O', '*'} {'1', '2', '#', 'O', '*'} 
{'S', '#', '*', '*', '*'} {'S', '#', '*', '*', '*'} {'S', '#', '*', '*', '*'} 
{'1', '*', '*', '*', '*'} {'1', '2', '*', '*', '*'} {'1', '2', '3', '*', '*'} 

{'1', '2', '#', 'O', '*'} {'1', '2', '#', 'O', '*'} {'1', '2', '#', 'O(6)', '*'} 
{'S', '#', '4', '*', '*'} {'S', '#', '4', '5', '*'} {'S', '#', '4', '5', '6'} 
{'1', '2', '3', '4', '*'} {'1', '2', '3', '4', '5'} {'1', '2', '3', '4', '5'} 
+0

danke, dass du mir geholfen hast –

Verwandte Themen