【正文】
所以可以用數(shù)組形式表示棋盤上的位置。當(dāng)白棋落定后,計(jì)算機(jī)(執(zhí)黑棋)選擇最優(yōu)擺子點(diǎn)擺子并吃掉白子即將其變?yōu)楹谧印H缓髮?duì)當(dāng)前棋盤中的黑白棋個(gè)數(shù)進(jìn)行統(tǒng)計(jì)并輸出結(jié)果。 (1) 定義變量 定義使用到的常數(shù)、全局變量等。(2) Form_Load()設(shè)置游戲的初始界面 首先設(shè)置窗口的位置,檢測(cè)程序是否正在運(yùn)行以防止多次打開程序。最后調(diào)用drawnewqp 畫棋盤表格。在幫助一欄中有游戲規(guī)則及關(guān)于按鈕。然后畫10*10的表格線,再設(shè)置線條寬度等。(4)窗體的設(shè)置 窗體的設(shè)置中包含了游戲窗體以及黑白英雄榜中各個(gè)按鈕控件的設(shè)置在屬性窗口中可設(shè)置它們的屬性。該函數(shù)在調(diào)用時(shí)都將清空棋盤以及將游戲時(shí)間清零,這樣在按下開始游戲鍵后游戲自動(dòng)進(jìn)入新一局。放置棋子的位置必須是以自己的棋子能包圍住對(duì)手一個(gè)或多個(gè)棋子,包圍的方向可以使上下左右斜線共8個(gè)方向,只要能連成一條線即可滿足要求。 2〉調(diào)用qp_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)用于提示棋手鼠標(biāo)所在處是否可以放子,如果鼠標(biāo)所在區(qū)域可以放子,則鼠標(biāo)為“十字”圖標(biāo),否則為“禁止”圖標(biāo)。(6)翻轉(zhuǎn)棋子() 當(dāng)一方棋子落定后,就要分別往8個(gè)方向判斷是否包圍住對(duì)方棋子,如果是,則改變棋子顏色,也就是棋盤上黑白棋子的個(gè)數(shù)要發(fā)生變化。(7) 黑子隨即下子并吃掉白子() 由于設(shè)置由計(jì)算機(jī)執(zhí)黑子,則應(yīng)先對(duì)黑子可以放子的地方劃分等級(jí),等級(jí)高的位置優(yōu)先走。(8) ended() 判斷輸贏 當(dāng)格子已占滿100格或一方棋子個(gè)數(shù)為0,則游戲結(jié)束:1〉若白棋棋子個(gè)數(shù)少于黑棋,則會(huì)顯示窗口(如下所示),提示‘你輸了’以及‘再來一盤’。 2若黑棋與白棋個(gè)數(shù)相同,則為平局,則會(huì)顯示如下窗口,提示該局為平局,且會(huì)提示你是否再來一局,按下‘是’,則開始新游戲;按下‘否’,則結(jié)束游戲,所有窗口關(guān)閉