結對專案1連連看

2022-03-30 18:12:35 字數 1553 閱讀 3728

題目簡介;

每次使用者選擇兩個圖形,如果圖形滿足一定條件(兩個圖形一樣,且這兩個圖形之間存在轉彎少於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 剪枝。其實沒什麼好說的,有幾個要注意的地方,第乙個是判重,第二個是...