新游戏,一张牌都没翻开
翻开了(本回合内)第一张牌,等待翻开第二张
翻开了(本回合内)第二张牌,等待判断是否相同于是我使用一个叫做 state 的变量,分别以 0, 1, 2 代表三种状态。在核心方法中利用 state 的值来决定接下来要做什么。
第六周:21点(Blackjack)

啊,21 点。我人生中接触的第一个扑克游戏。是的,在我会打「拖拉机」之前,7岁的我就在DOS下的初代大航海时代的酒馆里学会了 21 点。这是年幼的我在那个游戏里玩懂的唯一一个系统……
这是个赌博游戏。简单来说规则是:庄家给自己和玩家各发(deal)一张暗牌、一张明牌,玩家决定是否继续加牌(hit);玩家加牌结束(stand)后庄家自行加牌,接着双方摊牌。拥有最高点数的玩家获胜,其点数必须等于或低于21点。
在编写这个游戏的过程中第一次引入了类(class)概念。因为在游戏中许多物件都会重复出现,使用类可以很方便地重复制造它们:
每一张牌是 Class Card;方法 get_suit() 可以获取它的花色;
方法 get_rank() 可以获取它的数字;
还有一个方法来把它绘制出来。
手牌是 Class Hand;方法 add_card() 可以在手牌中增加一张牌;
方法 get_value() 可以算出手牌的分数。
特别声明:以上文章内容仅代表作者本人观点,不代表当乐观点或立场。如有关于作品内容、版权或其它问题请于作品发表后的30日内与当乐联系(copyright@downjoy.com)