Описание класса Игрок надо продолжить в файле Game.h, вслед за описанием класса TDice:
class TPlayer
{
public:
int Scores, CurrentScores, WinNum;
};
Переменные Scores - суммарное количество очков,
CurrentScores- очки, набранные на текущем ходу
WinNum- число выигранных партий.
Эти переменные помещены в общую (public) часть описания класса так как размер создаваемой программы не велик, и специально ограничивать доступ к каким-то переменным нет необходимости.
7.5 Для иници ализации игры (задания начальных значений переменным) можно подготовить метод Init(), который будет вызываться при начале каждой новой партии. Правда, он не должен ничего возвращать, а просто выполнять исходную установку переменных. Для таких случаев в Си++ есть специальный тип void, который как раз и обозначает отсутствие возвращаемого значения. То есть при описании методов, которые используются не для вычисления значений, а для выполнения определенных действий, надо в качестве типа возвращаемого значения указывать ключевое слово void: void Init();
Метод lnit(), как и другие методы, которые будут вызываться из других классов, надо разместить в общей части описания TPlayer:
|
|
class TPIayer
{
public:
int Scores, CurrentScores, WinNum;
void Init();
};
Определение метода lnit() в файле Game.cpp запишется так:
//Инициализация внутренних переменных класса Игрок
void TPIayer::Init()
{
Scores = CurrentScores = 0;
}
Переменную WinNum не надо обнулять, потому что она должна накапливать результат о победных партиях на всем протяжении работы программы, и, значит, в нее надо записать начальное значение 0 только один раз и это должно быть в теле конструктора класса.