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

正文內(nèi)容

五子棋游戲程序設(shè)計(jì)與開發(fā)-資料下載頁

2024-12-06 01:33本頁面

【導(dǎo)讀】面的設(shè)計(jì)、游戲菜單的設(shè)計(jì)、游戲的設(shè)計(jì)、悔棋和初始化等設(shè)計(jì)。C++語言編程實(shí)現(xiàn),在完成課題設(shè)計(jì)的基礎(chǔ)上進(jìn)行論文的撰寫。何實(shí)現(xiàn)悔棋,如何使屏幕在下棋后不閃爍等問題,我經(jīng)過認(rèn)真思考和反復(fù)調(diào)試,抓住問題規(guī)律和五子棋規(guī)則,一一解決了這些問題,從而實(shí)現(xiàn)了游戲的基本功能。五子棋小游戲經(jīng)過不斷的開發(fā)和完善,已從版本升級(jí)到了目前的版本,和網(wǎng)絡(luò)聯(lián)機(jī)功能。KeyWords:Gobang;Interface;Menu;Retract;Initialization. 兩人對(duì)局,各執(zhí)一色,輪流下一子,先將橫、豎或斜線的5個(gè)或5個(gè)以。上同色棋子連成不間斷的一排者為勝。棋”,暗示情人之間下五子棋有利于增加情感的交流;歐洲人稱其為“紳士棋”,縱橫各十七道,合二百八十九道,白黑棋子,各一百五十枚”。何種棋類,但至少知道遠(yuǎn)古就以漂亮的石頭為棋子。能出自當(dāng)時(shí),并是用石子作棋子。亦有傳說,五子棋最初流行于少數(shù)民族地區(qū),以后漸漸演變成圍棋并在炎黃子孫后代中遍及開來。將五子連成一行者為勝。

  

