gpt4 book ai didi

c++ - 创建一副纸牌

转载 作者:太空宇宙 更新时间:2023-11-04 13:28:31 36 4
gpt4 key购买 nike

好的,首先我已经查看了关于创建一副纸牌的各种问题,但我看到的每一个问题都在使用 vector 的东西,我不确定如何写它,因为我没有在类里面学习了该主题,所以我不知道如何应用它。

Card.HCard.cpp 都可以,不需要改动任何东西

我需要 Deck.HDeck.cpp 方面的帮助。

我的 initialize() 函数没有完成,我似乎不知道如何完成它和 Deck 类中的其他方法我没有尝试编写任何一个,因为我无法生成一副纸牌。

CARD.H

Class Card
{

int m_face;
char m_suit;


public:

Card(int _face = 2 , char _suit = 3);

~Card();

int GetFace() const;
char GetSuit() const;

void SetFace(int _face);
void SetSuit(char _suit);

void Show() const;
}

CARD.CPP

#include "Card.h"
Card::Card(int _face, char _suit)
{

m_face = _face;
m_suit = _suit;
}

Card::~Card()
{

}
int Card ::GetFace() const
{
return m_face;
}

char Card ::GetSuit() const
{
return m_suit;
}

void Card::SetFace(int _face)
{
m_face = _face;
}

void Card::SetSuit(char _suit)
{
m_suit = _suit;
}

void Card::Show() const
{
if (m_face == 11)
cout << " J " << m_suit << endl;
else if (m_face == 12)
cout << " Q " << m_suit << endl;
else if (m_face == 13)
cout << " K " << m_suit << endl;
else if (m_face == 14)
cout << " A " << m_suit << endl;
else
cout << m_face << m_suit << endl;
}

DECK.H

#pragma once
#include "stdafx.h"
#include "Card.h"

Class Deck
{
Card m_cards[52];

public:

Deck();
void Initialize();
void Shuffle();
bool Draw(Card& _card);
void Clear();
bool IsEmpty() const;
}

DECK.CPP

#include "Deck.h"
#include"Card.h"

void Deck::Initialize()
{
int count = 0;
char Suits[] = { 3, 4, 5, 6 };

for (int i = 0; i < 4; ++i) //Suits
{

for (int F = 2; F < 14; ++F) //faces
{
m_cards[count].SetSuit(Suits[i]);
m_cards[count].SetFace(F);

}
}

}

void Deck::Shuffle()
{
}
bool Deck::Draw(Card& _card
{
}
void Deck::Clear()
{
}
bool Deck::IsEmpty() const
{
}

最佳答案

我认为您的 Initialize 函数不需要更多工作。

只有2条备注:

  1. 您忘记了 ++count在内部 for 循环的末尾(现在您每次都设置同一张卡片)。
  2. 当您编写内部 for 循环时,F变量最多只能达到 13(因为您使用了 < 14 )。这意味着你的套牌不会包含任何 A ......对我来说最合乎逻辑的事情是使用 <= 14相反。

关于c++ - 创建一副纸牌,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32465964/

36 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com