2011-10-30 45 views
2

我是一名Java初學者,正在嘗試實踐。我想寫一個基於Java的基礎文本,並在沒有任何GUI的情況下在java中穿越遊戲。我想通過編寫單元測試來檢查它們是否通過,以測試它是否工作。我不想要任何答案,只是想要指導如何去做這件事。這是我迄今所決定:基於文本的無塊和十字架

  1. 有以下類別:GameTestGameBoardPlayer(有這兩個實例)
  2. 使用的電路板的陣列。

如果有人對我如何改進或想法如何做,我將不勝感激。

感謝

+0

這似乎是一個良好的開端;你到目前爲止有什麼? –

+0

或多或少只是想法tbh。我創建了基本課程,但我不確定是否能夠在課堂上啓動任何課程。因爲我創建該類的實例時可能需要傳入一個參數,例如董事會在遊戲類。所以不太確定如何去做。請啓動一個示例 – uncleB

+0

創建一個採用參數的ctor。 –

回答

0

它可能會去是這樣的:

  1. 球員應該是 'X' 或 'O'(或0/1)
  2. 一個板是一個1-d陣列(0..8)或2D(3×3)int或炭(0,1,2)的陣列或( '_', 'X', 'O')
  3. 方法:
    • switchTurn()
    • 當前Turn()(return'x'/'o')
    • playMove(player,cell) - cell可以是單個整數(0..8)或2d(0..2,0..2)
    • validMove()返回true
    • isWinner(播放器)
    • isDraw()(無效移動)

這應該給你一個粗略的想法

+0

感謝您的回答。當你說球員應該是'x'或'o'時,這是否意味着我必須創建像playerX和playerO這樣的兩個球員類?或者如果我只有一個名爲Player的課程,我會如何將X或O的值傳遞給每個玩家?你的幫助是非常感謝....我也假設這些方法將在Player類中,並從遊戲類中調用? – uncleB

+0

這真的取決於你。你可以讓一個球員作爲一個類,用一個「type」字段作爲x/o。你可以把switchTurn/currentTurn放在Game類中,validMove,isWinner,isDraw放在board類中,並且在播放器類中放置playMove(board,cell)。真的取決於你 – galchen

相關問題