首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >纸牌游戏中的字符串解析

纸牌游戏中的字符串解析
EN

Stack Overflow用户
提问于 2013-09-14 21:26:22
回答 2查看 187关注 0票数 0

我在做一个纸牌游戏。我在将字符串解析为组件时遇到了困难,以便跟踪绘制的套装和值。

代码语言:javascript
运行
复制
const string rank[] = { "Ace", "2", "3", "4", "5", "6", "7",
                    "8", "9", "10", "Jack", "Queen", "King" };
const string suit[] = { "Clubs", "Diamonds", "Hearts", "Spades" };

string random_card(bool verbose=false) {
  string card;
  card = rank[ rand()%13 ];
  card += " of ";
  card += suit[ rand()%4 ];
  if (verbose)
    cout << card << "\n";
  return card;
}

如何将卡片分解成组件,以跟踪表中的套装和值?

编辑:我必须在这个任务中使用一个字符串。我不能改变卡片的生成方式。我必须将字符串解析为组件,并跟踪表中每一套的值,然后需要将其格式化并打印到stdout中。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-09-14 21:52:27

试着做这样的事情:

代码语言:javascript
运行
复制
string delimiter = " of ";
int delimiter_length = delimiter.size();

string card = "Ace of Clubs";
int del_begin = card.find_first_of(delimiter);
int del_end = del_begin + delimiter_length; 

string rank = card.substr(0, del_begin); 
string suit = card.substr(del_end, card.size() - del_end);
票数 0
EN

Stack Overflow用户

发布于 2013-09-14 21:29:35

不要使用字符串来表示卡片,只需定义一个简单的结构

代码语言:javascript
运行
复制
struct Card
{
    int suit;
    int rank;
};
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18806547

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档