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

正文內(nèi)容

基于c的五子棋游戲的設(shè)計(jì)與實(shí)現(xiàn)_畢業(yè)設(shè)計(jì)論文-wenkub

2023-07-09 08:32:42 本頁面
 

【正文】 us] == 2 amp。 0 = y yPlus amp。 else if (points[x + j * xPlus, y + j * yPlus] == qzcolor+1) { sum = 0。 sum = 0。 i length 4。否則,反之。 則長度表示為: length = (( ), ( )) + 1 + temp1 + temp2。 7) 察看兩點(diǎn)之間是否存在活棋的函數(shù) —— ActiveConnectqp 這個(gè)函數(shù)主要求兩點(diǎn)之間 qzcolor 色棋是否存在活棋。 else if (points[x + j * xPlus, y + j 8 * yPlus] == qzcolor+1) { sum = 0。 sum = 0。 for (i = 0。代碼如下: int x, y, i, j, length, xPlus = 0, yPlus = 0, sum, maxSum = 0。 } 實(shí)現(xiàn)人機(jī)對弈的主要函數(shù) 6) 察看兩點(diǎn)之間的棋子數(shù)函數(shù) —— ConnectqpCount 這個(gè)函數(shù)主要求兩點(diǎn)之間可能形成五連子的 qzcolor 色棋的連子數(shù) (包括活期 )。 y 15。代碼如下 : if (!begin) { 7 begin = true。 (temp)。 points[x, y] = 0。 if ( 0) { temp = (Point)()。同理,白旗也跟這一樣做。 } 4) 下棋子 —— putqz 下棋子有兩種可能性,一 是知道一個(gè)點(diǎn)的橫縱坐標(biāo);二 是知道一個(gè)點(diǎn)。 (oldpen, 15, + 15, 15, + 5)。 } 過去的方框代碼如下: 5 if ( != 1) { (oldpen, 15, 15, 15, 5)。 (newpen, x + 15, y + 15, x + 15, y + 5)。 (newpen, x + 15, y 15, x + 5, y 15)。 ) { x = (( 10) / 40) * 40 + 30。 10 amp。 (myPen, 30, 50 + i * 40, 590, 50 + i * 40)。如: public enum result : int//結(jié)局 { lose = 1, equal, win } 回溯棧元素類 —— StackElement 成員變量: 1) qzColor 棋子的顏色 2) bestFivePoints 最好點(diǎn)的位置 3) pointsCount 計(jì)算最好點(diǎn)的數(shù)目 4) pointNumber 點(diǎn)的數(shù)目 5) Theresult 結(jié)局 6) stepNumber 預(yù)測的步數(shù) 棋子點(diǎn)屬性類 —— qzdianshuxing 成員變量: 1) blackConnect 黑棋子 i個(gè)(包括活棋)的連接條數(shù) 2) blackActive 黑活棋 i 個(gè)的連接條數(shù) 3) whiteConnect 白棋子 i個(gè)(包括活棋)的連接條數(shù) 4) whiteActive 白活棋 i 個(gè)的連接條數(shù) 5) tempActive3 活棋數(shù)為 3的連接條數(shù) 主要成員函數(shù)說明 1) 初始化棋盤 —— Initializeqp 初始化操作包括以下幾個(gè)步驟: ? 設(shè)置棋子所在的位置 ? 設(shè)置棋子的大小 ? 初始化棋子的背景顏色 ? 將棋子的 sizemode 設(shè)置為 CenterImage ? 將棋子的可見性設(shè)置為 false ? 將棋子添加到 form 上。它還可以用來顯示當(dāng)前棋子的圖片。 5) 棋盤數(shù)據(jù) —— points points 為棋盤情況數(shù)組,是用一個(gè) 15*15 的二維數(shù)組來表示的。 2 軟件架構(gòu) 軟件的總體架構(gòu)如圖 : 人機(jī)對戰(zhàn) 人人對戰(zhàn) 主界面 游戲控制 游戲模式 重新開始 退出 聲音控制 悔棋 開始 2 圖 軟件架構(gòu) 3 五子棋設(shè)計(jì)說明 主要成員變量說明 1) 選擇游戲模式標(biāo)志 —— m_renren 用來表示當(dāng) 前玩家選擇游戲的情況,當(dāng) m_renren 為 false 時(shí),表示人機(jī)對戰(zhàn);為 true 時(shí),表示人人對弈?,F(xiàn)代五子棋日文稱之為“連珠”,英譯為“ Renju”,英文稱之為“ Gobang”或“ FIR”( Five in a Row 的縮寫),亦有“連五子”、“五子連”、“串珠”、“五目”、“五目碰”、“五格”等多種稱謂。 五子棋不僅能增強(qiáng)思維能力, 提高智力,而且富含哲理,有助于修身養(yǎng)性。 2) 游戲開始標(biāo)志 —— begin 用來判斷當(dāng)前游戲是否開始 3) 音效標(biāo)志 —— sound 在下棋過程中,判斷是否需要聲音,當(dāng) sound 為 true 時(shí),表示玩家需要聲音,否則的話,玩家不需要聲音。 points[i,j]=2 表示此處無子, points[i,j]=1 表示此處為黑子 points[i,j]=0 表示此處為白子。 8) oldMovePoint 用來記錄鼠標(biāo)經(jīng)過后點(diǎn)的位置。 2) 繪制棋盤 —— Form1_Paint 4 其主要是畫出以 40*40 的大小為每一小格,代碼如下: for (i = 0。 } 3) 繪制光標(biāo) —— Form1_MouseMove 當(dāng)鼠標(biāo)在棋盤上移動(dòng)時(shí),當(dāng)前的顯示畫紅方框,過去的顯示和背景一樣顏色的方框。amp。 y = (( 10) / 40) * 40 + 50。 (newpen, x + 15, y 15, x + 15, y 5)。 (newpen, x + 15, y + 15, x + 5, y + 15)。 (oldpen, 15, 15, 5, 15)。 (oldpen, 15, + 15, 5, + 15)。 下面我就說一說知道 x, y坐標(biāo)的情況,第二種情況只要調(diào)用第一種情況就行了。代碼 6 如下: if (qzcolor==1) { qz[x, y].BackgroundImage = global::五子棋 .。 qz[, ].Image = global::五子棋 .。 qz[x, y].Image = global::五子棋 .。 } } 最后將其可見性設(shè)置為 true。 for (x = 0。 y++) { qz[x, y].Visible = false。首先,求出兩點(diǎn)之間總共的棋子數(shù),并判斷棋子所在哪個(gè)方向。 length = (( ), ( )) + 1。 i length 4。 for (j = 0。 break。 temp1變量表示在一直線 上,比如, 一條向下的直線,則表示點(diǎn)point1 上方可下的個(gè)數(shù);而 temp2 表示點(diǎn) point2 下方可下的個(gè)數(shù)。 先求兩點(diǎn)之間 qzcolor 色棋的棋子個(gè)數(shù),做法和函數(shù)ConnectqpCount 一樣。代碼如下: if ( != ) xPlus = 1。 i++) { x = temp1 * xPlus + i * xPlus。 9 for (j = 0。 break。amp。amp。 if (count == 5) return false。 blnFlag = !ActiveConnectqp(qzcolor, count 1, point1, point2)。如果沒有,返回false;否則,將這棧元素壓入回溯棧中。否則,繼續(xù)下棋并探測。 int i, bestStepNumber = 0。 } else { qzcolor = 1。 if ( ) 11 { //在棋盤上下一棋 points[[tempStackElement.pointNumber].X, [umber].Y] = 。 ++。 12 //在棋盤上退一棋 points[[tempStackElement.pointNumber].X, [umber].Y] = 2。 (tempStackElement)。 [ 1] = 。 } else//棧頂元素中點(diǎn)均已試過 { //尋找棧頂元素中點(diǎn)的最好結(jié)局 totalresult = [0]。 //尋找最佳步數(shù) if (totalresult == ) { bestStepNumber = M + 2。amp。 i 。 } if ( 0)//棧非空 { tempStackElement = (StackElement)()。 (tempStackElement)。amp。 15 10) 尋 找 最 佳 的 五 個(gè) 點(diǎn) , 并 形 成 棧 元 素 ——FindBestFivePointsAndFormAStackElement 函數(shù)主要是找最佳點(diǎn),并形成棧元素。首先,計(jì)算出棋盤上每一個(gè)點(diǎn)的權(quán)值,并找出最大的一 個(gè)。 = 0。 y 15。 i++) {//求第 i個(gè)最佳點(diǎn) max = 0。 y 15。 x++) { blnHaveFound = false。 ++。 }
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1