資源描述:
《連連看游戲(C#)》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、連連看游戲(C#)自己動手做一個簡單的連連看游戲。(很多可擴(kuò)展的空能,留給各位自行擴(kuò)展)游戲規(guī)則就不說了,大家應(yīng)該都知道吧。運(yùn)行畫面:圖標(biāo)區(qū)域就是連連看的操作區(qū)域,這部分的表示是程序隨機(jī)生成的。1,通過先后點(diǎn)擊2個圖標(biāo),程序會判斷這2個圖標(biāo)是否可連接,如果可以連接就將這2個圖標(biāo)從圖中消失(截圖中,空白的2個圖標(biāo),就是連接后,消失的)。2,左下是計(jì)時區(qū)域。目前可以計(jì)時,但時間倒數(shù)為0時,程序不會自動終止(各位可以自行實(shí)現(xiàn)這個功能)。3,右上是設(shè)定區(qū)域。當(dāng)?shù)谝痪钟螒蚪Y(jié)束后,可以通過點(diǎn)擊按鈕“再開始”以開始新的游戲。游戲模
2、式可以自行設(shè)定。例如“15*12----6”代表15行、12列、每種圖標(biāo)數(shù)量為6個(可以計(jì)算出需要15*12/6=30個不同的圖標(biāo))。4,右下是幫助區(qū)域。當(dāng)找不到可以連接的圖標(biāo)時,可以點(diǎn)下“Help”尋求程序幫助(現(xiàn)狀當(dāng)程序無解的時候,不會自動提醒玩家,各位可自行實(shí)現(xiàn))。想要重排畫面上的圖標(biāo)時(有時候很長時間都找不到怎么連接),可以點(diǎn)擊“畫面Data調(diào)整”按鈕(各位可以自行實(shí)現(xiàn))。CheckBox“連接線表示”是在玩家點(diǎn)擊了2個圖標(biāo)后,程序自動描畫一個連接2個圖標(biāo)的線。CheckBox“空格子表示”是為了給消失了的格
3、子畫線,不勾上的時候,消失的格子將不會有虛線框表示。程序結(jié)構(gòu):1,Group文件夾內(nèi)是44個系統(tǒng)圖片,用來表示相同的格子。代碼中隨機(jī)生成的是2維int數(shù)組,但是表示的時候,將相同的int數(shù)字用圖片代替。每一局游戲的圖片都是隨機(jī)從這44個圖片中產(chǎn)生的。2,F(xiàn)orm1。就是我們所看到的的主畫面。3,PnlCanvas。左上操作區(qū)域的畫布控件。程序主要代碼:各位可以自行嘗試,或發(fā)郵件至tang.peng.ju@163.com索取源代碼1,F(xiàn)orm1.cs:usingSystem;usingSystem.Collection
4、s.Generic;usingSystem.Drawing;usingSystem.Windows.Forms;namespaceGameLianliankan{publicpartialclassForm1:Form{///空位置坐標(biāo)privatestaticPointNullPoint=newPoint(-1,-1);///空值privatestaticintNullNum=-1;///橫向起點(diǎn)基準(zhǔn)坐標(biāo)
5、>privatestaticintbasePX=30;///縱向起點(diǎn)基準(zhǔn)坐標(biāo)privatestaticintbasePY=30;///前一次選中格子的顏色privateColorpreClickBorderColor=Color.DeepPink;///前一次選中格子的位置privatePointpreClickPoint=NullPoint;///ヘルプ點(diǎn)1priv
6、atePointptHelp1=NullPoint;///ヘルプ點(diǎn)2privatePointptHelp2=NullPoint;privateColorhelpBorderColor=Color.DeepSkyBlue;privateinttotalTime=600;privateintcurTime=0;///每一個格子橫向?qū)挾?/summary>privateintlengthX=50;///每一個格子縱向高度priva
7、teintlengthY=50;///格子值二維數(shù)組privateint[,]aryPic;///連連看游戲圖標(biāo)privateListlstIcons=newList();///格子值與圖標(biāo)Index之間的關(guān)系privateDictionarydicValueToIndex=newDictionary();publicForm1(){Initia
8、lizeComponent();}//////畫面Load場合、データ作成/////////privatevoidForm1_Load(objectsender,EventArgse){this.cmbKi