c#連連看思路部分
畫圖部分:
將整個地圖分爲19*11個,每張圖片長度爲31,寬度爲34,總共39中圖片
先把整個地圖數組初始化爲0,即(3,4)第3行,第4列的圖片代表的數值爲0
每張圖片都有代表的數值,數值從(0-38),數值一樣的圖片點擊之後纔可以連線消除
每中圖片都必須出現偶數次,對第一張圖片的第一次出現,隨機找出2個數字,代表其出現的x行,y列,並且設置圖片的數值爲0
第一張圖片的第二次出現也是這樣,找出2個數字,設置圖片數值爲1.。。。。。。。第39張圖片設置數字爲39
連接部分:
當點擊form時,可以用當前鼠標位置/圖片寬度 鼠標y位置/圖片長度 ,得到點擊的位置(x行,y列)
當先後點擊的圖片是相同數字時,代表相同的圖片,下面判斷圖片是否可以相連接
在第一張圖片按照左右上下的順序依次尋找空白的圖片,即圖片數字爲0的 ,記錄在數組arr1[]中
在第二張圖片按照上右下左的順序依次尋找空白的圖片,也記錄在數字arr2[]中,
判斷兩個數組裏面有沒有相同的點,有則說明是相交的,想通的路徑,可以在第一張和第二張 拐點(交點)間畫線,
然後用form的背景色畫出圖片們的位置,這樣可以是圖片們消除不見,也以Form背景色畫出線條,是曾經畫出的線不見
關於相通的路徑:
有0個交點 圖片位於想通x或者y位置
有1個交點 a_ ___ __ _
|
}
b
有2個交點 a b
| |
|_________________|
都要考慮全
此外:在界面設置上,還可以添加 刷新屏幕按鈕 點擊之後出現刷新的聲音 限制刷新的次數
選擇對一樣的圖片時的圖片爆炸處理
添加背景音樂 爆炸音樂 選中音樂等
增加相同圖片的提示 難度選擇 背景音樂的開關 背景音樂的選擇
點擊不同的圖片時的扣分/扣時間等
詳細代碼及註釋見下集