2008-11-28 32 views
6

在C#中顯示&程序簡單遊戲板(如國際象棋,跳棋等)的最佳方式是什麼?在控制和底層遊戲邏輯方面。顯示和編程遊戲板的最佳方式?

我想到的一個想法是使用圖片框(或從它繼承的類)與董事會&字段類。

  • 畢竟這是一個體面的解決方案嗎?
  • 如何使用此解決方案將圖形與遊戲邏輯分開(我相信Board &字段類可能不夠)?
  • 對於這樣的目的,PictureBox是否足夠高效?

谷歌搜索一些也帶來了我使用按鈕/標籤爲每個遊戲領域的解決方案。但是回到Board,Field和PictureBox。

可擴展性 - 正確設計它可以輕鬆實現任何其他的棋盤遊戲(甚至是紙牌遊戲),因爲它畢竟是可修改的字段。

回答

4

在面向對象的方法中,考慮遊戲中涉及的對象(例如棋盤,棋子)......讓他們提供一種繪製方法,該方法需要一個對象並在其上繪製自己。

繪圖本身可以在PictureBox上完成 - 這是用於這種目的的理想控制 - 但這並不是那麼重要,因爲一旦您的繪圖邏輯就位,它將不依賴於控制。

一般而言,不需要使用具有不同控件的解決方法。這些對於傳統的GUI來說可能很好。不是那麼多的遊戲(或任何類型的圖形重量級應用程序)。

1

如果你想閃亮,你可以試試WPF,perf。現在還不算太壞,而且很容易獲得非常容易定製的圖形,從外部文件加載等等。

在概括行爲方面,您可能想要分離場景圖代碼(佈局,繪圖對象和所有無聊的低級別東西),然後爲普通棋盤遊戲交互添加一層:選擇源和目標進行移動,旋轉等,然後將遊戲邏輯分層。

我可能會先將Tic-Tac-Toe放在第一位,看看是否有任何需要打破層分離的位置,並在遊戲邏輯陷入困境之前儘早修復。

4

從數據結構的角度來看看位圖數據結構。 http://en.wikipedia.org/wiki/Bitboard

+0

良好的建議,但很低層次,並在思考遊戲的前端方面時最終無關緊要。 – 2008-11-28 18:07:03

1

如果你感到很冒險,您可以嘗試XNA)

是的,它比其他解決方案更復雜,可能是矯枉過正的棋盤遊戲,但一旦你得到它的竅門,你可以自由做一些很棒的遊戲。

0

一般來說,首先要爲電路板,零件等設計邏輯結構,然後對這些操作進行設計,並最終設計一個圖形界面,或多或少地作爲前端。

相關問題