2013-02-17 46 views
0

我正在完成一項作業,由我的導師給出了一個作業,他向我展示了一個使用Java開發的演示項目,但我沒有任何java經驗,但是我在C#我必須完成給定的要求,如模擬遠程機器人運動

  1. 採用Socket技術
  2. 客戶/服務器通信協議

場景: 需要設計機器人與世界上一些地方的機器人去探索未知的對象。所以我知道這會是某種像2D遊戲,我可以使用Microsoft XNA和要設計的遠程控制接口與C#和通過使用的System.Net.Sockets技術移動機器人

注意參數值開發動畫:我知道在Xbox中使用System.Net.Sockets時有限制,但這個項目只能在PC中使用。

我的問題:有沒有人有任何想法或評論我的任務是否可能與否。如果可能的話,請指導我一些指導。如果這是不可能的,請指導我技術,我可以完成我的任務,如不同的編程環境或工具? enter image description here

回答

1

這是可能的。

我建議把問題分解成一些獨特的部分。

模擬 - 這是純粹模擬機器人和周圍環境的位置。使用此任務完全忽略與圖形相關的任何內容。只關注所涉及的數學問題。例如如果我的機器人在這裏,那邊有一塊石頭,我的機器人是否接觸到岩石? 因爲它是一個2D應用程序,所以您可能能夠擺脫很多假設和簡化。例如機器人和岩石都可以通過正方形或圓圈模擬。

(圈子尤其容易對付的,因爲它基本上只涉及到檢查機器人的中心和岩石的中心之間的距離足夠大。)

網絡 - 創建兩個簡單的控制檯應用程序並讓它們通過套接字API進行通信。一旦你有了這個工作,那麼把它集成到XNA遊戲中將會更加明顯。

UI - 這是你可以(最後)專注於圖形和用戶輸入的地方。這聽起來像可以通過常規的Spritebatch繪圖調用和輸入讀取方法(如鍵盤,鼠標或GamePad)來實現。

+0

感謝您的建議,我實現了你的建議,但我堅持使用輸入閱讀方法。我所做的只是從客戶端應用程序發送一些值,並在xna的條件移動精靈時使用(即:如果收到值8然後向上移動5px)。但它似乎不流利和緩慢。我不知道如何使用socket.net編程輸入讀取方法。任何幫助表示讚賞 – mshiyam 2013-04-20 20:17:46