物件導向思想用陣列完成簡單的鬥地主遊戲

2021-10-08 11:59:10 字數 2590 閱讀 3110

一、主要思想

要想完成鬥地主發牌我們主要需要完成以下幾個功能模組

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函式中實現將楊輝三角的資...