熱門(mén)關(guān)鍵字:  聽(tīng)力密碼  聽(tīng)力密碼  新概念美語(yǔ)  單詞密碼  巧用聽(tīng)寫(xiě)練聽(tīng)力

C++案例項(xiàng)目精講

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

    本書(shū)以五子棋項(xiàng)目案例為主線(xiàn),介紹使用C++開(kāi)發(fā)應(yīng)用軟件的各種技術(shù),并充分體現(xiàn)面向?qū)ο蟮某绦蛟O(shè)計(jì)思想。本書(shū)內(nèi)容包括多線(xiàn)程與網(wǎng)絡(luò)編程基礎(chǔ)、單機(jī)版五子棋、網(wǎng)絡(luò)五子棋、棋譜的保存與回放和五子棋人機(jī)對(duì)戰(zhàn)等。本書(shū)對(duì)C++中的界面編程、多線(xiàn)程編程、網(wǎng)絡(luò)編程、數(shù)據(jù)庫(kù)編程以及五子棋算法都有詳細(xì)的討論。

    本書(shū)案例趣味性強(qiáng),項(xiàng)目實(shí)現(xiàn)過(guò)程描述詳細(xì),可作為大專(zhuān)院校計(jì)算機(jī)類(lèi)各專(zhuān)業(yè)C++程序設(shè)計(jì)實(shí)訓(xùn)、C++程序設(shè)計(jì)課程設(shè)計(jì)等課程的教材,也可以作為C++程序設(shè)計(jì)愛(ài)好者的參考書(shū)。

    前 言

    C++是目前最流行的程序設(shè)計(jì)語(yǔ)言之一,是在C語(yǔ)言的基礎(chǔ)上發(fā)展起來(lái)的,融入了面向?qū)ο蟮某绦蛟O(shè)計(jì)方法。對(duì)軟件開(kāi)發(fā)人員來(lái)說(shuō),掌握 C++基礎(chǔ)以及具有使用 C++進(jìn)行軟件開(kāi)發(fā)的能力是非常重要的,因此大多數(shù)與計(jì)算機(jī)相關(guān)的專(zhuān)業(yè)都開(kāi)設(shè)了C++程序設(shè)計(jì)課程。

    C++程序設(shè)計(jì)(包括任何一種計(jì)算機(jī)語(yǔ)言課程)是一門(mén)實(shí)踐性很強(qiáng)的課程,僅掌握 C++的基本語(yǔ)法知識(shí),與利用 C++進(jìn)行軟件開(kāi)發(fā)還有很大的差距。因此,學(xué)習(xí)者在掌握 C++的基本語(yǔ)法知識(shí)后,應(yīng)該通過(guò)大量的編程實(shí)踐,逐步提高利用C++進(jìn)行軟件開(kāi)發(fā)的能力。

    《C++開(kāi)發(fā)案例精講》以五子棋游戲制作為例,介紹利用C++進(jìn)行軟件開(kāi)發(fā)的技術(shù)。五子棋游戲比較簡(jiǎn)單,是大家比較熟悉的游戲之一,因此選擇五子棋游戲?yàn)槔兄谔岣邔W(xué)習(xí)者的興趣,易于按照書(shū)中介紹的步驟,逐步將五子棋游戲制作出來(lái)。

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

    本書(shū)的主要特色是給出了程序?qū)崿F(xiàn)的詳細(xì)過(guò)程,真正體現(xiàn)手把手教學(xué),學(xué)習(xí)者只要按照書(shū)中介紹的步驟練習(xí),就能得到最終所需要的程序。

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

    北京科技大學(xué)姚琳教授、魏增產(chǎn)教授,防災(zāi)科技學(xué)院李忠教授認(rèn)真審閱了全書(shū)并提出了許多寶貴意見(jiàn)。本書(shū)的編寫(xiě)得到了北京科技大學(xué)教材建設(shè)經(jīng)費(fèi)的資助,在此一并表示衷心的感謝!

    由于編者水平有限,書(shū)中若有不妥之處,懇請(qǐng)專(zhuān)家與讀者批評(píng)指正。

    編 者

    2023年5月

    前言

    第1章 多線(xiàn)程與網(wǎng)絡(luò)編程基礎(chǔ) 1
    1.1 安裝Visual Studio 2022 1
    1.1.1 下載Visual Studio 2022安裝程序 1
    1.1.2 安裝Visual Studio 2022 1
    1.2 多線(xiàn)程編程基礎(chǔ) 3
    1.2.1 線(xiàn)程的基本操作 3
    1.2.2 線(xiàn)程同步 9
    1.3 網(wǎng)絡(luò)編程基礎(chǔ) 20
    1.3.1 網(wǎng)絡(luò)基本概念 21
    1.3.2 套接字編程的基本步驟 21
    1.3.3 網(wǎng)絡(luò)編程的主要函數(shù) 23
    1.3.4 服務(wù)器端與客戶(hù)端編程實(shí)例 27
    1.4 一個(gè)簡(jiǎn)單的聊天室程序 32
    1.4.1 創(chuàng)建服務(wù)器端界面 32
    1.4.2 創(chuàng)建客戶(hù)端界面 36
    1.4.3 服務(wù)器端編程 37
    1.4.4 客戶(hù)端編程 45
    1.4.5 完善其他功能 48
    第2章 單機(jī)版五子棋 50
    2.1 單機(jī)版五子棋介紹 50
    2.2 創(chuàng)建游戲界面 51
    2.2.1 創(chuàng)建基于對(duì)話(huà)框的程序 51
    2.2.2 設(shè)計(jì)用戶(hù)界面 52
    2.3 設(shè)計(jì)棋盤(pán)類(lèi) 56
    2.3.1 添加棋盤(pán)類(lèi) 56
    2.3.2 在棋盤(pán)類(lèi)中添加代碼 57
    2.3.3 在對(duì)話(huà)框中顯示棋盤(pán) 60
    2.4 設(shè)計(jì)棋子類(lèi) 61
    2.4.1 設(shè)計(jì)棋子類(lèi) 61
    2.4.2 顯示棋子 64
    2.5 實(shí)現(xiàn)單擊下棋的功能 65
    2.5.1 在棋盤(pán)類(lèi)中加入新的成員 65
    2.5.2 修改棋盤(pán)類(lèi)的成員函數(shù) 66
    2.5.3 修改對(duì)話(huà)框類(lèi) 70
    2.6 判斷贏棋 70
    2.6.1 在棋盤(pán)類(lèi)中添加hasChess()函數(shù) 71
    2.6.2 在棋盤(pán)類(lèi)中添加isWin()函數(shù) 72
    2.6.3 修改Go()函數(shù) 74
    2.7 實(shí)現(xiàn)重新開(kāi)始和悔棋功能 75
    2.7.1 實(shí)現(xiàn)重新開(kāi)始功能 75
    2.7.2 實(shí)現(xiàn)悔棋功能 76
    2.8 改變光標(biāo)的形狀 77
    2.8.1 在棋盤(pán)類(lèi)中添加canGo()函數(shù) 77
    2.8.2 在對(duì)話(huà)框類(lèi)中添加鼠標(biāo)移動(dòng)的消息響應(yīng)函數(shù) 77
    2.9 加入聲音 78
    2.9.1 導(dǎo)入資源 78
    2.9.2 播放聲音 79
    第3章 網(wǎng)絡(luò)五子棋 81
    3.1 網(wǎng)絡(luò)五子棋介紹 81
    3.2 創(chuàng)建游戲界面 82
    3.2.1 創(chuàng)建服務(wù)器端界面 82
    3.2.2 創(chuàng)建客戶(hù)端界面 86
    3.2.3 加入棋盤(pán) 90
    3.2.4 創(chuàng)建“登錄”對(duì)話(huà)框 91
    3.3 實(shí)現(xiàn)登錄的功能 94
    3.3.1 定義消息結(jié)構(gòu)和常量 95
    3.3.2 啟動(dòng)服務(wù)器 103
    3.3.3 客戶(hù)端連接服務(wù)器 108
    3.3.4 服務(wù)器處理LOGIN消息 112
    3.3.5 客戶(hù)端處理服務(wù)器消息 119
    3.4 邀請(qǐng)對(duì)局 126
    3.4.1 客戶(hù)端發(fā)出邀請(qǐng) 127
    3.4.2 服務(wù)器處理INVITE消息 133
    3.4.3 客戶(hù)端處理INVITE消息 134
    3.4.4 服務(wù)器處理同意或拒絕對(duì)局的消息 135
    3.4.5 客戶(hù)端處理同意或拒絕對(duì)局的消息 139
    3.5 完成下棋功能 144
    3.5.1 準(zhǔn)備下棋 145
    3.5.2 下棋消息的處理 147
    3.5.3 贏棋消息的處理 149
    3.5.4 實(shí)現(xiàn)認(rèn)輸功能 152
    3.6 完善功能 154
    3.6.1 完善離線(xiàn)處理 154
    3.6.2 對(duì)手離線(xiàn)時(shí)的處理 155
    3.6.3 線(xiàn)程同步問(wèn)題 155
    3.6.4 加入倒計(jì)時(shí)功能 159
    第4章 棋譜的保存與回放 163
    4.1 創(chuàng)建數(shù)據(jù)庫(kù) 163
    4.1.1 MySQL的下載與安裝 163
    4.1.2 數(shù)據(jù)庫(kù)設(shè)計(jì) 164
    4.1.3 創(chuàng)建數(shù)據(jù)庫(kù)和表 164
    4.2 用戶(hù)管理和棋局管理 165
    4.2.1 用戶(hù)管理 165
    4.2.2 棋局管理 176
    4.3 用戶(hù)注冊(cè)和登錄 189
    4.3.1 準(zhǔn)備工作 189
    4.3.2 實(shí)現(xiàn)功能 191
    4.4 棋局和棋譜的保存 195
    4.4.1 為CClient類(lèi)添加新成員 196
    4.4.2 為CClient類(lèi)的成員color賦值 196
    4.4.3 記錄棋譜 196
    4.4.4 保存棋局和棋譜 197
    4.5 棋譜回放 198
    4.5.1 棋譜的回放過(guò)程 198
    4.5.2 客戶(hù)端顯示對(duì)局列表 199
    4.5.3 客戶(hù)端獲取棋譜數(shù)據(jù) 206
    4.5.4 實(shí)現(xiàn)棋譜回放 209
    第5章 五子棋人機(jī)對(duì)戰(zhàn) 215
    5.1 準(zhǔn)備工作 216
    5.1.1 創(chuàng)建項(xiàng)目并添加資源 216
    5.1.2 修改對(duì)話(huà)框類(lèi) 216
    5.1.3 添加CBoardStatus類(lèi) 218
    5.1.4 修改CBoard類(lèi) 220
    5.1.5 實(shí)現(xiàn)人與計(jì)算機(jī)輪流下棋功能 224
    5.2 計(jì)算機(jī)智能下棋 226
    5.2.1 五子棋的棋型與估值 226
    5.2.2 估值類(lèi)CEvaluate 230
    5.2.3 實(shí)現(xiàn)計(jì)算機(jī)智能下棋 245
    5.3 極小極大搜索法提高下棋水平 246
    5.3.1 棋局的評(píng)估與極小極大搜索法 246
    5.3.2 極小極大搜索法的實(shí)現(xiàn) 249
    5.4 Alpha-Beta搜索法 258
    5.4.1 Alpha-Beta搜索法簡(jiǎn)介 258
    5.4.2 Alpha-Beta搜索法的實(shí)現(xiàn) 259
    參考文獻(xiàn) 264
最新評(píng)論共有 0 位網(wǎng)友發(fā)表了評(píng)論
發(fā)表評(píng)論
評(píng)論內(nèi)容:不能超過(guò)250字,需審核,請(qǐng)自覺(jué)遵守互聯(lián)網(wǎng)相關(guān)政策法規(guī)。
用戶(hù)名: 密碼:
匿名?
注冊(cè)
桃园市| 临城县| 庆阳市| 合阳县| 敦煌市| 太原市| 龙口市| 定日县| 内乡县| 乐至县| 砀山县| 玛沁县| 赤水市| 宿迁市| 渝中区| 梅河口市| 和平区| 康马县| 固安县| 高州市| 丰原市| 北安市| 正安县| 武功县| 天津市| 晋城| 柳江县| 含山县| 阜宁县| 梧州市| 台山市| 麻栗坡县| 昌吉市| 洛川县| 兴山县| 涟源市| 英德市| 延津县| 莱州市| 忻州市| 元朗区|