2017-02-09 76 views
1

我必須閱讀一個文件並解開一個迷宮。我需要做的是閱讀一個迷宮並按如下方式打印出解決方案。Java簡單的迷宮建議

walls marked by '#' 
    passages marked by ' ' 
    path marked by 'X' 
    start/end marked by 'S'/'E' 

    (x,y) location of the start. (0,0) is upper left and (width-1,height-1) is lower right 
    (x,y) location of the end 

    1 1 1 1 1 1 1 1 1 1 
    1 0 0 0 0 0 0 0 0 1 
    1 0 1 0 1 1 1 1 1 1 
    1 0 1 0 0 0 0 0 0 1 
    1 0 1 1 0 1 0 1 1 1 
    1 0 1 0 0 1 0 1 0 1 
    1 0 1 0 0 0 0 0 0 1 
    1 0 1 1 1 0 1 1 1 1 
    1 0 1 0 0 0 0 0 0 1 
    1 1 1 1 1 1 1 1 1 1 

    OUTPUT: 
    ########## 
    #SXX  # 
    # #X###### 
    # #XX # 
    # ##X# ### 
    # # X# # # 
    # # XX # 
    # ###X#### 
    # # XXXE# 
    ########## 

這只是一個例子來說明我必須做什麼。請有人能告訴我,我應該遵循什麼程序?我沒有要求任何代碼,我只需要一個起點來解決這個迷宮。

我只需要檢查文件並用'#'替換'1'等等,還是我需要使用某種算法?任何幫助深表感謝。

+0

遞歸將是我猜的關鍵。 –

+0

您將需要逐行遍歷文件,並創建遊戲方塊列表的列表。 查找路線是一個不同的故事,如果您希望這可以與您創建的任何地圖一起工作,您將需要一個AI尋路算法。 – dahui

+2

沒有給定的開始和結束點,有很多解決方案。 – rajah9

回答

0

您提出問題的方式,聽起來好像您在要求我們解釋您的具體計劃要求。這聽起來非常關鍵,而且我們處在比你更糟糕的位置上,無論如何,因爲你有比我們更多的上下文,作爲給出問題的人。

你最好的行動方式是詢問誰給了你這個問題(老師,老闆,編程謎題網站,無論什麼)來詳細說明問題和需求描述。希望這對你是可能的。

如果我誤讀了你的問題,而你的最後一段並不意味着我認爲它做了什麼,並且你確實只是要求編程建議,請嘗試使用谷歌搜索算法,特別是可以返回最佳路徑的算法。 A*是視頻遊戲開發中常用的一種。

Wikipedia A* path-finding algorithm article

+0

謝謝。起初,我認爲這個問題很容易解決,但不是。我會看看尋找路徑感謝你的時間! – Kristo

+0

@ Kristo1990由於這看起來像一個家庭作業問題A *可能是矯枉過正。簡單的廣度優先搜索或「回溯」算法將更容易實現。 – 0x5453

+0

我會看看我可以找到哪些資源,以及如何解決問題,我可能會更新我的問題或讓您知道。感謝您的興趣,雖然:) – Kristo