《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于VB2005的五子棋游戲設計
基于VB2005的五子棋游戲設計
來源:微型機與應用2014年第4期
陳偉康
(汕尾職業技術學院, 廣東 汕尾516600)
摘要: 參考社會上流行的五子棋游戲,使用VB2005進行程序模擬設計,用數組的變換實現查找功能,可增加學生學習編寫程序的興趣,提高《面向對象程序設計》課程教學的效果。
Abstract:
Key words :

摘  要: 參考社會上流行的五子棋游戲,使用VB2005進行程序模擬設計,用數組的變換實現查找功能,可增加學生學習編寫程序的興趣,提高《面向對象程序設計》課程教學的效果。
關鍵詞: 五子棋游戲; VB2005; 循環; 數組

    隨著微軟公司的VS.net系列不斷推出,VS.net在游戲編程方面的強大特性逐漸顯露出來,強大功能使之非常適用于各類游戲的開發,本文介紹的是用VB2005模擬系統自帶的掃雷游戲設計與實現。
1 Visual Studio.NET2005簡介
    Visual Basic.NET以Visual Studio.NET為基礎,是Visual Studio.NET的主要組成部分。它雖然從Visual Basic 6.0發展而來,但并不是對Visual Basic 6.0的簡單改良,而是從基礎開始建立了一個新的平臺。Visual Basic.NET是在現有Visual Basic 6.0基礎之上的一次重大飛躍,它是一個全新的平臺,而不是Visual Basic 6.0的一個升級版本。VB2005 是Visual Studio.NET 2005的其中一部分,主要是以VB2005編寫程序的模式。
2 五子棋游戲的設計與實現
    五子棋是起源于中國古代的傳統黑白棋種之一。現代五子棋日文稱之為“連珠”,英譯為“Renju”,英文稱之為“Gobang”或“FIR”(Five in a Row的縮寫),亦有“連五子”、“五子連”、“串珠”、“五目”、“五目碰”、“五格”等多種稱謂。
    五子棋不僅能增強思維能力,提高智力,而且富含哲理,有助于修身養性。五子棋既有現代休閑的明顯特征“短、平、快”,又有古典哲學的高深學問“陰陽易理”;它既有簡單易學的特性,為人民群眾所喜聞樂見,又有深奧的技巧和高水平的國際性比賽;它的棋文化源淵流長,具有東方的神秘和西方的直觀;既有“場”的概念,亦有“點”的連接。它是中西文化的交流點,是古今哲理的結晶。
    五子棋游戲是社會上流行的一個簡單游戲,大多數的人都玩過,游戲的規則也是很多人都會,即在一個規定的二維數組中,橫豎撇捺的5個連續一樣就為勝利。使用VB2005設計與實現的該游戲既實現了游戲規則的自動設定,又實現了五子棋游戲的各項功能。
2.1 功能設計
    五子棋游戲主要有以下功能模塊:(1)級別/等級分管理:設置五子棋游戲的棋盤大小,根據游戲者自選等級(程序中暫時設置了3個等級:初級,棋盤的維數是10×10二維,計算機的自動計算水平簡單,玩家能簡單贏取勝利,以吸引玩家的注意與好奇;中級,棋盤的維數是20×20二維,計算機的自動計算水平有所提高,玩家不能簡單贏取勝利,需要用一定的時間與計算才能取得勝利;高級,棋盤的維數是30×30二維,計算機的自動計算水平為最高,玩家需要用更多的時間與計算才能取得勝利),使得游戲更加公平合理。(2)游戲英雄榜:可以存儲游戲者前10名成績。(3)背景顏色:游戲者可以通過按鈕選擇喜歡的游戲背景顏色。(4)棋子與鼠標的背景選擇與更改:選擇玩家喜歡的棋子背景與鼠標圖案,玩家可以選擇先后下棋,以更好地吸引玩家進行游戲。(5)背景音樂:在五子棋游戲進行過程中還提供背景音樂,背景音樂可由游戲者設置。(6)幫助文檔:為游戲者提供文檔幫助信息,包括游戲簡介、界面的使用、鼠標和鍵盤的操作、游戲規則、疑難問答、版本信息等。
2.2 界面設計
    游戲界面采用VB.NET2005實現。以初級為例,棋盤為100個的一維數組,即有100個圖片,在圖1中變換為10×10二維數組。

