題目簡介;
每次使用者選擇兩個圖形,如果圖形滿足一定條件(兩個圖形一樣,且這兩個圖形之間存在轉彎少於3
的路徑),則兩個圖形都能消掉。給定任意具有相同圖形的兩個格仔,我們需要尋找這兩個格仔之間在轉彎最少的情況下,經過格仔數目最少的路徑。如果這個最優路徑的轉彎數目少於
3 ,則這兩個格仔可以消去。
將介面中相同的猴子消去,遊戲限時1000
秒,如果在規定的時間內沒有完成,就會跳出對話方塊「笨蛋!遊戲時間到!
game over
!!!」的字樣。如果玩家贏了這局,還沒有過癮的話,可以單擊「再來一局」。判斷遊戲是否結束。如果所有圖形全部消去,或者遊戲玩家不可能再消去任意兩個格仔的時候,遊戲應該結束。後一種情況,我們稱之為「死鎖」
。在死鎖的情況下,我們也可以暫時不終止遊戲,而是隨機打亂局面,使得打破「死鎖」
局面。不管怎樣,我們需要判別遊戲當前狀態是否為「死鎖
」狀態。我們首先思考問題:怎麼判斷兩個圖形能否相消?前面分析中,我們已經知道,兩個圖形能夠相消,當且僅當這兩個圖形相同,且它們之間存在路徑轉彎數目小於3。
2.結對分工及過程;
計科高職13-1 許花子
201303014005
類名: mainframe
* 作用
: 自定義主類,對滑鼠拖拽的初始介面進行宣告*
* 繼承的父類
: jframe類 *
* 實現的介面
: strings*
類名: mapui
* 作用
: 定義按鈕和炸彈功能*
* 繼承的父類
: jpanel類 *
* 實現的介面
: stings *
類名: arraypoint
作用: 用資料結構定義每行列的按鍵*
計科高職13-2 王敏
201303014062
連線:類名: chessbutton
* 作用
: 初始化遊戲中滑鼠點選按鈕*
* 繼承的父類
: jbutton類 *
* 實現的介面
: 沒有
* 類名: map
作用: 連入並宣告遊戲規則*
3.**位址;
4.測試情況;
5.結對人合照
6.問題及心得
通過這次課程設計還使我懂得了理論與實際相結合是很重要的,只有理論知識是遠遠不夠的,只有把所學的理論知識與實踐相結合起來,從理論中得出結論,才能真正為社會服務,從而提高自己的實際動手能力和獨立思考的能力。在設計的過程中遇到問題,可以說得是困難重重,並且還發現了自己的許多不足之處,對以前所學過的知識理解得不夠深刻,掌握得不夠牢固。
搜尋 HDU1175 連連看
題目 分析 這道題看到的第一反應應該就是bfs或者dfs,裸的dfs bfs顯然會tle,所以我就想用a 不過好像並不好寫啟發函式。列舉步數不行,就列舉邊吧。因為允許有兩次轉折,所以最多有三條邊列舉中間的一條邊,然後進行check,這道題只用了兩個for迴圈就ac了。include include ...
02 連連看 用例分析
需求 基本規則 用滑鼠左鍵點選方塊,將2個圖案相同的方塊用連線連線起來,連線線不多於3根直線,連線後方塊就會消除。選擇乙個棋子用滑鼠左鍵點選,棋子會變色,然後點選另乙個同樣牌面圖案的棋子,如果能夠連線就ok了,如果不能連線,第一次選擇的棋子就會失效。需求 用例分析 分析物件 1.開局和互動單擊用例均...
hdoj 1175 連連看 dfs 剪枝
題目大意 題目給出一副連連看的圖形,其中0代表沒有物品,其餘數字代表該位置的物品,規定,每次消除所經過的路徑不能超過兩次專向。另外,不能在圖外進行轉向。問,對於q個詢問,是否能夠消除。每乙個詢問都是對於初始圖而言的,解題思路 dfs 剪枝。其實沒什麼好說的,有幾個要注意的地方,第乙個是判重,第二個是...