首页 休闲单机 正文

二十一点单机游戏怎么玩?保姆级教程看这篇!

今天心血来潮,想搞个二十一点游戏玩玩,就自己动手做一个单机的版本。记录一下整个过程,也算是个小小的实践

准备工作

我得搞清楚这游戏到底咋玩的。上网查查规则,发现还挺简单的。就是玩家和庄家比谁手里的牌点数大,但是不能超过21点,超过就“爆”,直接输掉。J、Q、K都算10点,A比较特殊,可以算1点也可以算11点,看哪种情况对玩家有利。

二十一点单机游戏怎么玩?保姆级教程看这篇!

小编温馨提醒:本站只提供游戏介绍,下载游戏推荐89游戏,89游戏提供真人恋爱/绅士游戏/3A单机游戏大全,点我立即前往》》》绅士游戏下载专区

二十一点单机游戏怎么玩?保姆级教程看这篇!

规则弄明白,接下来就该想想怎么用程序来实现它。

开始动手

我先创建一个扑克牌的类,每张牌都有花色和点数。然后,我又创建一个玩家类和一个庄家类,他们都有各自的手牌,并且可以进行要牌、停牌等操作。

游戏开始时,先给玩家和庄家各发两张牌。玩家可以看到自己的两张牌和庄家的一张明牌。然后玩家可以选择继续要牌或者停牌。如果玩家的牌点数超过21点,就直接判输。

如果玩家选择停牌,就轮到庄家行动。庄家有个规则,就是手牌点数小于17点的时候必须继续要牌,大于等于17点的时候必须停牌。如果庄家的牌点数超过21点,庄家就输,玩家赢。

如果玩家和庄家都没有爆牌,那就比较双方的点数大小,点数大的一方获胜。如果点数相同,那就是平局。

二十一点单机游戏怎么玩?保姆级教程看这篇!

遇到的问题

在写的过程中,也遇到一些小问题。比如,一开始没考虑到A的特殊性,导致计算点数的时候出错。后来我加一个判断,如果手牌中有A,并且把A算作11点会导致总点数超过21点,那就把A算作1点。

还有一个问题是,一开始没想好怎么处理玩家和庄家轮流行动的逻辑。后来我用一个循环,在循环里判断当前是玩家行动还是庄家行动,然后执行相应的操作。

最终成果

经过一番努力,总算把这个单机版的二十一点游戏给做出来。虽然界面比较简陋,就是一些文字输出,但是基本的游戏逻辑都实现。玩几把,感觉还挺有意思的。

这回实践,也让我对面向对象编程有更深的理解。把扑克牌、玩家、庄家都抽象成一个个的类,然后通过类之间的交互来模拟整个游戏过程,这种感觉还是挺奇妙的。

二十一点单机游戏怎么玩?保姆级教程看这篇!

以后有时间,再把这个游戏完善一下,比如加个图形界面,或者弄个AI对手,让它更像一个真正的游戏。

相关推荐