2.3 主要算法設計
    (1)分別隨機生成100個一維數組picturebox控件,把一維數組轉變成10×10二維數組擺放。在picturebox控件中默認顯示為白色背景,如果用鼠標點擊每個圖片就會變成黑色的圓圈。主要的玩法是,查找周圍橫豎撇捺的連續相鄰的5個位置的圖片是否相同,如果相同則勝出,游戲結束。所以游戲的主要算法是實現了一個位置的周圍橫豎撇捺的連續相鄰的5個位置的查找。如圖2所示。

 

 

    在一個二維的數組中,把橫豎撇捺分為4種情況,橫的時候是把所有的數組位置查找出來。例如以10×10的數組為例,把橫的情況放入一個二維數組中進行判斷,利用多重循環查找連續5個有相同的標記的就為勝出,就是在二維數組中的每一行進行判斷,假設黑棋為1,白旗為0,只要判斷1與0的個數即可,主要關鍵代碼如下:
      For i = 1 To 10                                     ′橫豎的判斷
            For j = 1 To 6
                For t = j To j + 4
                    p = p + pd(i, t)           ′橫進行判斷的數組
                    p1 = p1 + pd(t, i)        ′豎進行判斷的數組
                    If p = 5 Or p1 = 5 Then
                                 ′判斷是否5個連續相同
                          MsgBox("結束")
                           p = 0
                            p1 = 0
                    End If
                Next
              p = 0
             p1 = 0
      Next
    Next
    (2) 通過相同的方法判斷出豎、撇和捺的情況,就可以判斷勝負,主要的算法是用數組與數字替換方法,實現了對兩個玩家的情況判斷。在人機對決時,計算機玩家可以使用一個隨機的生成落子的位置,在生成的位置時要分為難度不一等情況,還要在生成位置中判斷是否存在有棋子,不能重復放入棋子,再使用一個計時器控件編寫自動判斷勝負情況。本程序在VB2005.NET中調試運行正常,很好地實現了五子棋的功能。
    (3) 五子棋的難度等級是使用一個函數來完成的,如果出現而立三三、三四、四四等情況,就可認為勝出。本程序只是實現了3種情況,還有些情況沒有完成。例如沒有把程序改成網絡版,現在只是單機版;在難度等級設計中的函數還不是很完善,在今后的編寫中將繼續完善本程序。
3 主要VB2005技術及編程
    在五子棋游戲中應用到了很多的VB2005技術,使用一維數組變換生成二維數組的棋盤;利用樹結構實現幫助文檔;通過輸入輸出流讀取葉節點文檔;采用選項板實現版本信息;利用多媒體控件實現背景音樂等。使用到了圖片的對應綁定顯示、圖標的變換、數組變換、游戲的提示、多媒體播放控件等。整個游戲綜合性比較強,涉及到控件運用、算法應用、代碼整理等內容,能夠很好地運用VB2005設計程序,提高編程能力,增加學習者的興趣。
    讓學生參考案例程序進行修改與擴展,起到了舉一反三的效果,反復調試無錯誤的情況下,使用VB2005程序自帶的打包安裝工具進行打包,再讓學生熟悉一個軟件的正常安裝與卸載測試;還有寫出規范的Word文檔程序設計說明書,提交為大作業;最后可以在課堂中集中演示作品并講解,加強學生的記憶,更好地提高教學效果與教學質量。
    本設計的程序還存在很多的不足,例如在計算速度上沒能更好地提高效率,程序擴展案例不夠豐富。但是在今后的教學中將不斷完善本程序,使五子棋游戲程序成為一個更好的教學輔助工具,希望通過這個實例能夠提高學生學習編寫程序的興趣,讓更多的人學習與運用VB2005編程。
參考文獻
[1] 靳廣斌.Visual Basic 2005程序設計案例教程[M].北京:北京大學出版社,2008.
[2] Microsoft.VB.NET程序設計語言[M]. 北京:高等教育出版社,2004.
[3] 孔長征.VB.NET編程實例教程[M].北京:北京希望電子出版社,2002.
[4] 柯勝,孫進,鄧志良. 基于Qt4的掃雷游戲的設計與實現[J].微型機與應用,2012,31(16):6-8.

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: a毛片全部播放免费视频完整18 | 日韩一级在线播放免费观看 | 久草一级片 | 亚洲精品一区二区三区在 | 亚洲欧美日韩在线观看二区 | 国产精品久久久久久久毛片 | 黄a视频| 欧美成人艳星在线播放 | 久久夜色精品国产亚洲 | 免费看黄色片的网站 | 精品国产90后在线观看 | 欧美一区二区三区视频 | 久久久久久免费精品视频 | 成人爽爽大片在线观看 | 成年日韩片av在线网站 | 欧美另类videosbestsex高清 | 亚洲国产精品久久久久久 | 97婷婷狠狠成人免费视频 | 超清首页 国产 亚洲 丝袜 | 91香蕉网| 一区二区在线看 | 理论片我不卡在线观看 | 正在播放亚洲一区 | 私人午夜影院 | 国产一区二区福利久久 | free性欧美hd另类精品 | 久色tv| 国产欧美综合在线一区二区三区 | 国产精品一区二区久久精品 | 欧美一级欧美三级 | 欧美一级成人一区二区三区 | 久草在线最新视频 | 日本毛片在线观看 | 在线观看欧洲成人免费视频 | 国内精品久久久久久久久 | 亚洲综合色一区二区三区小说 | 成人怡红院视频在线观看 | 久久国产视频网 | 亚洲国产日韩欧美一区二区三区 | 国产日本在线 | 亚洲黄色免费观看 |