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

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





hen (P); ^. X: = x + dX * dL; P ^. Y: = y + dY * dL ;. Add (P); Cells [y, x]. Draught. Kind = kdSimple Then MoveOver: = True;// Якщо це проста шашка, то закінчимо хід

Else// Шашка не може ходити в цьому напрямку - закінчимо хід

MoveOver: = True;

End

Else Begin// Якщо в клітці стоїть шашка, то перевіримо її

If Cells [y + dY * dL, x + dX * dL]. Draught. Side <> Cells [y, x]. Draught. Side Then// Якщо це чужа шашка, то перевіримо на зруб

Inc (dL);// переступимо через шашку

If ((Cells [y + dY * dL, x + dX * dL]. CellType <> ctNone) And (Cells [y + dY * dL, x + dX * dL]. Draught = nil)) Then// Чи можна вставати на цю клітку

Begin// Рубка вдалася

// Запам'ятаємо зрубану шашку

New (P); ^. X: = x + dX * (dL-1); P ^. Y: = y + dY * (dL-1);. Add (P);

// Запишемо рубку (P); ^. X: = x + dX * dL; P ^. Y: = y + dY * dL;. Add (P);;;: = True; ;//Досягнуто бордюр - завершимо хід: = True; MoveOver;;; TChessBoard. FindStrikingDraughts (Side: Integer): TList;, y: Integer;, Strikes, Strickens: TList;: PCellPosition;: = TList. Create; y: = 1 To 8 Dox: = 1 To 8 DoGetDraught (x, y) <> nil ThenGetDraught (x, y). Side = Side Then (x, y, Moves, Strikes, Strickens); Strikes. Count> 0 Then (CP); ^. X: = x; CP ^. Y: = y;. Add (CP);; (Moves); (Strikes); (Strickens);;; TChessBoard. CountDraughts (Side: Integer): Integer;, y: Integer;: = 0; y: = 1 To 8 Dox: = 1 To 8 DoGetDraught (x, y) <> nil ThenGetDraught (x, y). Side = Side Then Inc (Result);; TChessBoard. AbleToMove (Side: Integer): Boolean;, y: Integer;, Strikes, Strickens: TList;: = False; y: = 1 To 8 Dox: = 1 To 8 DoGetDraught (x, y) <> nil ThenGetDraught ( x, y). Side = Side Then (x, y, Moves, Strikes, Strickens); ((Moves. Count> 0) Or (Strikes. Count> 0)) Then Result: = True; (Moves); (Strikes ); (Strickens); Result Then Exit;;;. VChessBoard;, Classes, ExtCtrls,; = Class (TImage) DrawDraught (x, y: Integer; Side: Integer; Kind: Integer); DrawMove (x, y: Integer ); DrawStrike (x, y: Integer);: TChessBoard; Create (AOwner: TComponent); Override; Destroy; Override; Repaint; Override; GetCellRectByNumber (x, y: Integer): TRect; GetCellNumberByCoord (xCoord, yCoord: Integer; Var x, y: Integer); DrawMoves (Const Moves, Strikes: TList); DrawMovesByNumber (x, y: Integer);;; TVisualChessBoard. Create (AOwner: TComponent); Create (AOwner);: = TChessBoard. Create;

// Repaint;; TVisualChessBoard. Destroy;. Free; Destroy;; TVisualChessBoard. Repaint;, y: Integer; Repaint;

{Намалюємо клітини}. Brush. Style: = bsSolid; y: = 1 To 8 Dox: = 1 To 8 Do ((Odd (x) And Odd (y)) Or (Not (Odd (x)) And Not (Odd (y)))) Then . Brush. Color: = clBlack. Brush. Color: = clWhite;. FillRect (GetCellRec...


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





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

  • Реферат на тему: Програмний комплекс для управління і формування керуючих команд мобільним р ...
  • Реферат на тему: Як враховувати рух грошей, якщо компанія розраховується через електронний г ...
  • Реферат на тему: Якщо лікарняний невірно розрахований
  • Реферат на тему: Якщо ремонт виявився модернізацією
  • Реферат на тему: Якщо ваш працівник затриманий чи засуджений