Проектирование и разработка программных продуктов на примере разработки игрового приложения «Reversi», страница 4

 ReBuildList();

 PaintBox1->Refresh();

 if (player)

  Label2->Caption=" Синий";

 else

  Label2->Caption="Красный";

   CheckGame();

 }

// функция получения информации о ходе № index

cTurn cReversi::GetTurn(int index)

{

 cTurn t;

 t.x=t.y=t.player=-1;

 if (index>numTurns||turn<0)

  return t;

 return turn[index];

}

// функция установки хода № index

void  cReversi::SetTurn(int index)

{

 if (index>numTurns||turn<0)

  return;

 NewGame();

 numTurns=index;

 for (int i=0; i<numTurns; i++)

  SetColor(turn[i]);

}


Тестирование

Игровое приложение «Reversi» успешно прошло тестирование на всех этапах, везде программа вывела ожидаемый результат.

С помощью истории ходов можно вернуться к любому ранее выполненному ходу двойным щелчком мыши по требуемому ходу.

Программа успешно сохраняет и загружает сохраненные игры

    

 


С помощью пункта меню «Фон..» можно выбрать одну из предложенных фонов игрового поля, или же выбрать произвольный фон с расширением *jpg, *jpeg, *bmp.

 

Если пользователь хочет переместить шарик, на клетку недоступную для перемещения, появляется предупреждение «Ход в эту клетку невозможен».

К концу игры может возникнуть такая ситуация, что один из игроков не может походить, тогда появляется сообщение «У игрока нет возможных ходов», и игрок пропускает свой ход.


Руководство пользователя

Игровое приложение «Reversi» рассчитано на одновременную игру двух пользователей.

Установка: скопируйте папку с программой в любое удобное для вас место.

Использование:

1)  запустите программу двойным щелчком мыши на файле Reversi.exe. По умолчанию откроется новая игра;

2)  вначале игры в центр доски выставляются 4 шарика: 2 синих на D5 и E4, 2 красных на D4 и E5;

3)  задача игрока: ставить свой шарик таким образом, чтобы между его новым шариком и тем, что был поставлена ранее, были шарики соперника. Например, при первом ходе красных такими ходами будут ходы на клетки D6, F4, C5 и E3.

После этого шарик соперника переворачивается и играет уже на противоположную сторону. Причём, шарики могут биться ни только по вертикали и горизонтали, но и по диагонали.
Если один из игроков не может сделать свой ход, то ход передаётся сопернику;

4)  игра прекращается, когда на доску выставлены все шарики или если ни один из игроков не может сделать ход. По окончании игры проводится подсчёт шариков и игрок, у которого на доске выставлено больше шариков, объявляется победителем. В случае равенства количества фишек засчитывается ничья.

Основы стратегии

1)  cсовершенно очевидно, что игроку необходимо прорваться на край доски, где его фишка может быть атакована только по горизонтали или по вертикали, фишка же, оказавшаяся в углу, становится вообще неуязвимой;

2)  позиция в реверси меняется очень быстро, и до заключительной стадии игры нет никакого смысла в захвате большого количества фишек. Один из основных показателей силы позиции — мобильность, то есть количество ходов, которые можно из неё сделать. При недостаточной мобильности игрок вынужден делать плохие ходы, поскольку хороших не остаётся. Поэтому игроки часто делают «минимальные» ходы, чтобы не потерять свою мобильность.

Спасибо за использование игры «Reversi». Приятного времяпровождения. =)