Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Курсовые обзорные » Розробка програми-ігри "Шашки"

Реферат Розробка програми-ігри "Шашки"





;: = False;. Refresh; (Sender, Shift, X, Y);;// Хід зроблений - перемкнутися гравця;;

End

Else Begin// Є можливість рубки - обов'язково!

TryMakeStrike (xP, yP);; (Moves); (Strikes); (Strickens); Begin// Шашка не все ще обрана;; TfmCheckers. TrySelectNewDraught (x, y: Integer);, Strikes, Strickens: TList;: TList; vcbChess. Board. GetDraught (x, y) = nil Then Exit; vcbChess. Board. GetDraught (x, y). Side <> PlayerSide Then Exit;

// Перевіримо обов'язкові рубки

StrikingDraughts: = vcbChess. Board. FindStrikingDraughts (PlayerSide); StrikingDraughts. Count> 0 ThenCheckPosition (x, y, StrikingDraughts) <0 Then (StrikingDraughts);;;; (StrikingDraughts);. X: = x;. Y: = y;: = True;

// Отрісуем можливі ходи з урахуванням зобов'язалівки рубки

vcbChess. Board. FindMoves (x, y, Moves, Strikes, Strickens); Strikes. Count = 0 Then. DrawMoves (Moves, nil). DrawMoves (nil, Strikes); (Moves); (Strikes); (Strickens);; TfmCheckers. TryMakeStrike (x, y: Integer);, Strikes, Strickens: TList;: PCellPosition; Not (IsDraughtChosen) Then Exit;. Board. FindMoves (DraughtPosition.X, DraughtPosition.Y, Moves, Strikes, Strickens);

// Чи можлива рубка в дану клітинку

If CheckPosition (x, y, Strikes)> = 0 Then// Рубка вірна! // Рубаємо

// Визначимо зрубану шашку

CP: = Strickens. Items [CheckPosition (x, y, Strikes)];. Board. DeleteDraught (CP ^. X, CP ^. Y);

// перескакувати. Board. MoveDraught (DraughtPosition.X, DraughtPosition.Y, x, y);. X: = x; DraughtPosition.Y: = y; (Moves); (Strikes); (Strickens);

// Визначимо: чи можливо продовження рубки

vcbChess. Board. FindMoves (DraughtPosition.X, DraughtPosition.Y, Moves, Strikes, Strickens); Strikes. Count> 0 Then: = True;// Встановимо режим рубкіBegin: = False;;// Закінчена рубка - перемкнемо гравця

End;

ClearMoves (Moves); (Strikes); (Strickens);. Refresh;; StrikeMode Then: = False; (DraughtPosition.X, DraughtPosition.Y);;;; TfmCheckers. SwitchCurrentPlayer; CurrentPlayer = sdWhite Then CurrentPlayer: = sdBlack Else CurrentPlayer: = sdWhite; LocalGame Then PlayerSide: = CurrentPlayer; CurrentPlayer = sdWhite Then stCurrentPlayer. Caption: = 'Білі' Else stCurrentPlayer. Caption: = 'Чорні'; PlayerSide = CurrentPlayer Then. Enabled: = True; Begin. Enabled: = False;;; TfmCheckers. CheckForWin: Integer;: = -1;

// Перевіримо перемогу за срубамvcbChess. Board. CountDraughts (sdWhite) = 0 Then: = sdBlack;; vcbChess. Board. CountDraughts (sdBlack) = 0 Then: = sdWhite;;

// Перевіримо перемогу за блокуванням

If Not ...


Назад | сторінка 10 з 15 | Наступна сторінка





Схожі реферати:

  • Реферат на тему: Creation of control system by a personnel how to begin with a zero
  • Реферат на тему: Рубки лісу в насадженнях зеленої зони міста Сенно
  • Реферат на тему: Прикладне додаток &Розробка проекту для створення нового класу Auto і елеме ...
  • Реферат на тему: Особливість дізнання у справах, за якими обов'язково провадження попере ...
  • Реферат на тему: Обов'язкові складові моніторингу