一、主要思想
要想完成鬥地主發牌我們主要需要完成以下幾個功能模組
1.實現買牌功能,即生成54張牌,其中包括4種花色牌各13張加大小王兩張
2.實現洗牌功能,即將54張牌隨機打亂順序
3.實現發牌功能,即將54張牌平均發給3個玩家並留3張底牌
主要類
我們主要需要三個類:
1.撲克牌類 2.玩家類 3.實現類
具體**的實現
撲克牌類:
主要提供兩個分別裝紙牌點數和紙牌花色的陣列,並自定義兩個下標方便控制,並重寫了tostring方法使得可以列印一張牌
class
cardtest
;//儲存13個點數和大小王
string[
] color =
;//儲存四種花色和用於大小王的空花色
int x;
//控制點數下標
int y;
//控制花色下標
public
cardtest()
public
cardtest
(int x,
int y)
public string tostring()
}
玩家類:
主要提供乙個抓牌的方法,並重寫了tostring方法,使得可以列印玩家手牌
class
playertest
;//設定乙個用於裝每個玩家手牌的陣列
public cardtest[
]getcard
(cardtest card)
@override
public string tostring()
public
playertest()
public
playertest
(string name)
}
實現類
可以通過紙牌類中的點數和花色組合成54張牌,並提供了打亂順序的方法,和將牌平均發給三個玩家的操作,也負責將三個玩家和底牌都列印出來
public
static
void
main
(string[
] args)
//裝入大小王
cardtest[52]
=new
cardtest(4
,13);
cardtest[53]
=new
cardtest(4
,14);
upset
(cardtest)
;//呼叫下述upset方法將紙牌順序打亂
playertest[
] playertests =
newplayertest[3
];//建立3個玩家
playertests[0]
=new
playertest
("張飛");
playertests[1]
=new
playertest
("關羽");
playertests[2]
=new
playertest
("趙雲");
for(
int i =
0; i < cardtest.length-
3; i++
)else
if(i%3==
1)else
if(i%3==
2)}//將三個玩家的牌列印出來
system.out.
println
(playertests[0]
);system.out.
println
(playertests[1]
);system.out.
println
(playertests[2]
);cardtest[
] card005 =
newcardtest[3
];//建立乙個長度為3的數組裝三張底牌
card005[0]
= cardtest[cardtest.length-1]
; card005[1]
= cardtest[cardtest.length-2]
; card005[2]
= cardtest[cardtest.length-3]
; system.out.
println
(arrays.
tostring
(card005));
//列印出底牌
}//打亂方法
public
static cardtest[
]upset
(cardtest[
] cardtest)
return cardtest;
}}
物件導向思想的簡單描述
1 什麼事物件導向 在很多參考書上都可以看到說 物件導向是要模擬人類的認知過程 這話說得比較泛,也抽象。在平時的教學過程中也有不少學生詢問到底什麼是物件導向,感覺在學校學了很多,但只記得一些概念,到底什麼是物件導向還是很混亂。還有一部分同學認為物件導向就是類,就是欄位或方法的封裝,其實不然,物件導向...
物件導向思想和面向過程思想簡單示例說明
面向過程式 使用資料結構的 便於在不改動既有資料結構的前提下新增新函式。物件導向 便於在不改動既有函式前提下新增新類。過程式 難以新增資料結構,因為必須修改所有函式。物件導向 難以新增新函式,因為必須修改所有類。這兩種定義的本質,他們是截然對立的,這說明了物件與資料結構之間的二分原理。1.面向過程的...
以最簡單的思想用javascript實現楊輝三角
基本思想 利用楊輝三角的基本性質之一,每個數字等於上一行的左右兩個數字之和。即第n 1行的第i個數等於第n行的第i 1個數和 第i個數之和,這也是組合數的性質之一。即 c n 1,i c n,i c n,i 1 為了使得函式能在後期的使用中更方便,使復用性更高,在pascal函式中實現將楊輝三角的資...