2014-02-23 42 views
1

我正在學習如何使用Visual Studio並創建一個Microsoft Windows商店應用程序,一個象棋遊戲。我以前還沒有創建過一個應用程序,但我曾經在幾個.NET項目上工作過。開始一個新的C#項目,需要一些指導

我想學的是如何開始。在我真正開始編碼之前,我需要做些什麼?我已經寫下了我將需要的課程。

  1. 件類
    1. 字符iswhite
    2. isOnBoard
    3. 位置
    4. PieceType
  2. Pawn類:繼承件類
    1. isOnHomeSquare
  3. 魯克類:繼承件類
    1. hasMoved

等等等等,每件。

我還需要做什麼計劃?

+0

即使在計劃階段,特別是在新手時,玩一些代碼也不失爲一個好主意。 – BoltClock

+0

@BoltClock我明白,我這樣問是因爲我自己在一個web項目上遇到了不好的經歷。我沒有應用面向對象的原則,也沒有計劃太多的東西。它導致了醜陋,意大利麪和不可維護的代碼。現在我想再次嘗試「正確」的方式。 – stackErr

回答

2

tldr:計劃出來,代碼的基本邏輯首先進入細節/細節(如AI,圖形,多人)

好,前(即使它成爲一個國際象棋比賽),因爲你擁有整個結構已經規劃出來,您可以開始規劃邏輯(即法律動作,特殊動作和促銷)並將其編碼到程序中。它可以是一個簡單的類(最可能是一個靜態類)與功能上的一舉一動運行:

IsLegal(piece one, coord dest) 
CapturePossible(piece one, piece two) //inherits IsLegal? 

如果這些返回true,則可以執行移動,並做必要的邏輯(如刪除了一塊, Castling)通過一個簡單的移動類。

當你的國際象棋程序功能齊全後,你就可以開始規劃國際象棋AI(如果你的目標是單人棋牌遊戲)。這是最具挑戰性的部分,您可能需要閱讀更多關於AI邏輯和編程以及在簡單項目(如井字棋)上的練習,以便掌握它。

一旦完成了所有的邏輯(即它是一個功能齊全的國際象棋遊戲),你可以開始消除錯誤,創建更好的圖形,甚至添加多人遊戲支持。

相關問題