機(jī)器人群體人工智能_第1頁
機(jī)器人群體人工智能_第2頁
機(jī)器人群體人工智能_第3頁
機(jī)器人群體人工智能_第4頁
機(jī)器人群體人工智能_第5頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、機(jī)器人群體人工智能控制模擬平臺(tái)-用戶手冊(cè)<1.2>作者:郁彥彬2003年9月16日機(jī)器人群體人工智能控制模擬平臺(tái) 用戶手冊(cè) (小型工程)版本 <1.2>版本歷史日期版本描述作者2003年7月28日1.0最初版本郁彥彬2003年8月18日1.1修正圖片錯(cuò)誤郁彥彬2003年9月16日1.2最終版本,加入了網(wǎng)絡(luò)功能的使用郁彥彬1 簡(jiǎn)介1.1 文檔目的此文檔用于向用戶說明軟件機(jī)器人群體人工智能控制模擬平臺(tái)的使用方法以及AI的編寫規(guī)則,主要包括以下幾個(gè)方面:l 軟件概述:目的,功能,性能;l 運(yùn)行環(huán)境:硬件,軟件;l 詳細(xì)使用說明l 源代碼和數(shù)據(jù)文件說明l 使用實(shí)例介紹1.2 編

2、程背景開發(fā)的軟件的名稱為“機(jī)器人群體人工智能控制模擬平臺(tái)”; 此軟件開發(fā)用于參加 “2002-2003 Microsoft Cup Software Development Contest”。1.3 定義1.4 參考資料l 開發(fā)計(jì)劃 : 作者:郁彥彬 發(fā)布日期: 2003年5月7日l AI編寫方法 :作者:任伶 發(fā)布日期:2003年5月1日2 軟件概述2.1 目的本軟件用軟件平臺(tái)模擬出不同AI之間的戰(zhàn)斗效果,不僅節(jié)約利用硬件模擬AI的成本,而且通過一定的游戲性,激發(fā)出許多人對(duì)于C#的熱愛,在游戲中提高各自編寫AI的水平。2.2 功能本軟件可以提供一個(gè)可視化的三維機(jī)器人對(duì)戰(zhàn)平臺(tái),并讀入?yún)⒓佑螒蛘?/p>

3、雙方利用C#編寫的AI運(yùn)行,用軟件模擬出不同AI在實(shí)際戰(zhàn)斗中的效果,并通過一定的統(tǒng)計(jì)手段表示雙方的AI的智能高低,既具有一定的游戲性,又可以節(jié)約利用硬件模擬AI的成本。本軟件同時(shí)可以激發(fā)許多人對(duì)于C#的熱愛,在游戲中提高同學(xué)編寫AI的水平。2.3 性能本軟件以時(shí)間極短的回合制來模擬即時(shí)制,所以每回合的執(zhí)行時(shí)間長(zhǎng)短是衡量的重要指標(biāo)之一,當(dāng)AI的效率過低時(shí),會(huì)導(dǎo)致在計(jì)算子彈擊中機(jī)器人時(shí)發(fā)生錯(cuò)誤,所以整個(gè)軟件對(duì)計(jì)算機(jī)的速度有一定要求,AI越復(fù)雜,對(duì)計(jì)算機(jī)要求越高。在此軟件中,機(jī)器人和子彈的位置是由單位像素來表示,機(jī)器人的生命值和子彈的威力精確到1。3 運(yùn)行環(huán)境3.1 硬件最低配置:Pentium I

