內容介紹
本書是“萬水編程革命系列”的第四本,把機器人設計與C#語言巧妙結合起來,讓讀者在躲避子彈、前進後退中全面掌握C#語言的變數、函式、數組、集合、類、對象、繼承、多態、接口、檔案流等各個要素。本書由淺入深,側重於C#的特性與機器人代碼的實現。隨著C#水平和機器人策略能力的提高,本書最後還介紹了人工智慧及一些極具創意的機器人的c設計。
本書章節設計合理,符合人腦思維定式,更易掌握各知識點。首先定出章節學習目標與任務,其次分析任務,穿插C#知識與機器人策略,並用代碼實現,然後在任務的基礎上進行知識點擴展,最後對各章節總結要點,並給出練習。
本書是編程愛好者、大中專學生加快學習的福音,更是計算機老師教學的強有力工具。本書可作為高等院校、高職高專、培訓機構的正式教材。AI—CODE已經被部分院校作為教學輔助軟體使用。AI—CODE必將改變傳統教學,引領新的編程革命。
作品目錄
前言第一部分 基礎篇第1章 C#平台與AI-CODE概述 1.1 教育理念 1.1.1 傳統教育 1.1.2 遊戲教育理念 1.1.3 遊戲化學習 1.2 機器人編程遊戲歷史 1.2.1 AI-CODE的誕生和發展 1.2.2 AI-CODE遊戲教育系統簡介 1.2.3 AI-CODE兩大主題 1.3 什麼是程式和算法 1.3.1 面向對象程式設計思想 1.3.2 什麼是.NET 1.3.3 C#語言簡介、起源 1.3.4 C#語言的特點 1.3.5 C#平台、環境說明 1.3.6 C#與Java語言的異同 1.4 快速體驗 1.4.1 下載、安裝我的AI-CODE 1.4.2 我的快樂競技之旅 1.4.3 虛擬機器人運作平台——AIROBO 1.4.4 圖形編輯器——機器人快車 1.4.5 代碼編輯器——CodeCanvas第2章 AI-CODE的數學與物理知識 2.1 數學知識 2.1.1 坐標系統 2.1.2 三角幾何學與方向 2.1.3 離散數學 2.1.4 數學函式 2.2 物理知識 2.2.1 機器人解剖 2.2.2 機器人速度、距離、力 2.2.3 子彈能量、熱、速度 2.2.4 Force與動量守恆定理 2.3 基本參數 2.3.1 系統時鐘 2.3.2 其他輔助參數第3章 圖形編程——快速步入程式之門 3.1 學習目標與任務 3.2 機器人快車概述 3.2.1 機器人快車的安裝與卸載 3.2.2 機器人快車簡介 3.2.3 流程模組拖拉編程 3.3 向戰場中央靠攏機器人 3.4 機器人快車函式封裝 3.5 小結與練習第4章 我的第一個C#機器人 4.1 學習目標與任務 4.2 設定visuaI Studio.NET開發環境 4.3 機器人開發 4.3.1 AI-CODE開發目錄設定 4.3.2 創建First機器人 4.3.3 機器人名稱與名字空間 4.4 FirstRobot結構解析 4.4.1 Action與OnTick處理函式 4.4.2 常用函式 4.5 初識對象、類與繼承 4.5.1 面向對象思想 4.5.2 First類及AI-TANK類圖 4.6 知識擴展 4.6.1 關鍵字與注釋碼 4.6.2 經典例子機器人說明 4.6.3 C#程式結構 4.7 小結與練習 第二部分 中級篇第5章 基本運動與C#語言基礎 5.1 學習目標與任務 5.2 基本運動策略 5.3 直線運動與C#基本元素 5.3.1 運動原理分析 5.3.2 繞牆走機器人剖析 5.3.3 數據類型、表達式、If-eIse控制 5.4 指定方向或位置運動 5.4.1 運動原理分析 5.4.2 heading與bear。ing方向解析 5.4.3 SuperCenter機器人剖析 5.4.4 C#代碼規範 5.5 曲線運動 5.5.1 運動原理分析 5.5.2 圓周與倒8字運動機器人剖析 5.5.3 whiIe和for流程控制 5.6 擴展知識 5.6.1 變數與常量定義 5.6.2 三角函式與C#函式 5.6.3 switch分支語句 5.6.4 運算符和賦值概念 5.6.5 基本防禦組合套用小析 5.6.6 裝箱(boxing)和拆箱(unboxing) 5.7 小結與練習第6章 基本瞄準與函式 6.1 學習目標與任務 6.2 基本瞄準策略 6.2.1 三大基本瞄準策略 6.2.2 相關事件的處理 6.3 定點瞄準 6.4 線性預測瞄準 6.4.1 提前量直線瞄準原理分析與正弦定理套用 6.4.2 提前量直線瞄準機器人剖析 6.4.3 直線疊代瞄準與const常量 6.5 圓周預測瞄準與C#函式 6.5.1 圓周預測瞄準原理分析 6.5.2圓周預測瞄準機器人剖析 6.5.3 C#函式詳析 6.6 小結與練習第三部分 高級篇第7章 戰爭情報員與數組、集合 7.1 學習目標與任務 7.2 信息收集與數組 7.2.1 信息收集機器人 7.2.2 C#數組 7.3 信息收集與集合 7.3.1 信息收集機器人 7.3.2 C#集合 7.4 小結與練習第8章 對象、類實現避彈、避牆 8.1 學習目標與任務 8.2 躲避子彈機器人 8.2.1 躲避子彈原理 8.2.2 躲避子彈機器人剖析 8.2.3 子彈類實現 8.3 對象和類再析 8.3.1 面向對象 8.3.2 類聲明和成員 8.3.3 深入研究new運算符 8.3.4 構造函式與析構函式 8.4 因數避牆機器人 8.4.1 因數避牆原理 8.4.2 因數避牆機器人剖析 8.4.3 因數避牆機器人改進與擴展 8.4.4 static關鍵字 8.5 擴展知識 8.5.1 C#修飾符列表 8.5.2 對機器人進行管理 8.6 小結與練習第9章 繼承、多態實現高級機器人 9.1 學習目標與任務 9.2 高級運動策略與繼承、多態性 9.2.1 高級運動策略分析 9.2.2 高級運動機器人的實現 9.2.3 C#繼承與多態 9.2.4 反重力運動機器人剖析 9.3 高級瞄準策略 9.3.1 高級瞄準策略分析 9.3.2 振盪瞄準機器人 9.3.3 模式匹配瞄準機器人 9.3.4 統計學瞄準、虛擬子彈、波 9.3.5 其他瞄準算法 9.4 擴展知識 9.4.1 隨機運動策略介紹 9.4.2 this關鍵字 9.4.3 sealed關鍵字與密封類 9.5 小結與練習第10章 戰略合成與C#接口、抽象 10.1 學習目標與任務 10.2 戰略組合與C#接口和抽象 10.2.1 高手的秘訣:戰略組合 10.2.2 設計可重用機器人結構 10.2.3 C#抽象與接口 10.2.4 C#機器人編程接口 10.3 擴展知識 10.3.1 淺析C#事件與委託 10.3.2 虛擬方法 10.3.3 重寫override 10.4 小結與練習第11章 機器人異常調試 11.1 學習目標與任務 11.2 調試機器人 11.2.1 AI-TANK控制台 11.2.2 輸出變數的值 11.2.3 AI-TANK調試函式 11.3 C#異常處理 11.4 Record機器人 11.5 C#IO 11.6 擴展(預處理指令) 11.7 小結與練習第12章 團隊作戰實現 12.1 學習目標與任務 12.2 團隊作戰機制與通信兵 12.2.1 創建機器人團隊 12.2.2 團隊內的通信 12.3 團隊作戰機器人 12.3.1 混戰避敵原理 12.3.2 混戰算法設計 12.3.3 混戰避敵代碼的實現 12.3.4 混戰避敵算法改進與擴展 12.4 小結與練習第13章 高級調試與繪圖機器人 13.1 學習目標與任務 13.2 美麗的軌跡圖 13.2.1 打開機器人圖形控制 13.2.2 振動波繪圖機器人實現 13.3 機器人繪圖類實現原理 13.4 小結與練習 第四部分 專家篇第14章 智慧型機器人 14.1 人工智慧 14.1.1 人工智慧概念 14.1.2 人工智慧的研究和套用領域 14.1.3 AI-TANK在人工智慧領域的研究範圍 14.2 強化學習機器人 14.2.1 原理概述 14.2.2 機器人設計分析 14.2.3 算法設計 14.3 神經網路機器人 14.3.1 原理概述 14.3.2 機器人設計分析 14.3.3 反向傳播算法設計 14.4 遺傳算法機器人 14.4.1 原理概述 14.4.2 預設策略進化機器人剖析 14.4.3 遺傳操作機器人 14.4.4 中間解釋程式進化機器人 14.5 機器學習機器人 14.5.1 機器學習原理 14.5.2 Bayesian團隊機器人設計 14.5.3 算法設計第15章 聯賽系統、XML與內部機制 15.1 聯賽系統 15.2 機器人配置與啟動原理 15.3 機器人編程接口與核心 15.4 XMI入門 15.5 XMI DOM模型實現機器人通信第16章 AI-CODE外傳 16.1 策略流派 16.2 天才創意機器人 16.2.1 撞擊攻擊機器人RamFire 16.2.2 跟蹤者Tracket 16.2.3 舞蹈機器人Dancer 16.2.4 克隆機器人Dolly附錄1 章節機器人對照表附錄2 知識點參考文獻