Подкд1очаем судью

h01371.jpg

— А можно ли по описанию переменной определить, указатель это или нет?

— Можно. В начале файла 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