4、I 500,64M memory,100M free disk space,16M display memory ,8 speed CD-ROM,Monitor。推薦配置:Pentium III 1G,128M memory,100M free disk space,64M display memory,50 speed CD-ROM,17 Monitor。3.2 軟件Windows98/2000/XP 、 .NET Framework, DirectX 9.0 (retail)。編譯環(huán)境:Microsoft Visual Studio .Net 2003, DirectX 9.0 SDK(r

5、etail)4 詳細(xì)使用說明4.1 AI編寫方法 見Ai編寫規(guī)則.doc4.2 軟件使用方法l 本軟件屬于綠色軟件,無需安裝便可直接運(yùn)行圖1l 開始畫面(圖1)包括Start Battle, Battle.Net, Option, Credit, Exit等四個(gè)選項(xiàng):1.點(diǎn)擊Start Battle進(jìn)入LoadForm畫面;2.點(diǎn)擊MultiPlayer,進(jìn)入網(wǎng)絡(luò)兩人對(duì)戰(zhàn)模式;3.點(diǎn)擊Option進(jìn)入選項(xiàng)菜單;4. 點(diǎn)擊Credit 進(jìn)入編程人員名單5.點(diǎn)擊Exit退出。圖2l LoadForm畫面(圖2):用于選擇AI進(jìn)行對(duì)戰(zhàn)。1,Load Robot DLL按鈕,用于讀取已編譯的C#文件;

6、2,Start Battle按鈕,用于開始對(duì)戰(zhàn);3,<<,>>按鈕用于添加和去除加入隊(duì)伍的AI;4,Clear按鈕用于去除此隊(duì)中所有的AI。圖3l 選項(xiàng)菜單(圖3,4,5):選項(xiàng)菜單用于修改所有參數(shù),其中三個(gè)按鈕的作用分別為保存、取消、讀取默認(rèn)值。圖4圖5圖6l 編程人員名單(圖6):圖7l 網(wǎng)絡(luò)類型選擇對(duì)話框(圖7),可以選擇Robot.Net和LocalGamel 網(wǎng)絡(luò)聯(lián)機(jī)對(duì)話框(圖8),點(diǎn)擊Host建立Server,點(diǎn)擊Search搜索網(wǎng)上已存在的主機(jī),點(diǎn)擊Join連接。Address為服務(wù)器的IP地址Start ButtonOrReady Button圖9圖8l

7、 NetLoadForm畫面(圖9):用于選擇AI進(jìn)行對(duì)戰(zhàn)。1,Load Robot DLL按鈕,用于讀取已編譯的C#文件;2,Start Battle按鈕,用于主機(jī)在副機(jī)準(zhǔn)備好之后開始對(duì)戰(zhàn);3,<<,>>按鈕用于添加和去除加入隊(duì)伍的AI;4,Clear按鈕用于去除此隊(duì)中所有的AI;5,Ready按鈕用于副機(jī)表示已準(zhǔn)備好。4.3 選項(xiàng)說明以下是Option菜單中各個(gè)參數(shù)的意義:l Arena Width:戰(zhàn)場(chǎng)寬度,數(shù)值為整數(shù);l Arena Height:戰(zhàn)場(chǎng)長(zhǎng)度,數(shù)值為整數(shù);l Robot HP:機(jī)器人的生命值;l Robot Motion Coefficient:l

8、 Robot Horizontal Motion:l Robot Radar Coefficient:l Robot Cooldown Coefficient:l Robot Energy Coefficient:l Robot Gun Limit degree:機(jī)器人槍口的可達(dá)到的最大角度;l Robot Radius:機(jī)器人半徑,進(jìn)入此范圍的機(jī)器人視為碰撞、子彈視為擊中;l Bullet Speed:子彈速度;l Enable Sound:是否開啟聲音和音效;l Sound Volume:聲音音量;l 3D Effect:是否開啟3D音效;l Music Volume:背景音樂音量;l M

9、usic Mute:背景音樂靜音;l Sound Quality:音效質(zhì)量,數(shù)值越大,效果越好;l Sound Buffer:聲音混合效果;l Buffer Mixing:聲音混合(軟件或硬件);l Allow Shadow:是否繪出機(jī)器人的陰影。l Resolution:分辨率l Character Extension:人物擴(kuò)展5 使用實(shí)例5.1 AI編寫實(shí)例using System;using System.Collections;using System.Threading;using ToolsSpace;namespace ArmorSpace/ <summary>/ C

