黑杰克游戏与C++面向对象编程基础
1. 黑杰克游戏类与函数实现
1.1 游戏类相关函数
在黑杰克游戏中,有几个关键的函数用于管理游戏流程和牌组操作。
- Populate() :该函数用于创建一副标准的 52 张牌。它会遍历 Card::suit 和 Card::rank 的所有可能组合,并使用 static_cast 将循环变量转换为 Card 中定义的枚举类型。
- Shuffle() :此函数用于洗牌。它借助标准模板库中的 random_shuffle() 函数随机重新排列 m_Cards 中的指针,因此需要包含 <algorithm> 头文件。
- Deal() :该函数从牌组中发一张牌到玩家手中。它通过对象的 Add() 成员函数将 m_Cards 末尾指针的副本添加到对象中,然后移除 m_Cards 末尾的指针,实现牌的转移。 Deal() 接受一个 Hand 对象的引用,这意味着它可以同样适用于 Player 或 House 对象,并且通过多态性,它可以在不知道对象确切类型的情况下调用对象的 Add(
超级会员免费看
订阅专栏 解锁全文
1303

被折叠的 条评论
为什么被折叠?



