我不會拖拉機這種玩法,只能就一般牌類的玩法來談談我對這個的看法。首先,既然我們要用oo的設計方法,那麼就必須從頂至下來設計。
讓我們先來分析一下聯眾這個游戲的流程,首先,我們進入游戲大廳,然後選定一個牌桌,人湊齊後就可以玩了,可以玩很多局,直至這桌全
部人離開。這樣的話從頂至下分析就可以構造一下類:
一、大廳類(Hall class)
這個類並不復雜,可以這樣定義
public class Hall
{
//私有成員變量
//大廳本身屬性
private String m_strName ; //大廳名稱
private String m_strDescription ; //大廳描述
private String m_strServerIP ; //大廳主機ip,聯網訪問的ip,具體協議看需要
......... //其它需要的屬性
//大廳包含的對象
private ArrayList m_arrUsers ; //用戶數組
private ArrayList m_arrConnections; //對應每個用戶的連接,可以是udp或tcp,看需要。
pirvate ArrayList m_arrTables ; //桌子類數組
private ArrayList m_arrMatchs ; //每局游戲類,對應每一局游戲
//屬性
public String Name ....
....
//以下為方法
//construction
public Hall()
{
起服務器winservice...
}
///為每一個用戶建立一條socket連接
///主要作用是取得user的ip建立socket然後把這個user加入到在線用戶數組
///<parameter>a_objUser , 一個User對象,</parameter>
public void Connect(User a_objUser)