我正在製作一個二十一點遊戲。我已經建立了一個牌組,我只需要現在執行遊戲。畫一張牌,然後叫它
所以我有一個名爲deck.cpp
的文件,其中包含甲板數組,以及一個存儲值和不存在的卡文件。在deck.cpp
文件我有以下功能,可以抽一張牌:
void Deck::draw(int v){
cout << deck[v].toString();
}
然後,在我的其他文件,其中我其實玩遊戲,我叫甲板類,且改組它,這也正常。
#include "Deck.hpp"
#include "PlayingCard.hpp"
#include <string>
using namespace std;
class Blackjack{
private:
//Must contain a private member variable of type Deck to use for the game
Deck a;
int playerScore;
int dealerScore;
bool playersTurn();
bool dealersTurn();
public:
//Must contain a public default constructor that shuffles the deck and initializes the player and dealer scores to 0
Blackjack();
void play();
};
現在我有麻煩搞清楚如何繪製兩張牌打印出來,並讓他們的總和:
#include "Blackjack.hpp"
#include "Deck.hpp"
#include <iostream>
#include <iomanip>
using namespace std;
//Defaults the program to run
Blackjack::Blackjack(){
a.shuffle();
playerScore = 0;
dealerScore = 0;
}
void Blackjack::play(){
}
我意識到有可能是這個問題,因爲當用戶決定擊中,我們可能不知道牌中有哪張牌。相信我認爲抽籤功能是錯誤的。
問題是我無法弄清楚如何從甲板上正確地繪製卡片(遞減頂部卡片)。那麼我該如何調整用戶核心呢?我有一個返回double的getValue()
函數。
你能否清楚地說明你到底想要什麼,問題是什麼。畫功能錯誤是相當模糊的。 – Incomputable
有一點要記住C++是有效使用標準庫及其容器是解決問題的關鍵。對於通用數組,std :: vector是個不錯的選擇。 – tadman
我們還沒有真正瞭解矢量,所以不知道我們是否可以使用它們。當然,他不會反對。問題是我無法弄清楚如何從甲板上正確地繪製卡牌(減少頂牌)。那麼我該如何調整用戶核心呢?我有一個返回double的getValue函數。 – John