10、lass1 的摘要說明。/ </summary>/ public class PlayerRobot : Robotpublic PlayerRobot()/ TODO: 在此處添加構(gòu)造函數(shù)邏輯/public override void Init()SetPriority(1);GoAhead();SetGunPriority(1);GunTurnRight();public override void OnHitWall(object args)SetPriority(15);double d=(double)args;TurnLeft(0.3);GoAhead();public

11、 override void OnActionFailed()SetPriority(5);public override void OnHitRobot(object args)public override void OnSeeBullet(object args)public override void OnSeeRobot(object args)ArrayList l=(ArrayList)args;Robot r=(Robot)l0;SetGunPriority(20);if(int)(this.GetGun().GetDegree()=(int)(Armor.ArmorsToDe

12、gree(this,r)this.GunStop();this.Fire();public override void OnGunStop()SetGunPriority(1);this.GunTurnLeft();public override void OnStop()Fire();public override void OnDefault()SetGunPriority(2);if(this.GetGun().GetRelativeDegree()>=Tools.GUN_LIMITDEGREE-5 && this.GetGun().GetRelativeDegre

13、e()<180)this.GunTurnRight();if(this.GetGun().GetRelativeDegree()<=360-Tools.GUN_LIMITDEGREE+5 && this.GetGun().GetRelativeDegree()>180)this.GunTurnLeft();6 源代碼和數(shù)據(jù)文件說明6.1 源代碼說明1. ToolsSpacel Tools.cs 常用運(yùn)算、處理子程序的工具包l XMath.cs 用于float的數(shù)學(xué)運(yùn)算轉(zhuǎn)換l SoundPlay.cs 用于讀取和播放音效l MusicPlay.cs 用于讀取和播

14、放背景音樂l StaticScene 處理靜態(tài)場(chǎng)景l(fā) ASEScene 把靜態(tài)場(chǎng)景連接成動(dòng)畫l SinglePart StaticScene中的獨(dú)立單元l History 記錄歷史對(duì)象2. PlaySoundl ps.cs 程序中所有dx聲音實(shí)現(xiàn)機(jī)制底層實(shí)現(xiàn)3. ArenaSpacel Arena.cs 戰(zhàn)斗場(chǎng)地類定義,實(shí)現(xiàn),控制所有的robot及子彈等等4. ArmorSpacel Action.cs 所有動(dòng)作的父類,使用Executor模式l Armor.cs 定義了Armor類,是所有在Arena中的物體的父類l Bullet.cs 定義了具體的子彈類(包括聲音,圖像),繼承自Logic

15、alBulletl Fire.cs 開火動(dòng)作類,繼承自Actionl GoAhead.cs 前進(jìn)動(dòng)作類,繼承自Actionl GoBack.cs 后退動(dòng)作類,繼承自Actionl Robot.cs 定義了具體的機(jī)器人類(包括聲音,圖像),繼承自LogicalRobotl GoLeft.cs 向左平移類,繼承自Actionl GoRight.cs 向右平移類,繼承自Actionl Gun.cs 定義了具體的槍類(包括聲音,圖像),繼承自LogicalRobotl LogicalBullet.cs 定義了抽象的子彈類,提供邏輯層次的子彈實(shí)現(xiàn)(坐標(biāo),速度),繼承自Armorl LogicalGun.cs 定義了抽象的槍類,提供邏輯層次的槍管實(shí)現(xiàn)(角度,攻擊力),繼承自Armorl LogicalRobot.cs 定義了抽象的機(jī)器人類,提供邏輯層次的機(jī)器人實(shí)現(xiàn)(坐標(biāo),指令,動(dòng)作),繼承自Armorl TurnLeft.cs 向左旋轉(zhuǎn)類,繼承自Actionl TurnRight.cs 向右旋轉(zhuǎn)類,繼承自Actionl Wait.cs 停止類,繼承自Action5. OpenRobotl AssemblyInfo.cs .net自

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論