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

正文內(nèi)容

畢業(yè)設(shè)計---中國象棋網(wǎng)上對弈系統(tǒng)-畢業(yè)設(shè)計(完整版)

2025-03-08 04:53上一頁面

下一頁面
  

【正文】 統(tǒng)提示走棋錯誤。若在活動范圍之內(nèi),根據(jù)規(guī)則,當(dāng) |x2x1|=1且 y1=y2時,走棋成功。 馬:馬在走動的方法是一直一斜,即先橫著或豎著走一格,然后再斜著走一個對角線,俗稱“馬走日”。它的行棋路徑只能是“九宮”內(nèi)的斜線。 一方的棋子 攻擊對方的將(帥),并且在下一步能把它吃掉,俗稱“將軍”。 開始 void InitChessBoard()實現(xiàn)對棋盤各格點初始化(InfoArray賦值 ) InvalidateRect(hWnd,NULL,1)刷新視圖 WM_PAINT 消息響應(yīng)中調(diào)用繪制棋子入 口函數(shù) DrawChessman()繪制棋位對應(yīng) 棋子 繪制棋位對應(yīng)棋子 void Draw(int x,int y,int info)傳遞繪制信息 void Graphics()完成最終圖形繪制 華北電力大學(xué)科技學(xué)院本科畢業(yè)設(shè)計(論文) 15 回看 功能 為了方便玩家 ,本系 統(tǒng)還加入了會看功能,使玩家可以回看對方剛走過的起步。 完成上述操作后調(diào)用 InvalidateRect(hWnd,NULL,1)函數(shù)更新視圖,當(dāng)調(diào)用這個函數(shù)的時候, Windows 會在 WM_PAINT 消息響應(yīng)中完成對窗口的重繪,我們在此加入繪制棋子函數(shù) — DrawChessman()。當(dāng)棋面改變,形成有效走棋 時,只需更新對應(yīng) 坐標點 的 InfoArray 的值即可 ,如 紅方走 棋 “炮二平五”對應(yīng)的 原 信息 {InfoArray[7][7]=6, InfoArray[4][7=0]}改變?yōu)?{InfoArray[7][7]=0; InfoArray[4][7]=6},以實現(xiàn)走棋的數(shù)據(jù)更新 。 另外系統(tǒng)設(shè) 置 相臨坐標點的間隔增量 為 50 個象素點,如 |xArray[0][0]xArray[0][1]|=50,這樣 以來 整個棋盤映射到 主 窗口的 像素 范圍被限制在( 0, 0) ( 400, 450)之間(單位:象素)。 華北電力大學(xué)科技學(xué)院本科畢業(yè)設(shè)計(論文) 10 對 xArray[9][10]、 yArray[9][10]的初始化代碼如下: for(int i=0。對弈開始之前,紅黑雙方應(yīng)該把棋子擺放在規(guī)定的位置。它的控制的過程一般是先在主控電腦上執(zhí)行客戶端程序,像一個普通的客 戶一樣向被控電腦中的服務(wù)器端程序發(fā)出信號,建立一個特殊的遠程服務(wù),然后通過這個遠程服務(wù),使用各種遠程控制功能發(fā)送遠程控制命令,控制被控電腦中的各種應(yīng)用程序運行,我們稱這種遠程控制方式為基于遠程服務(wù)的遠程控制。 屏幕作圖與用戶的交互 的基本功能一般可歸結(jié)為繪圖功能、圖形編輯、尺寸標準、作圖工具、顯示功能、詢問功能、信息轉(zhuǎn)換和二次開發(fā)工具等八大功能。 UDP 協(xié)議的主要作用是完成網(wǎng)絡(luò)數(shù)據(jù)流量和數(shù)據(jù)報之間的轉(zhuǎn)換:在信息的發(fā)送端,UDP 協(xié)議將網(wǎng)絡(luò)數(shù)據(jù)流量封裝數(shù)據(jù)報,然后將數(shù)據(jù)報發(fā)送出去;在信息的接收端, UDP協(xié)議將數(shù)據(jù)報轉(zhuǎn)換 成實際數(shù)據(jù)內(nèi)容。 主要用來支持那些需要在計算機之間傳輸數(shù)據(jù)的網(wǎng)絡(luò)連接。默認的最大報文段長度是 536 字節(jié),這是 576 字節(jié) (IP 協(xié)議保證的最小數(shù)據(jù)包長度 )減去用于 IP 頭的 20 個字節(jié)和用于 TCP 頭的 20 個字節(jié)以后的長度。 TCP 協(xié)議每發(fā)送一個數(shù)據(jù)包 都 將會收到一個確認信息 , 這種發(fā)送 /應(yīng)答模式是提供可靠的協(xié)議的唯一方法 :你必須讓對方知道你 是 否收到了數(shù)據(jù)。 第二種是利用 Novell 網(wǎng)本身的網(wǎng)絡(luò)協(xié)議 IPX/SPX 來實現(xiàn) , 由于這種方法開發(fā)比較麻煩 , 采用的并不多 。一個正在被使用的套接口都有它的類型 和與其相關(guān)的進程。正如打電話之前,雙方必須各自擁有一臺電話機一樣。 相關(guān)技術(shù) 點對點通信 從 OSI 參考模型的應(yīng)用層來看 , 可認為網(wǎng)絡(luò)是由工作站和服務(wù)器組成的 , 但從傳輸層和網(wǎng)絡(luò)層的角度看 , 工作站和服務(wù)器沒有本質(zhì)的區(qū)別 ,它們都是連接到網(wǎng)絡(luò)上的一臺機器 ,都可以用網(wǎng)絡(luò)地址或名稱來代替 。 3.制定棋盤及狀態(tài)數(shù)據(jù)結(jié)構(gòu),方便實時通信及屏幕作圖及與用戶的交互。 隨著 人民生活水平的提高,人們的生活模式和思想模式都發(fā)生著變化 。 按內(nèi)容可分為:即時戰(zhàn)略類、角色扮演類、模擬經(jīng)營類、冒險動作類,棋牌休閑類等。 電腦游戲是必須依托于計算機操作平臺的,不能在計算機上運行的游戲,肯定不會屬于電腦游戲的范疇。 通過對象棋 的數(shù)據(jù)結(jié)構(gòu),相關(guān)算法與網(wǎng)絡(luò)聯(lián)機,以及對網(wǎng)絡(luò)對戰(zhàn)平臺系統(tǒng)的分析,設(shè)計成 一套基于 VC++平臺的棋牌類對戰(zhàn)系統(tǒng) 。 I 中國象棋網(wǎng)上對弈系統(tǒng) 摘要 隨著信息技術(shù)的發(fā)展,人民生活水平的不斷提高。 關(guān)鍵詞: 網(wǎng)絡(luò)通信; 聯(lián)機對弈 ; 圖像繪制;消息響應(yīng) II CHINESE CHESS ONLINE GAME SYSTEM Abstract With the development of information technology, peoples standard of living have improved constantly. Online game as a means of entertainment has a unique charm to attract more and more players. To meet chess lovers ,this design has realized the Challenges of Chinesechess between players under the current LAN environment. In view of the characteristics of local area works and the requirements of the game itself, the design uses a twotier C/S structure to achieve mutual munication. It contains the following major modules: the work munication module, image rendering module and the rules set up module. Network Communication Module allows gamers can quickly set up a convenient work connection in order to achieve an online game and chat function。至于現(xiàn)在大量出現(xiàn)的游戲機模擬器,原則上來講,還是屬于非電腦游戲的 。本系統(tǒng)屬于網(wǎng)絡(luò) 棋牌休閑類 游戲。 電 腦 游戲業(yè)經(jīng)過 多年 發(fā)展,跌跌撞撞地走過來。 4.制定出詳細的棋子操作規(guī)則。 它們之間的通信就是所謂的點對點通信 , 也叫對等通信 。在網(wǎng)間網(wǎng)內(nèi)部,每一個 socket 用一個半相關(guān)描述 :(協(xié)議,本地地址,本地端口 )。套接口存在于通訊域中。 第三種是通過 NetBIOS 功能調(diào)用來實現(xiàn) , NetBIOS 是 PC LAN 的通信接口標準 ,廣泛適用于多種微機網(wǎng)絡(luò) , 使得以它為基礎(chǔ)的設(shè)計和應(yīng)用開發(fā)可移植性好 。當(dāng)然,這也會造成一些性能損失,人們 為了 改善系統(tǒng)效率不高的狀況 , 引入了 “捎帶確認 (piggybacking)”的方法。 TCP 協(xié)議要設(shè)法避免在 IP 級別上的分 段。 UDP 協(xié)議從問世至今已經(jīng)被使用了很多年,雖然其最初的光彩已經(jīng)被一些類似協(xié)議所掩蓋,但是即使是在今天, UDP 仍然不失為一項非常實用和可行的網(wǎng)絡(luò)傳輸層協(xié)議。 實際上,我們可以認為基于 UDP 協(xié)議的 Socket 類似于一個碼頭,該碼頭的作用就是負責(zé)發(fā)送、接收集裝箱,一個數(shù)據(jù)報類似于一個集裝箱。 繪圖功能是 屏幕作圖與用戶的交互 的核心部分,它主要包括繪圖環(huán)境的設(shè)置、實體繪圖命令和尺寸、文字標注等功能。通過遠程控制軟件,我們可以進行很多方面的遠程控制,包括獲取目標電腦屏幕圖像、窗口及進程列 表;記錄并提取遠端鍵盤事件(擊鍵序列,即監(jiān)視遠端鍵盤輸入的內(nèi)容 ) ;可以打開、關(guān)閉目標電腦的任意目錄并實現(xiàn)資源共享;提取撥號網(wǎng)絡(luò)及普通程序的密碼;激活、中止遠端程序進程;管理遠端電腦的文件和文件夾;關(guān)閉或者重新啟動遠端 電腦中的操作系統(tǒng);修改 Windows 注冊表;通過遠端電腦上、下載文件和捕獲音頻、視頻信號等。任何棋子每走一步,進就寫 “進 ”,退就寫 “退 ”,如果像車一樣橫著走,就寫 “平 ”。i9。 棋子信息數(shù)組 中國 象棋 作為 一種雙方對陣的 棋牌類 競技項目 ,棋子 共有三十二個 , 分為紅黑兩組,各有十六個,由對弈的雙方各執(zhí)一組。 變量與函數(shù) 表 31 部分變量定義 變量 類型 定義 xArray Int型二維數(shù)組 保存棋盤格點的橫坐標 yArray Int型二維數(shù)組 保存棋盤格點的縱坐標 InfoArray Int型二維數(shù)組 保存棋盤格點的棋子類型 GetChessman static int 判斷棋子是否選中 RedOrBlack static int 判斷輪到哪方走棋 Prei,Prej static int 前一個坐標點 preceding i,j Mytrun static int 聯(lián)機時用于判斷是否本方走棋 UpdateAllData long int 棋盤更新的 信息 ReplayX1Y2 Int 保存棋子行走路徑 ,回看之用 CUpdateAllData Char 轉(zhuǎn)換成 char型的 UpdateAllData,用做網(wǎng)絡(luò)傳輸 Win Bool 判斷是否已有一方勝利 Online Bool 判 斷是否聯(lián)機 Accept Bool 網(wǎng)絡(luò)聯(lián)機接受對方邀請 Accept=true Accept2 Bool 網(wǎng)絡(luò)聯(lián)機邀請對方 ,對方接受 Accept2=true NetExit Bool 當(dāng)用戶強行退出時 ,這個變量決定是否向?qū)Ψ桨l(fā)送消息 華北電力大學(xué)科技學(xué)院本科畢業(yè)設(shè)計(論文) 12 表 32 部分函數(shù)定義 函數(shù) 定義 bool ChessRule(int x1,int y1,int x2,int y2,int info1,int info2) 判斷走棋規(guī)則 bool Connect() 網(wǎng)絡(luò)聯(lián)接 void Draw(int x,int y,int info) 繪圖函數(shù) void DrawChessman() 繪制棋位對應(yīng)棋子 void DynamicChessman(int x,int y) 實現(xiàn)拿起的棋子動態(tài)顯示 void Graphics(int x,int y,int RorB,LPCTSTR ChessmanName) 繪制棋子 void InitChessBoard() 初始化棋盤函數(shù) bool Listen(int PortNum) Cm 類數(shù)據(jù)接受函數(shù) bool SendMsg(char *Msg,int Len,char *host,short port) Cm 類數(shù)據(jù)發(fā)送函數(shù) 圖像繪制 主窗口 VC++ 提供了多種窗口樣式,這里選用比較簡潔的 WS_POPUPWINDOW 樣式,WS_POPUPWINDOW 創(chuàng)建一個和 WS_BORDER, WS_POPUP 和 WS_SYSMENU一起使用的彈出式窗體 , WS_DISABLED 創(chuàng)建一個初始不可用的窗體 , WS_POPUP 創(chuàng)建一個彈出式窗體 , WS_SYSMENU 創(chuàng)建一個在標題欄有控件菜單框的窗體 , 窗口大小為 650 550象素,在 InitInstance() 中交由 CreateWindow() 實現(xiàn)。這個函數(shù)只是繪制棋子的一個入口,具體過程如下: DrawChessman()→Draw()→Graphics() 華北電力大學(xué)科技學(xué)院本科畢業(yè)設(shè)計(論文) 14 其中 DrawChessman()函數(shù)通過一個 for 循環(huán)遍歷數(shù)組 InfoArray,傳遞 InfoArray[i][j]數(shù)值并調(diào)用 Draw()函數(shù) → Draw()函數(shù)根據(jù) InfoArray[i][j]的數(shù)值選擇所要繪制的棋子,并將信息傳遞給函數(shù) Graphics()→ Graphics()根據(jù)傳遞過來的信息(包括繪制點坐標信息,所繪棋子信息)調(diào)用繪圖函數(shù) Ellipse()和 TextOut()來完成棋子最終在窗口中的顯示。玩家落棋后 ,將棋子原坐標 ( xArray[Prei] [Prej], yArray[Prej] [Prei]) 和更新后的坐標 ( xArray[i][j],xArray[i][j]) , 分別保存在( xArray[ReplayX1][ReplayY1], yArray[ReplayX1][ReplayY1])和( xArray[ReplayX2][ReplayY2], yArray[ReplayX2][ReplayY2]), 玩家選擇 回看時系統(tǒng)調(diào)用所保存的兩個坐標點, 調(diào)用函數(shù) Polyline()將其用白線連接,以提示玩家 。被“將華北電力大學(xué)科技學(xué)院本科畢業(yè)設(shè)計(論文) 16 軍”的一方必須立即“應(yīng)將”,即用自衛(wèi)的步法曲化解被“將軍”的狀態(tài)。 象(相):象(相)的主要作用是防守,保護自己的將(帥)。馬一次可走的選擇點可以達到四周的八個點。同理,當(dāng) |y1y2|=1且 x1=x2時,走棋成功。 若在活動范圍之內(nèi), 根據(jù)規(guī)則,當(dāng) |x2
點擊復(fù)制文檔內(nèi)容
黨政相關(guān)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1