馬海珠
摘要:該文以對對碰游戲為例,采用c#.NET技術,完成游戲的主要功能和程序設計思路及游戲的控制流程;并重點分析游戲中涉及到的交換提示算法。
關鍵詞:c#.NET;對對碰游戲的設計思路;交換提示算法
中圖分類號:TP302 文獻標識碼:A 文章編號:1009-3044(2014)29-6865-03
Abstract: Based on the DuiDuiPeng game as an example, using C#.NET technology to complete the games main function and design idea , the game's flow chart. The focus of analysis showed that the games reminding algorithm.
Key words: C#.NET; DuiDuiPeng games design idea; the games reminding algorithm
對對碰游戲是一款經(jīng)典的消除類游戲,深受大眾喜受。不管是新出的迪斯尼冰雪奇緣游戲,還是寶石迷陣、小鳥爆破等,都可通過簡單對對碰游戲演變而來,這些游戲的算法設計大同小異。該文結(jié)合C#.NET框架中Windows Forms圖形用戶界面的開發(fā)思想,分析解剖對對碰游戲的設計與實現(xiàn),給設計者愛好者帶來一點啟發(fā)。
1 游戲概述
游戲在 10 × 10 格子的界面中進行。每個格子中有一個圖案。鼠標連續(xù)選中兩個相鄰的圖案,它們的位置會互換,互換后如果橫排或豎排有3個或3個以上相同的圖案,則可以消去該圖案,并得分。當用戶找不到可交換的方塊圖案時,系統(tǒng)可以為用戶提供提示功能,但會損失相應的生命值。若系統(tǒng)不存在任何可消去的圖案時構(gòu)成死鎖,系統(tǒng)將自動重新產(chǎn)生所有圖案即重排。
2 游戲設計思路
通過上述游戲介紹得出整個游戲基本功能和游戲系統(tǒng)的設計思路。
2) 游戲設計思路
由于游戲界面是10*10組成的互不相同的圖案,為存儲方塊和繪制方塊,可利用二維數(shù)組來存儲每個圖案方塊(可采用8張不同的圖案),而每個圖案方塊即為定義為一個方塊類Block。為實現(xiàn)消塊,用另一個二維數(shù)組number的存儲游戲界面對應的圖案序號(1~8) ,而要消去的方塊(即不需要重繪的方塊圖案),則將number數(shù)組的值標記為0。通過定時器控制下,不停地統(tǒng)計用戶得分,并控制進程控制條,如果進程控制條為0,則游戲結(jié)束并出現(xiàn)結(jié)束畫面,若用戶的分數(shù)能排進系統(tǒng)的前10名,則可輸入用戶名保存分數(shù)。
在算法實現(xiàn)中,檢測行或列有是否存在3塊及3塊以上的check()方法和消塊填充fill()方法是實現(xiàn)游戲的重點算法。當用戶鼠標連續(xù)選中兩個相鄰塊交換后,調(diào)用check()方法,檢測是否有符合規(guī)則的方塊,即修改number數(shù)組的對應元素的值為0,再按列統(tǒng)計number數(shù)組中值為0的個數(shù),即為每列要消去的方塊數(shù),并調(diào)用填充方法,在游戲屏幕的該列最上方重新隨機產(chǎn)生新的方塊,而其它方塊圖案則依次下移,并獲取相應的積分。因此,整個對對碰游戲設計了3個類:
(1) 方塊圖案類Block類:用于獲取圖案,繪制圖案等
(2) 游戲場景類GameField類:用于隨機生成并繪制所有游戲場景中的方塊圖案、交換方塊、檢測是否存在可消去的方塊、方塊的消除填充及交換提示等。
(3) 游戲窗體Start類:是游戲的主界面,需要添加2個圖片控件PictureBox作為游戲的開始界面和游戲面板、1個定時器及相關的菜單項及進程控制條等。
4 結(jié)束語
該文采用c#.NET語言實現(xiàn)了對對碰游戲的全部功能并測試通過。希望該實現(xiàn)思路對程序設計用戶利用C#.NET開發(fā)游戲帶來一點幫助和引導,了解游戲設計的秘密。
參考文獻:
[1] 王小科,趙東會.C#典型模塊與項目實戰(zhàn)大全[M].北京:電子工業(yè)出版社,2012.
[2] 陳銳,李欣.Visualc#經(jīng)典游戲編程開發(fā)[M].北京:科學出版社,2011.
[3] 杜少杰.C#程序設計初學者案例教程[M].天津:南開大學出版社,2010.
[4] 俞亮.基于C#的掃雷游戲設計與實現(xiàn)[J].企業(yè)技術開發(fā):學術版,2014(6):63-64.endprint
摘要:該文以對對碰游戲為例,采用c#.NET技術,完成游戲的主要功能和程序設計思路及游戲的控制流程;并重點分析游戲中涉及到的交換提示算法。
關鍵詞:c#.NET;對對碰游戲的設計思路;交換提示算法
中圖分類號:TP302 文獻標識碼:A 文章編號:1009-3044(2014)29-6865-03
Abstract: Based on the DuiDuiPeng game as an example, using C#.NET technology to complete the games main function and design idea , the game's flow chart. The focus of analysis showed that the games reminding algorithm.
Key words: C#.NET; DuiDuiPeng games design idea; the games reminding algorithm
對對碰游戲是一款經(jīng)典的消除類游戲,深受大眾喜受。不管是新出的迪斯尼冰雪奇緣游戲,還是寶石迷陣、小鳥爆破等,都可通過簡單對對碰游戲演變而來,這些游戲的算法設計大同小異。該文結(jié)合C#.NET框架中Windows Forms圖形用戶界面的開發(fā)思想,分析解剖對對碰游戲的設計與實現(xiàn),給設計者愛好者帶來一點啟發(fā)。
1 游戲概述
游戲在 10 × 10 格子的界面中進行。每個格子中有一個圖案。鼠標連續(xù)選中兩個相鄰的圖案,它們的位置會互換,互換后如果橫排或豎排有3個或3個以上相同的圖案,則可以消去該圖案,并得分。當用戶找不到可交換的方塊圖案時,系統(tǒng)可以為用戶提供提示功能,但會損失相應的生命值。若系統(tǒng)不存在任何可消去的圖案時構(gòu)成死鎖,系統(tǒng)將自動重新產(chǎn)生所有圖案即重排。
2 游戲設計思路
通過上述游戲介紹得出整個游戲基本功能和游戲系統(tǒng)的設計思路。
2) 游戲設計思路
由于游戲界面是10*10組成的互不相同的圖案,為存儲方塊和繪制方塊,可利用二維數(shù)組來存儲每個圖案方塊(可采用8張不同的圖案),而每個圖案方塊即為定義為一個方塊類Block。為實現(xiàn)消塊,用另一個二維數(shù)組number的存儲游戲界面對應的圖案序號(1~8) ,而要消去的方塊(即不需要重繪的方塊圖案),則將number數(shù)組的值標記為0。通過定時器控制下,不停地統(tǒng)計用戶得分,并控制進程控制條,如果進程控制條為0,則游戲結(jié)束并出現(xiàn)結(jié)束畫面,若用戶的分數(shù)能排進系統(tǒng)的前10名,則可輸入用戶名保存分數(shù)。
在算法實現(xiàn)中,檢測行或列有是否存在3塊及3塊以上的check()方法和消塊填充fill()方法是實現(xiàn)游戲的重點算法。當用戶鼠標連續(xù)選中兩個相鄰塊交換后,調(diào)用check()方法,檢測是否有符合規(guī)則的方塊,即修改number數(shù)組的對應元素的值為0,再按列統(tǒng)計number數(shù)組中值為0的個數(shù),即為每列要消去的方塊數(shù),并調(diào)用填充方法,在游戲屏幕的該列最上方重新隨機產(chǎn)生新的方塊,而其它方塊圖案則依次下移,并獲取相應的積分。因此,整個對對碰游戲設計了3個類:
(1) 方塊圖案類Block類:用于獲取圖案,繪制圖案等
(2) 游戲場景類GameField類:用于隨機生成并繪制所有游戲場景中的方塊圖案、交換方塊、檢測是否存在可消去的方塊、方塊的消除填充及交換提示等。
(3) 游戲窗體Start類:是游戲的主界面,需要添加2個圖片控件PictureBox作為游戲的開始界面和游戲面板、1個定時器及相關的菜單項及進程控制條等。
4 結(jié)束語
該文采用c#.NET語言實現(xiàn)了對對碰游戲的全部功能并測試通過。希望該實現(xiàn)思路對程序設計用戶利用C#.NET開發(fā)游戲帶來一點幫助和引導,了解游戲設計的秘密。
參考文獻:
[1] 王小科,趙東會.C#典型模塊與項目實戰(zhàn)大全[M].北京:電子工業(yè)出版社,2012.
[2] 陳銳,李欣.Visualc#經(jīng)典游戲編程開發(fā)[M].北京:科學出版社,2011.
[3] 杜少杰.C#程序設計初學者案例教程[M].天津:南開大學出版社,2010.
[4] 俞亮.基于C#的掃雷游戲設計與實現(xiàn)[J].企業(yè)技術開發(fā):學術版,2014(6):63-64.endprint
摘要:該文以對對碰游戲為例,采用c#.NET技術,完成游戲的主要功能和程序設計思路及游戲的控制流程;并重點分析游戲中涉及到的交換提示算法。
關鍵詞:c#.NET;對對碰游戲的設計思路;交換提示算法
中圖分類號:TP302 文獻標識碼:A 文章編號:1009-3044(2014)29-6865-03
Abstract: Based on the DuiDuiPeng game as an example, using C#.NET technology to complete the games main function and design idea , the game's flow chart. The focus of analysis showed that the games reminding algorithm.
Key words: C#.NET; DuiDuiPeng games design idea; the games reminding algorithm
對對碰游戲是一款經(jīng)典的消除類游戲,深受大眾喜受。不管是新出的迪斯尼冰雪奇緣游戲,還是寶石迷陣、小鳥爆破等,都可通過簡單對對碰游戲演變而來,這些游戲的算法設計大同小異。該文結(jié)合C#.NET框架中Windows Forms圖形用戶界面的開發(fā)思想,分析解剖對對碰游戲的設計與實現(xiàn),給設計者愛好者帶來一點啟發(fā)。
1 游戲概述
游戲在 10 × 10 格子的界面中進行。每個格子中有一個圖案。鼠標連續(xù)選中兩個相鄰的圖案,它們的位置會互換,互換后如果橫排或豎排有3個或3個以上相同的圖案,則可以消去該圖案,并得分。當用戶找不到可交換的方塊圖案時,系統(tǒng)可以為用戶提供提示功能,但會損失相應的生命值。若系統(tǒng)不存在任何可消去的圖案時構(gòu)成死鎖,系統(tǒng)將自動重新產(chǎn)生所有圖案即重排。
2 游戲設計思路
通過上述游戲介紹得出整個游戲基本功能和游戲系統(tǒng)的設計思路。
2) 游戲設計思路
由于游戲界面是10*10組成的互不相同的圖案,為存儲方塊和繪制方塊,可利用二維數(shù)組來存儲每個圖案方塊(可采用8張不同的圖案),而每個圖案方塊即為定義為一個方塊類Block。為實現(xiàn)消塊,用另一個二維數(shù)組number的存儲游戲界面對應的圖案序號(1~8) ,而要消去的方塊(即不需要重繪的方塊圖案),則將number數(shù)組的值標記為0。通過定時器控制下,不停地統(tǒng)計用戶得分,并控制進程控制條,如果進程控制條為0,則游戲結(jié)束并出現(xiàn)結(jié)束畫面,若用戶的分數(shù)能排進系統(tǒng)的前10名,則可輸入用戶名保存分數(shù)。
在算法實現(xiàn)中,檢測行或列有是否存在3塊及3塊以上的check()方法和消塊填充fill()方法是實現(xiàn)游戲的重點算法。當用戶鼠標連續(xù)選中兩個相鄰塊交換后,調(diào)用check()方法,檢測是否有符合規(guī)則的方塊,即修改number數(shù)組的對應元素的值為0,再按列統(tǒng)計number數(shù)組中值為0的個數(shù),即為每列要消去的方塊數(shù),并調(diào)用填充方法,在游戲屏幕的該列最上方重新隨機產(chǎn)生新的方塊,而其它方塊圖案則依次下移,并獲取相應的積分。因此,整個對對碰游戲設計了3個類:
(1) 方塊圖案類Block類:用于獲取圖案,繪制圖案等
(2) 游戲場景類GameField類:用于隨機生成并繪制所有游戲場景中的方塊圖案、交換方塊、檢測是否存在可消去的方塊、方塊的消除填充及交換提示等。
(3) 游戲窗體Start類:是游戲的主界面,需要添加2個圖片控件PictureBox作為游戲的開始界面和游戲面板、1個定時器及相關的菜單項及進程控制條等。
4 結(jié)束語
該文采用c#.NET語言實現(xiàn)了對對碰游戲的全部功能并測試通過。希望該實現(xiàn)思路對程序設計用戶利用C#.NET開發(fā)游戲帶來一點幫助和引導,了解游戲設計的秘密。
參考文獻:
[1] 王小科,趙東會.C#典型模塊與項目實戰(zhàn)大全[M].北京:電子工業(yè)出版社,2012.
[2] 陳銳,李欣.Visualc#經(jīng)典游戲編程開發(fā)[M].北京:科學出版社,2011.
[3] 杜少杰.C#程序設計初學者案例教程[M].天津:南開大學出版社,2010.
[4] 俞亮.基于C#的掃雷游戲設計與實現(xiàn)[J].企業(yè)技術開發(fā):學術版,2014(6):63-64.endprint