<commit_before>/*************************************************************************
> File Name: Interface.h
> Project Name: Hearthstone++
> Author: <NAME>
> Purpose: Interface for Hearthstone Game Agent
> Created Time: 2017/10/24
> Copyright (c) 2017, <NAME>
*************************************************************************/
#ifndef HEARTHSTONEPP_INTERFACE_H
#define HEARTHSTONEPP_INTERFACE_H

#include <Agents/GameAgent.h>

#include <array>
#include <functional>
#include <iostream>
#include <map>

namespace Hearthstonepp
{
	class GameInterface
	{
	public:
		GameInterface(
			GameAgent& agent, 
			std::ostream& output = std::cout,
			std::istream& input = std::cin);

		GameResult StartGame();

	private:
		const unsigned int HANDLE_CONTINUE = 0;
		const unsigned int HANDLE_STOP = 1;

		GameAgent& m_agent;

		std::ostream& m_ostream;
		std::istream& m_istream;

		// temporal buffer
		BYTE* m_buffer;
		int m_bufferCapacity;

		// user id 
		std::string m_users[2];

		const int HandleMessage();
		std::ostream& LogWriter(std::string& name);

		template <std::size_t SIZE>
		void ShowMenus(std::array<std::string, SIZE> menus);
		void ShowCards(Card** cards, int size);

		void BriefGame();

		void OverDraw();
		void ExhaustDeck();
		void ModifiedMana();<commit_msg>Update Interface.h - Fix warning about data types<commit_after>/*************************************************************************
> File Name: Interface.h
> Project Name: Hearthstone++
> Author: <NAME>
> Purpose: Interface for Hearthstone Game Agent
> Created Time: 2017/10/24
> Copyright (c) 2017, <NAME>
*************************************************************************/
#ifndef HEARTHSTONEPP_INTERFACE_H
#define HEARTHSTONEPP_INTERFACE_H

#include <Agents/GameAgent.h>

#include <array>
#include <functional>
#include <iostream>
#include <map>

namespace Hearthstonepp
{
	class GameInterface
	{
	public:
		GameInterface(
			GameAgent& agent, 
			std::ostream& output = std::cout,
			std::istream& input = std::cin);

		GameResult StartGame();

	private:
		const unsigned int HANDLE_CONTINUE = 0;
		const unsigned int HANDLE_STOP = 1;

		GameAgent& m_agent;

		std::ostream& m_ostream;
		std::istream& m_istream;

		// temporal buffer
		BYTE* m_buffer;
		int m_bufferCapacity;

		// user id 
		std::string m_users[2];

		unsigned int HandleMessage();
		std::ostream& LogWriter(std::string& name);

		template <std::size_t SIZE>
		void ShowMenus(std::array<std::string, SIZE> menus);
		void ShowCards(Card** cards, int size);

		void BriefGame();

		void OverDraw();
		void ExhaustDeck();
		void ModifiedMana();
{'fraction_non_alphanumeric': 0.22086358425678257, 'fraction_numerical': 0.01146350783339702, 'mean_word_length': 5.385365853658537, 'pattern_counts': {'":': 0, '<': 21, '<?xml version=': 0, '>': 33, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1981349', 'n_tokens_mistral': 941, 'n_tokens_neox': 795, 'n_words': 215}