I'm still getting some errors, here is the updated code and errors:
Code:
#ifndef GAME_H
#define GAME_H
#include "Dealer.h"
#include <vector>
#include "IO.H"
#include "Player.h"
class Game
{
public:
Game();
void play_game(void);
private:
int blackjack(int result) const;
int get_hand_value(const std::vector<Card> & hand) const;
int sum;
Player player;
Dealer dealer;
Deck deck;
text_menu tmenu;
IO io;
};
#endif
Code:
#include "stdafx.h"
#include <iostream>
#include "Game.h"
Game::Game();
void Game::play_game()
{
//shuffle the deck first
dealer.shuffle_deck(deck);
//draw cards for players
dealer.draw(deck, 1);
player.draw(deck, 2);
//initialize the gameloop
int gameloop = 1;
//initialize output
io.init_output(tmenu);
//start gameloop
while(gameloop != 0)
{
//update
io.update_output(2, dealer.hand->read_cards());
io.update_output(6, player.hand->read_cards());
//display
io.display_output();
gameloop = blackjack(io.get_input());
//clear
io.clear_screen();
}
}
int Game::blackjack(int result)
{
if (result == 1)
{
player.draw(deck, 1);
if (get_hand_value(player.hand->card_list) > 21)
{
return 0;
}
else { return 1; }
}
else if (result == 2)
{
if(get_hand_value(player.hand->card_list ) > get_hand_value(dealer.hand->card_list))
{
return 0;
}
else { return 0; }
}
else if (result == 3)
{
return 0;
}
return 1;
}
int Game::get_hand_value(vector<Card> & hand)
{
sum = 0;
for (unsigned int loop = 0; loop < hand.size(); loop++)
{
sum += hand[loop].read_numeric_data();
}
return sum;
}
Here are the errors:
Code:
------ Build started: Project: Blackjack, Configuration: Debug Win32 ------
Compiling...
stdafx.cpp
Compiling...
Blackjack.cpp
c:\documents and settings\jcoleman\desktop\blackjack\blackjack\io.h(53) : warning C4018: '<' : signed/unsigned mismatch
c:\documents and settings\jcoleman\desktop\blackjack\blackjack\blackjack.cpp(9) : warning C4244: 'argument' : conversion from 'time_t' to 'unsigned int', possible loss of data
Game.cpp
c:\documents and settings\jcoleman\desktop\blackjack\blackjack\io.h(53) : warning C4018: '<' : signed/unsigned mismatch
c:\documents and settings\jcoleman\desktop\blackjack\blackjack\game.cpp(5) : error C2761: '{ctor}' : member function redeclaration not allowed
c:\documents and settings\jcoleman\desktop\blackjack\blackjack\game.cpp(33) : error C2511: 'int Game::blackjack(int)' : overloaded member function not found in 'Game'
c:\documents and settings\jcoleman\desktop\blackjack\blackjack\game.h(9) : see declaration of 'Game'
c:\documents and settings\jcoleman\desktop\blackjack\blackjack\game.cpp(59) : error C2511: 'int Game::get_hand_value(std::vector<_Ty> &)' : overloaded member function not found in 'Game'
with
[
_Ty=Card
]
c:\documents and settings\jcoleman\desktop\blackjack\blackjack\game.h(9) : see declaration of 'Game'
Generating Code...
Build log was saved at "file://c:\Documents and Settings\jcoleman\Desktop\Blackjack\Blackjack\Debug\BuildLog.htm"
Blackjack - 3 error(s), 3 warning(s)
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
Any ideas?