您的当前位置:首页正文

第19天Microsoft Robotics Developer Studio中文教程--Sumo - 相扑机器人

2023-07-18 来源:客趣旅游网
 [Robotics Studio] Sumo - 相撲機器人 -- Day 19 编辑整理<杜毓聪 duyucong@gmail.com www.yucongdu.cn>繼續鬼混 -- 話說 RDS 安裝完畢以後, 有個不錯玩的範例 - Sumo (相撲機器人)就在安裝目錄的 Samples\\Simulation\\Competitions\\SimulatedSumoServices 下面. 你可以雙點擊該目錄的 SumoCompetition.sln , 就會開啟 VS 2008 (or VS 2008 express)然後將 SimulatedSumoReferee 設為預設執行的專案, 你就可以開始執行了,你應該會看到 Simulated Sumo Referee 的對話框: 下拉 Select a Sumo Player, 點選 \"http://schemas.tempuri.org/2007/02/sumoplayer.html\"(那個 mysumo1.html 是我自己寫的, 等下會介紹如何生出來...)就會看到 Player 1 生出來了, 再做一次, 就會看到 Player 2 , 還有一個 Start the Match! 按鈕: 當然, 此時你的 VSE 畫面上就生出兩隻相撲機器人準備對戰了:

按下 Start the Match!, 你的兩隻機器人就會對打...

然後有三回合, 三個回合以後, 就判出勝負啦:

好玩吧!

那我們要如何自己寫一個虛擬相撲機器人的程式碼呢?

首先啟動 DSS Command Prompt (在開始程式集, 安裝的 MRDS 下面)

然後在命令視窗當中輸入 MakeSumoPlayer /name:\"mysumo\" /force:true

(name 後面的名字你可以自己定, 我用 mysumo 當範例, 如果你自己定義, 記得下面的範例自己替換一下名稱就可以) 之後就會輸出像這樣的:

* The new sumo player project is in: C:\\Users\\lane\\Microsoft Robotics Dev Studio 2008

Express\\samples\\simulation\\competitions\\simulatedsumoservices\\mysumo* Total time: 0.4 seconds.

然後你可以用新增現有專案, 把剛剛生出來的專案加入原本的 SumoCompetition 方案當中, 然後建置它:

什麼?! 三項錯誤...這不是你的 bug, 也不是我的 bug, 這是微軟附上這個範例的 bug...但是很簡單就可以修正 (只是因為 DSSCategory 設錯而已):

DSS Category 必須是 URI , 所以你必須到 mysumo.cs 當中修改 DSSCategory:

把 \"SumoPlayer\" 改為

\"http://schemas.microsoft.com/robotics/2007/02/sumo/categories/sumoplayer.html\" 就可以解決.

建 置完成後, 你需要把 mysumo 改為預設專案, 執行它, 目的是讓他去跟系統註冊一下 (等到最後會停在 Service Started ..., 之後就可以中斷了), 這樣待會 SimulatedSumoReferee 才會找到它, 然後再切回 SimulatedSumoReferee 執行.

這次下拉選單你就會看到 mysumo 囉.

你可以拉一個 mysumo 跟 系統原本的 sumoplayer 對戰...(現在當然是一樣的 code 拉...)之後我們再來更改它...

-->

因篇幅问题不能全部显示,请点此查看更多更全内容