【正文】 //單擊鼠標(biāo)左鍵下棋 M LOWORD lParam 。 N HIWORD lParam 。 ////over 2 為雙人游戲 ///// if over 2 if M 16 amp。amp。 M 16+22*17 amp。amp。 N 100 amp。amp。 N 100+22*17 //定位棋盤十字坐標(biāo) i int floor double M32 / 22 。 j int floor double N100 / 22 。 else return 0。 //解決了連續(xù) 2 個(gè)同色的小 bug! if [i][j].GetTag 0 //判斷此位置是否為空白 [i][j].settag 1 。 if t //實(shí)現(xiàn)黑白子循環(huán) t ture 為黑子先手 [i][j].setcolor 1 。 //1為黑子 site 1。 //狀態(tài)顯示標(biāo)志 t false。 InvalidateRect hwnd,NULL,0 。 else [i][j].setcolor 2 。 //2為白子 site 0。 t true。 InvalidateRect hwnd,NULL,0 。 else if [i][j].GetTag 1 //不為空白就不能在此處下棋 return 0。 ////over 1 為人機(jī)對(duì)弈 ///// if over 1 if M 16 amp。amp。 M 16+22*17 amp。amp。 N 100 amp。amp。 N 100+22*17 //定位十字位置 i int floor double N100 / 22 。 j int floor double M32 / 22 。 else return 0。//解決了連續(xù) 2 個(gè)同色的小 bug! return 0。 InitChessB_back [i][j] 。//將棋子信息存入 List 鏈表中 if px 255 //將二維數(shù)組坐標(biāo)值 i 和 j 存入 xArray 數(shù)組中,以便悔棋后進(jìn)行上一步棋子信息初始化 xArray[px][0] i。 xArray[px][1] j。 px++。 else px 0。 if over 2 amp。amp。 CtrlS true PlaySound TEXT Sound\\ ,NULL,SND_FILENAME|SND_ASYNC 。 //加入棋子聲音 break。 case WM_PAINT: //繪制窗口消息 hdc BeginPaint hwnd, amp。ps 。 hdcMem CreateCompatibleDC hdc 。 bufferDC CreateCompatibleDC hdc 。 //創(chuàng)建 bufferDC 在內(nèi)存中加載數(shù)據(jù)后在顯示到屏幕,解決了屏幕閃爍問題 hBitmap2 CreateCompatibleBitmap hdc,cxSource+263,cySource+110 。//創(chuàng)建緩沖位圖 SelectObject bufferDC,hBitmap2 。 SelectObject hdcMem, hBitmap1 。 BitBlt bufferDC, 0, 0, 709, 540, hdcMem, 0, 0, SRCCOPY 。 SelectObject hdcMem, hBitmap 。 BitBlt bufferDC, 0, 75, cxSource19, cySource, hdcMem, 0, 0, SRCCOPY 。 for i 0。i 17。i++ for j 0。j 17。j++ for iter InitChessBn 。 iter ! InitChessB 。 iter++ if iter GetTag 1 amp。amp。 iter Getcolor 1 BitBlt bufferDC, iter , iter , 20, 19, hdcMem, cxSource20, 19, SRCCOPY 。 else if iter GetTag 1 amp。amp。 iter Getcolor 2 BitBlt bufferDC, iter , iter , 20, 19, hdcMem, cxSource20, 0, SRCCOPY 。 BitBlt hdc, 0, 0, cxSource+263, cySource+110, bufferDC, 0, 0, SRCCOPY 。//為了避免刷新屏幕導(dǎo)致屏幕閃爍, //從內(nèi)存緩沖區(qū)中 BufferDC 整體讀到窗口中; if hInstance,hwnd 1 //判斷勝負(fù) 1 為黑方勝, 2 為白方 blackWin++。 //黑方勝利次數(shù)自加 1 over 0。 //一方勝利后結(jié)束本局 if CtrlS PlaySound TEXT Sound\\ ,NULL,SND_FILENAME|SND_ASYNC 。 //加入棋子聲音 else if hInstance,hwnd 2 whiteWin++。 //白方勝利次數(shù)自加 1 over 0。 //一方勝利后結(jié)束本局 if CtrlS PlaySound TEXT Sound\\ ,NULL,SND_FILENAME|SND_ASYNC 。 //加入棋子聲音 count blackWin + whiteWin。//計(jì)算總局?jǐn)?shù) LOGFONT LogFont。 //自定義字體 和 hFont HFONT hFont。 memset amp。LogFont, 0, sizeof LOGFONT 。 55。 0。 0。 0。 GB2312_CHARSET。 lstrcpy ,隸書 。 hFont CreateFontIndirect amp。LogFont 。 //創(chuàng)建字體 hFont SelectObject hdc,hFont 。 SetBkMode hdc, TRANSPARENT 。//iMode 的值為 OPAQUE 文字矩形覆蓋背景 或 TRANSPARENT 文字背景透明 SetTextColor hdc,RGB rand %356,rand %256,rand %156 。 TextOut hdc,70,10,TEXT 歡樂五子棋 ,10 。 DeleteObject hFont 。 LOGFONT LogFont1。 //自定義字體 和 hFont1 HFONT hFont1。 memset amp。LogFont1, 0, sizeof LOGFONT 。 26。 0。 0。 0。 GB2312_CHARSET。 lstrcpy ,隸書 。 hFont1 CreateFontIndirect amp。LogFont1 。 SelectObject hdc,hFont1 。 SetTextColor hdc,RGB 0,0,0 。//SetTextColor hdc,RGB rand %356,rand %256,rand %156 。 ////游戲提示欄顯示邏輯 //// if over ! 0 if site 1 TextOut hdc,140,510,請(qǐng)白方選手下棋 ...,17 。 else if site 0 TextOut hdc,140,510,請(qǐng)黑方選手下棋 ...,17 。 count++。 else if over 0 if count 0 TextOut hdc,140,510,黑方先手下棋 ,12 。 else if count 1 amp。amp。 hInstance,hwnd 1 TextOut hdc,95,510,黑方選手勝利 下輪白方先手 ,26 。 t false。 site 1。 else if count 1 amp。amp。 hInstance,hwnd 2 TextOut hdc,95,510,白方選手勝利 下輪白方先手 ,26 。 t false。 site 1。 else if count%2 0 amp。amp。 hInstance,hwnd 1 TextOut hdc,95,510,黑方選手勝利 下輪黑方先手 ,26 。 t true。 site 0。 else if count%2 0 amp。amp。 hInstance,hwnd 2 TextOut hdc,95,510,白方選手勝利 下輪黑方先手 ,26 。 t true。 site 0。 else if count%2 1 amp。amp。 hInstance,hwnd 1 TextOut hdc,95,510,黑方選手勝 利 下輪白方先手 ,26 。 t false。 site 1。 else if count%2 1 amp。amp。 hInstance,hwnd 2 TextOut hdc,95,510,白方選手勝利 下輪白方先手 ,26 。 t false。 site 1。 itoa blackWin, buffer, 10 。 itoa whiteWin, buffer1, 10 。 if count 0 count++。 //如果是第一局,則總局?jǐn)?shù)顯示為 1 itoa count, buffer2, 10 。 TextOut hdc,529,136,buffer1,2 。 TextOut hdc,588,136,buffer,2 。 TextOut hdc,588,301,buffer1,2 。 TextOut hdc,529,301,buffer,2 。 TextOut hdc,30,510,buffer2,2 。 TextOut hdc,651,137,0,1 。 TextOut hdc,651,302,0,1 。 DeleteObject hFont1 。 DeleteDC hdcMem 。 DeleteDC bufferDC 。 ReleaseDC hWnd,hdc 。 EndPaint hwnd, amp。ps 。 break。 case WM_DESTROY: PostQuitMessage 0 。 break。 return DefWi
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1