一、項(xiàng)目介紹
十五子游戲開始界面宋欺,任意鍵進(jìn)入十五子游戲轰豆,暫停按鈕進(jìn)入屏保。開始是十五個(gè)按鈕按順序齿诞,排成四排酸休。點(diǎn)擊開始按鈕進(jìn)入游戲,十五個(gè)按鈕順序被打亂祷杈,通過點(diǎn)擊空白塊周圍的任意按鈕斑司,將該按鈕移動(dòng)到空白位置。以此來使十五個(gè)按鈕按照正確的順序重新排列但汞,游戲獲得勝利宿刮!
游戲開始界面是老式windows電腦的屏保,通過Timer組件和五個(gè)Lable控件以及隨機(jī)數(shù)對(duì)象Random來實(shí)現(xiàn)僵缺。設(shè)置timer的Interval屬性胡桃,每0.1秒變換lable的BackColor,Left磕潮,Top屬性翠胰,來達(dá)到lable背景顏色不斷變換,位置移動(dòng)的效果揉抵,當(dāng)lable移動(dòng)到窗體邊緣就以相反的方向進(jìn)行移動(dòng)亡容,從而實(shí)現(xiàn)類似屏保的開始界面。
游戲通過兩個(gè)for循環(huán)創(chuàng)建了4*4的按鈕數(shù)組冤今,在for循環(huán)里設(shè)置了按鈕的大小闺兢,坐標(biāo)等相關(guān)屬性,然后通過this.Controls.Add方法把按鈕添加到窗體戏罢。當(dāng)點(diǎn)擊按鈕時(shí)通過Button btn = sender as Button屋谭,來找到被點(diǎn)擊的按鈕,然后判斷該按鈕是否與空白按鈕相鄰龟糕,若相鄰則把按鈕上面的數(shù)字和可見性進(jìn)行交換桐磁,從而實(shí)現(xiàn)將按鈕移動(dòng)到空白位置的視覺效果。每移動(dòng)一次就判斷按鈕順序是否正確讲岁,若正確則提示成功我擂。為了防止玩家多次移動(dòng)仍不能成功,右下角的按鈕通過Controls.Remove方法刪除所有按鈕缓艳,然后重新創(chuàng)建來實(shí)現(xiàn)對(duì)所有按鈕進(jìn)行排序校摩。
暫停功能也是通過timer組件,用g.DrawEllipse不停的在窗口繪制大小依次變大的圓來實(shí)現(xiàn)一個(gè)動(dòng)態(tài)變換的效果阶淘。
?
參考文檔和完整的文檔和源碼下載地址: