欧美视频网-亚洲黄色在线视频-www.日韩.com-欧美一区免费-欧美高清免费-欧美另类综合

熱門關鍵字:  聽力密碼  聽力密碼  新概念美語  單詞密碼  巧用聽寫練聽力
圖書信息

C++案例項目精講

中國水利水電出版社
    【作 者】主編 楊國興 【I S B N 】978-7-5226-1922-4 【責任編輯】魏淵源 【適用讀者群】本專通用 【出版時間】2023-12-19 【開 本】16開 【裝幀信息】平裝(光膜) 【版 次】第1版第1次印刷 【頁 數(shù)】272 【千字數(shù)】392 【印 張】17 【定 價】49 【叢 書】暫無分類 【備注信息】
圖書詳情

    本書以五子棋項目案例為主線,介紹使用C++開發(fā)應用軟件的各種技術,并充分體現(xiàn)面向對象的程序設計思想。本書內容包括多線程與網(wǎng)絡編程基礎、單機版五子棋、網(wǎng)絡五子棋、棋譜的保存與回放和五子棋人機對戰(zhàn)等。本書對C++中的界面編程、多線程編程、網(wǎng)絡編程、數(shù)據(jù)庫編程以及五子棋算法都有詳細的討論。

    本書案例趣味性強,項目實現(xiàn)過程描述詳細,可作為大專院校計算機類各專業(yè)C++程序設計實訓、C++程序設計課程設計等課程的教材,也可以作為C++程序設計愛好者的參考書。

    前 言

    C++是目前最流行的程序設計語言之一,是在C語言的基礎上發(fā)展起來的,融入了面向對象的程序設計方法。對軟件開發(fā)人員來說,掌握 C++基礎以及具有使用 C++進行軟件開發(fā)的能力是非常重要的,因此大多數(shù)與計算機相關的專業(yè)都開設了C++程序設計課程。

    C++程序設計(包括任何一種計算機語言課程)是一門實踐性很強的課程,僅掌握 C++的基本語法知識,與利用 C++進行軟件開發(fā)還有很大的差距。因此,學習者在掌握 C++的基本語法知識后,應該通過大量的編程實踐,逐步提高利用C++進行軟件開發(fā)的能力。

    《C++開發(fā)案例精講》以五子棋游戲制作為例,介紹利用C++進行軟件開發(fā)的技術。五子棋游戲比較簡單,是大家比較熟悉的游戲之一,因此選擇五子棋游戲為例,有助于提高學習者的興趣,易于按照書中介紹的步驟,逐步將五子棋游戲制作出來。

    本書由 5 章內容組成,包括多線程與網(wǎng)絡編程基礎、單機版五子棋、網(wǎng)絡五子棋、棋譜的保存與回放以及五子棋人機對戰(zhàn),涉及的主要知識有界面編程、多線程編程、數(shù)據(jù)庫編程和網(wǎng)絡編程等。本書的所有程序都由編者親自編寫,并在 Visual Studio 2022環(huán)境下調試通過,數(shù)據(jù)庫使用的是MySQL數(shù)據(jù)庫。

    本書的主要特色是給出了程序實現(xiàn)的詳細過程,真正體現(xiàn)手把手教學,學習者只要按照書中介紹的步驟練習,就能得到最終所需要的程序。

    為了方便教師教學與學生學習,本書提供了 PowerPoint 電子教案,方便教師根據(jù)具體情況進行必要的修改;為自學的讀者提供了全書的視頻講解,可掃描書中的二維碼觀看。

    北京科技大學姚琳教授、魏增產教授,防災科技學院李忠教授認真審閱了全書并提出了許多寶貴意見。本書的編寫得到了北京科技大學教材建設經(jīng)費的資助,在此一并表示衷心的感謝!

    由于編者水平有限,書中若有不妥之處,懇請專家與讀者批評指正。

    編 者

    2023年5月

    前言

    第1章 多線程與網(wǎng)絡編程基礎 1
    1.1 安裝Visual Studio 2022 1
    1.1.1 下載Visual Studio 2022安裝程序 1
    1.1.2 安裝Visual Studio 2022 1
    1.2 多線程編程基礎 3
    1.2.1 線程的基本操作 3
    1.2.2 線程同步 9
    1.3 網(wǎng)絡編程基礎 20
    1.3.1 網(wǎng)絡基本概念 21
    1.3.2 套接字編程的基本步驟 21
    1.3.3 網(wǎng)絡編程的主要函數(shù) 23
    1.3.4 服務器端與客戶端編程實例 27
    1.4 一個簡單的聊天室程序 32
    1.4.1 創(chuàng)建服務器端界面 32
    1.4.2 創(chuàng)建客戶端界面 36
    1.4.3 服務器端編程 37
    1.4.4 客戶端編程 45
    1.4.5 完善其他功能 48
    第2章 單機版五子棋 50
    2.1 單機版五子棋介紹 50
    2.2 創(chuàng)建游戲界面 51
    2.2.1 創(chuàng)建基于對話框的程序 51
    2.2.2 設計用戶界面 52
    2.3 設計棋盤類 56
    2.3.1 添加棋盤類 56
    2.3.2 在棋盤類中添加代碼 57
    2.3.3 在對話框中顯示棋盤 60
    2.4 設計棋子類 61
    2.4.1 設計棋子類 61
    2.4.2 顯示棋子 64
    2.5 實現(xiàn)單擊下棋的功能 65
    2.5.1 在棋盤類中加入新的成員 65
    2.5.2 修改棋盤類的成員函數(shù) 66
    2.5.3 修改對話框類 70
    2.6 判斷贏棋 70
    2.6.1 在棋盤類中添加hasChess()函數(shù) 71
    2.6.2 在棋盤類中添加isWin()函數(shù) 72
    2.6.3 修改Go()函數(shù) 74
    2.7 實現(xiàn)重新開始和悔棋功能 75
    2.7.1 實現(xiàn)重新開始功能 75
    2.7.2 實現(xiàn)悔棋功能 76
    2.8 改變光標的形狀 77
    2.8.1 在棋盤類中添加canGo()函數(shù) 77
    2.8.2 在對話框類中添加鼠標移動的消息響應函數(shù) 77
    2.9 加入聲音 78
    2.9.1 導入資源 78
    2.9.2 播放聲音 79
    第3章 網(wǎng)絡五子棋 81
    3.1 網(wǎng)絡五子棋介紹 81
    3.2 創(chuàng)建游戲界面 82
    3.2.1 創(chuàng)建服務器端界面 82
    3.2.2 創(chuàng)建客戶端界面 86
    3.2.3 加入棋盤 90
    3.2.4 創(chuàng)建“登錄”對話框 91
    3.3 實現(xiàn)登錄的功能 94
    3.3.1 定義消息結構和常量 95
    3.3.2 啟動服務器 103
    3.3.3 客戶端連接服務器 108
    3.3.4 服務器處理LOGIN消息 112
    3.3.5 客戶端處理服務器消息 119
    3.4 邀請對局 126
    3.4.1 客戶端發(fā)出邀請 127
    3.4.2 服務器處理INVITE消息 133
    3.4.3 客戶端處理INVITE消息 134
    3.4.4 服務器處理同意或拒絕對局的消息 135
    3.4.5 客戶端處理同意或拒絕對局的消息 139
    3.5 完成下棋功能 144
    3.5.1 準備下棋 145
    3.5.2 下棋消息的處理 147
    3.5.3 贏棋消息的處理 149
    3.5.4 實現(xiàn)認輸功能 152
    3.6 完善功能 154
    3.6.1 完善離線處理 154
    3.6.2 對手離線時的處理 155
    3.6.3 線程同步問題 155
    3.6.4 加入倒計時功能 159
    第4章 棋譜的保存與回放 163
    4.1 創(chuàng)建數(shù)據(jù)庫 163
    4.1.1 MySQL的下載與安裝 163
    4.1.2 數(shù)據(jù)庫設計 164
    4.1.3 創(chuàng)建數(shù)據(jù)庫和表 164
    4.2 用戶管理和棋局管理 165
    4.2.1 用戶管理 165
    4.2.2 棋局管理 176
    4.3 用戶注冊和登錄 189
    4.3.1 準備工作 189
    4.3.2 實現(xiàn)功能 191
    4.4 棋局和棋譜的保存 195
    4.4.1 為CClient類添加新成員 196
    4.4.2 為CClient類的成員color賦值 196
    4.4.3 記錄棋譜 196
    4.4.4 保存棋局和棋譜 197
    4.5 棋譜回放 198
    4.5.1 棋譜的回放過程 198
    4.5.2 客戶端顯示對局列表 199
    4.5.3 客戶端獲取棋譜數(shù)據(jù) 206
    4.5.4 實現(xiàn)棋譜回放 209
    第5章 五子棋人機對戰(zhàn) 215
    5.1 準備工作 216
    5.1.1 創(chuàng)建項目并添加資源 216
    5.1.2 修改對話框類 216
    5.1.3 添加CBoardStatus類 218
    5.1.4 修改CBoard類 220
    5.1.5 實現(xiàn)人與計算機輪流下棋功能 224
    5.2 計算機智能下棋 226
    5.2.1 五子棋的棋型與估值 226
    5.2.2 估值類CEvaluate 230
    5.2.3 實現(xiàn)計算機智能下棋 245
    5.3 極小極大搜索法提高下棋水平 246
    5.3.1 棋局的評估與極小極大搜索法 246
    5.3.2 極小極大搜索法的實現(xiàn) 249
    5.4 Alpha-Beta搜索法 258
    5.4.1 Alpha-Beta搜索法簡介 258
    5.4.2 Alpha-Beta搜索法的實現(xiàn) 259
    參考文獻 264
最新評論共有 0 位網(wǎng)友發(fā)表了評論
發(fā)表評論
評論內容:不能超過250字,需審核,請自覺遵守互聯(lián)網(wǎng)相關政策法規(guī)。
用戶名: 密碼:
匿名?
注冊
主站蜘蛛池模板: 在线观看国产一区二三区 | 亚洲三级大片 | 日本b站一卡二卡乱码入口 日本s色大片在线观看 | 欧美成人在线观看 | 亚洲精品视频免费在线观看 | 中文字幕乱码视频32 | 欧美日韩精品免费一区二区三区 | 亚洲va老文色欧美黄大片人人 | 武松大战潘金莲三级在线 | 成人网视频在线观看免费 | 精产网红自拍在线 | 高清毛片免费看 | 亚洲天堂网在线视频 | 欧美一级毛片久久精品 | 欧美性巨大欧美 | 一级国产在线观看高清 | 亚洲国产成人精品91久久久 | 伊人久久国产免费观看视频 | 成人国内精品久久久久影院 | 欧美日韩一区二区在线观看视频 | 黄色一级网址 | 精品国产91久久久久久久a | 亚洲精品tv久久久久 | 美国一级毛片∞ | 黄色作爱视频 | 成人欧美日韩 | 毛片在线不卡 | 自拍 欧美 在线 综合 另类 | 免费一级欧美大片在线观看 | 视频在线一区二区三区 | 日韩欧美精品在线观看 | 久久久久久国产精品视频 | 久久综合本色宗合一本色 | 一级黄色美女视频 | 欧美亚洲国产日韩一区二区三区 | 欧美精品一区二区三区视频 | 久草在线在线观看 | 亚洲日本久久一区二区va | 亚洲国产小视频 | 99久久精彩视频 | 成人看片黄a在线观看 |