freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

電子五子棋游戲設計方案(編輯修改稿)

2025-05-20 04:57 本頁面
 

【文章內(nèi)容簡介】 TER/SPACE W/ S/ ESC下移光標上移光標退出下棋右移光標左移光標判斷當前有無棋子 有 無顯示棋子退出循環(huán)改變棋型表相應值判斷勝負 是 否退出循環(huán),交換棋手結(jié)束 電腦下棋流程三、詳細設計 [15,15]儲存棋盤的狀態(tài),以0表示沒有放子的位置,以1表示放黑子的位置,以2表示放白子的位置; ; ; (黑、白棋子),當鼠標在棋盤上點擊的時候產(chǎn)生事件,處理鼠標的位置產(chǎn)生對應的棋盤坐標位置; 5.判斷落子出是否可以落子:不可以則不做任何處理,不改變鼠標的狀態(tài);可以落子,則打印對應的棋子圖像,記錄棋盤位置,并將位置傳遞給判定函數(shù); ,重復落子過程,直到判定函數(shù)產(chǎn)生勝出結(jié)果;[2] 程序流程 本程序由六個基本功能模塊構(gòu)成,各模塊的詳細分析如下:(1)初始化:首先,建立盤面數(shù)組board[21][21]、對戰(zhàn)雙方的棋型表Computer[21][21][4]和Player[21][21][4]并將它們清零以備使用(2)主循環(huán)控制模塊:控制下棋順序,當輪到某方下子時,負責將程序轉(zhuǎn)到相應的模塊中去,主要擔當一個調(diào)度者的角色。(3)玩家下子:當輪到玩家下時,玩家通過鼠標在棋盤上落子,程序會根據(jù)該點的位置,在board[21][21]數(shù)組的相應地方記錄。(4)盤面分析填寫棋型表:本程序核心模塊之一,人工智能算法的根本依據(jù)!其具體實現(xiàn)方法如下:玩家在下五子棋時,一定會先根據(jù)棋盤上的情況,找出當前最重要的一些點位,如“活三”、“沖四”等;然后再在其中選擇落子點。但是,電腦不會像人一樣分析問題,要讓它知道哪是“活三”、哪是“沖四”,就得在棋盤上逐點計算,一步一步的教它。先來分析己方的棋型,從棋盤左上角出發(fā),向右逐行搜索,當遇到一個空白點時,以它為中心向左挨個查找,如果遇到己方的子則記錄然后繼續(xù),如果遇到對方的子、空白點或邊界就停止查找。左邊完成后再向右進行同樣的操作;最后把左右兩邊的記錄合并起來,得到的數(shù)據(jù)就是該點橫向上的棋型,然后把棋型的編號填入到Computer[x][y][n]中就行了(x、y代表坐標,n=0、3分別代表橫、豎、左斜、右斜四個方向)。而其他三個方向的棋型也可用同樣的方法得到,當搜索完整張棋盤后,己方棋型表也就填寫完畢了。然后再用同樣的方法填寫電腦的棋型表。 電腦下子:有了上面填寫的兩張棋型表,現(xiàn)在要作的就是讓電腦知道在哪一點下子了。遍歷棋型表Computer[15][15][4]和Player[15][15][4]找出其中數(shù)值最大的一點,在該點下子即可。本功能模塊主要對游戲的勝負進行判定.,由系統(tǒng)判定勝負,若勝,則游戲結(jié)束。否則,游戲繼續(xù).2.對勝負判定需先確定一個中心棋子位置.3.由一個中心棋子可以引出四條線形成五子連一線.4.判定過程中注意越界現(xiàn)象.概要設計1. 五子棋的判勝條件即為5個相同的棋子連在一條線上.2. 以一個棋子為中心,:(描紅的為中心棋子) 3. 中心棋子即為最后一步所下棋子.4. 以1線為例,從中心棋子出發(fā)(設為白子),先向左進行判斷,若棋子為白子,則計數(shù)器加1(初始值為1),否則(為黑子或無子),則返回中心棋子,向右進行判斷,進行相同操作.5. 1線判定結(jié)束后,若計數(shù)器為5,則判白子勝,否則,計數(shù)器歸1,再從2,3,4線按順序進行判定.6. 棋盤的每個坐標有3個狀態(tài),分別為無子(標記為0),白子(標記為1),黑子(標記為2),對棋盤點進行判斷時,只需判定其所在狀態(tài)即可。7. 若棋盤下滿,仍未有五子連線,則判和。流程圖為:設定計數(shù)器NUM(初始值為0)線上是否有相同棋子(連續(xù))?計數(shù)器加1換線繼續(xù)進行判定計數(shù)器大于等于5?勝利1線判定2線判定3線判定4線判定是否勝利?是否勝利?是否勝利?是否勝利?確定中心棋子(黑或白)棋盤下滿判和黑(白)子勝! 開始以前按鈕設置為禁止(F),只有在棋局的過程中,并且輪到該本方落子,并且棋盤有2個棋子或2個棋子以上時,“悔棋”按鈕才被置于激活狀態(tài)(T)。一局比賽中只可以悔棋2次。結(jié)構(gòu)化說明:IF 本方下棋 IF count棋子=2 激活“悔棋”按鈕 IF 對方同意 count棋子=count棋子2 ELSE 返回 ELSE 返回ELSE 返回 在游戲中,如果一方點擊“悔棋”按鈕,則向?qū)Ψ教岢龌谄逭埱?。對方在收到“悔棋”請求后會彈出確認對話框,點擊“是”接受“悔棋”請求,也可以點擊“否”來 拒絕。如果點擊接受按鈕,則在雙方棋盤上清除最新下的兩個棋子,然后請雙方繼續(xù)進行下子操作。流程圖為:極大極小樹目前絕大部分的博弈類游戲中的人工算法都采用這種方法。假設己方為MAX點,對方則為MIN點。如果當層的節(jié)點為奇數(shù)時那么就為MAX層,同樣節(jié)點為偶數(shù)時就為MIN層。當在MAX層時,該層的值就應該為下一個MIN層中的最大一個的值。當在MIN層是,該層的值就應該為它子層MAX的最小的一個。深度優(yōu)先搜索在圖論中有兩個很重要的遍歷的方法,一個是深度優(yōu)先搜索(DFS),另外一個是廣度優(yōu)先搜索(BFS).這兩個方法的主要區(qū)別在于下一個節(jié)點的選擇。DFS首先選擇它的連接節(jié)點,若它的下個節(jié)點已經(jīng)全部被遍歷過或者不存在的話。則向上返回到上一個節(jié)點,在遍其他的未被訪問過的點。很容易想到這要用到堆棧結(jié)構(gòu),使用一個遞歸來實現(xiàn)。而BFS則是逐個的遍歷它的聯(lián)接接點,將已經(jīng)訪問過的點放入隊列中。然后再依次取出繼續(xù)這個過程。剪枝方法當預測的深度達到3的時候,最壞情況下225*225*225=11390625個,這在目前的一些常規(guī)
點擊復制文檔內(nèi)容
公司管理相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1