2011-11-03 121 views
-3

我試圖使用C++實現Sorry! board遊戲,這樣4名玩家(包括計算機作爲玩家之一)可以通過網絡玩遊戲,並且還有一個記分牌和一個留言板給玩家聊天。對不起! C++中的棋盤遊戲

其主要思想是結合我對C++的理解,並在實現此遊戲時使用幾乎所有的OOP概念。

我試圖把問題分成課,並有2個問題: 1.每個球員綠色,黃色,藍色,紅色每個4件。每件作品都是一個班級,還是green1class,green2 class .....或者僅僅是每種顏色都是一個班級,每一塊相同的顏色只是班級的一個實例。 2.另外我該如何開始將這樣的通用問題分爲類?

+3

聽起來你喜歡你並沒有真正的問題,但需要一本關於C++ OOP的好書。總的來說,聽起來你需要一個SorryGame類,一個SorryPlayer類和一個SorryPiece類。 SorryPiece類將具有確定它是什麼顏色的屬性,或者它屬於哪個播放器。 – miahelf

+1

儘管這個問題已經結束,不要讓人們勸阻你。一場對不起的比賽和其他任何一樣都是目標。但是你應該避免在StackOverflow上提到你希望將來能夠聯網並在遊戲中擁有AI。 (對於那些對目標語言瞭解不多的人來說,這樣的抱負是被嘲笑的......不被讚賞)。在任何情況下,通過和處理一些簡單的樣本的建議,比如在C++中使用Thinking *將站在一個更堅實的基礎上考慮像你在這裏問的問題...... – HostileFork

回答

4

開始考慮中的對象,並在「是」和「有」的方式有點像這樣:

遊戲人物是一個對象

玩家是另一個對象。
玩家有4款遊戲。
玩家有顏色

遊戲板是一個對象。
一個遊戲板有空格。
一個遊戲板有4個玩家

依此類推。正如你習慣於以「是」和「有」的方式思考,它變得更容易。

也可以嘗試的東西打破的最低水平 - 如果每一個球員都有一種顏色,那麼也許球員應該是有顏色的對象,而不是4個選手對象的基於顏色

做到這一點(我知道這不是正確的C/C++代碼,但它說明了的IDE):

class Player 
{ 
string Color; 
Piece[] Pieces[4]; 
} 

代替

class RedPlayer 
{ 
RedPieceOne Piece1 
RedPieceTwo Piece2 
} 
class GreenPlayer 
{ 
}