Подкд1очаем судью
— А можно ли по описанию переменной определить, указатель это или нет?
— Можно. В начале файла DiceUmt.cpp расположено описание переменной Formi -^ главного окна создаваемой программы. Переменная Formi имеет тип TFormI (класс формы), но после названия класса в описании Formi записана звездочка «*»:
TFormI *Forml;
Именно эта звездочка и указывает на то, что Formi — это не переменная типа TFormI, а указатель на область памяти, где хранится некий объект типа TFormI.
Например:
int 1; // переменная типа int
int * i; // переменная-указатель на данные типа int
TPlayer Computer; // переменная типа TPlayer *
TPlayer* Computer; // переменная-указатель на данные типа TPlayer
Функции тоже могут возвращать указатели и получать их в качестве параметров:
double * Compute( int * X );
В дальнейшем ситуации, когда надо использовать указатели, будут оговариваться особо.
С учетом вышесказанного запрограммируем работу компьютера по осуществлению своего хода:
// Ход компьютера void TReferee::ComputerMove()
{
// Пока на данном ходу не набрано никаких очков:
Computer.CurrentScores = 0;
// Если на кубике выпала не единица, то... if( Dice.GetDiceValueO != 1 )
// Запомнить очки текущего хода
Computer.CurrentScores = Dice.LastValue^
// Подсчитать очки:
Computer.Scores = Computer.Scores + Computer.CurrentScores;
137