Jumper設計文件

2021-08-19 04:55:13 字數 1590 閱讀 4690

當前方一格為空時,若兩格前為花,jumper會直接「吃掉」花並且落到原來花的位置;若兩格前是岩石,則先執行move函式,向前進一步,再執行jump函式,跳過岩石。

jumper會先向前進一步,再進行轉向兩次90度,再執行跳函式或其他情況。

jumper會直接兩次轉向90度,再執行跳函式或其他情況。

jumper會先向前進一步,再進行轉向兩次90度,再執行跳函式或其他情況。(和岩石一致)

其中乙個jumper會前進一格,另乙個jumper會跳一步。

測試jumper面對actor並且與之相鄰時會有什麼動作。

乙個jumper運動的時候分三種情況,一種是前面沒東西或前面一格有東西直接jump,一種是前面兩格處有東西或牆改move,一種是前面就是牆直接turn,寫成act函式為

public void act()

else if (canmove())

else

其中要判斷是否可跳或移動,判斷跳寫成

public boolean canjump()

location loc = getlocation();

location next = loc.getadjacentlocation(getdirection())

if (!gr.isvalid(next))

location next2 = next.getadjacentlocation(getdirection());

if (!gr.isvalid(next2))

actor neighbor = gr.get(next2);

return (neighbor == null) || (neighbor instanceof flower);

// ok to move into empty location or onto flower

// not ok to move onto any other actor

}

判斷移動寫成

public boolean canmove()

location loc = getlocation();

location next = loc.getadjacentlocation(getdirection());

if (!gr.isvalid(next))

actor neighbor = gr.get(next);

return (neighbor == null) || (neighbor instanceof flower);

// ok to move into empty location or onto flower

// not ok to move onto any other actor

}

至於執行函式和bug沒什麼太大區別,只是在跳時需要獲取相鄰的相鄰的格仔的資訊了。

這個part的關鍵點在於理解location、grid、actor這幾個類的屬性和互相之間的關係。寫jumper類自然要繼承actor類。需要自己寫jump函式和判斷函式canjump。實際上jumper的**和bug也比較類似,只需要在bug的基礎上修改下就行了。

需求分析文件 概要設計文件 詳細設計文件

由於專案工作需要 需要提供 軟體需求規格說明書 軟體概要設計說明書 和 軟體詳細設計說明書 所以這裡整理學習一下相關文件需要的內容。文章並不設計對所有需求分析,概要設計和詳細設計的詳細描述。因為這其中的任何一點都可以單獨提取出來成為軟體工程學科中的一本書籍內容。2.1 我們為什麼需要 軟體需求規格說...

詳細設計文件

如上圖,可以看到詳細設計文件是,瀑布模型 中承上啟下的乙個關鍵環節,在做好需求分析和軟體架構之後,寫好詳細設計文件就意味可以進行編碼了。由此,可以看到詳細設計文件有三個作用 1,為具體編碼環節做好鋪墊與設計,從而指導編碼工作 2,提供測試所需文件參考 3,可作為理解編碼的參考文件。詳細設計的主要任務...

詳細設計文件

如何寫詳細設計文件是乙個很頭疼的話題,簡單的說是需求文件的昇華,也可以說是開發人員開發程式的依據,當然根據詳細設計文件的粒度進行。好的詳細設計文件是需求人員和開發人員之間的橋梁,不過目前好多程式開發都是先開發後,然後為了應付審核,公司制度,文件規範,開發完成後後續補上該文件。如果這樣的方式,詳細設計...