硅谷之路46:面向?qū)ο笤O(shè)計(jì)之21點(diǎn)撲克
時(shí)間:2022-08-24 06:15:01 | 來(lái)源:網(wǎng)站運(yùn)營(yíng)
時(shí)間:2022-08-24 06:15:01 來(lái)源:網(wǎng)站運(yùn)營(yíng)
查看完整視頻:http://www.bittiger.io/classes面向?qū)ο笤O(shè)計(jì)的本質(zhì)就是還原世界,我們看看21點(diǎn)的游戲世界是怎樣的:有玩家(Player),有莊家(Dealer),有撲克牌(Card),有牌盒(CardBox),還有游戲大廳(GameRoom)。
先看牌的部分:首先是一張牌(Card),這張牌要要有花色,數(shù)值(還可以保存一個(gè)name方便打?。?。注意觀察我們可以發(fā)現(xiàn),有的牌是正面朝上的(明牌),有的牌是正面朝下的(暗牌),所以我們還需要一個(gè)face變量來(lái)記錄。
有了一張牌我們就可以有一副牌(Deck)了,里面有一個(gè)List存儲(chǔ)54張Card。實(shí)際的游戲中往往不是一副牌,而是很多副牌,所以我們引入了牌盒(CardBox)。牌盒里可能有多副牌,并且可以加牌,洗牌,和最重要的出牌。
然后看人的部分:莊家和玩家有很多共通的部分,比如有名字、錢(qián)數(shù)、手牌等,都使用一些策略來(lái)做決定、算分、要牌、和亮牌。所以我們使用了一個(gè)基類Gamer,Player和Dealer都繼承自Gamer。玩家和莊家有不同的策略,所以有不同的Strategy。玩家可以有下注等屬性;莊家是游戲的控制者,管理牌盒,可以開(kāi)始和結(jié)束游戲等。
最后就是一個(gè)最容易被忽略的可是很重要的游戲大廳,有一個(gè)Dealer和很多玩家,玩家可以加入和離開(kāi)。
這樣一個(gè)看似復(fù)雜的21點(diǎn)游戲就設(shè)計(jì)好了,你學(xué)會(huì)了嗎?
本文整理作者:Mengying Tian,
查看完整視頻:http://www.bittiger.io/classes更多內(nèi)容,請(qǐng)?jiān)L問(wèn):BitTiger.io, 掃描下面二維碼,關(guān)注微信公眾賬號(hào)“論碼農(nóng)的自我修養(yǎng)”