justify"> потрібно при ініцілізаціі нової гри}
dump (): boolean; i: integer;:=0; i:=N to M do [i]:=true; ;;
//алгоритм вибірки неповторюваних значень випадковим чином
choose (): integer; i: integer;:=0;:=random (M) + 1; sorseAr [result]=false do:=random (M) + 1; [result] :=false ;;
TForm1.CreatFishkas;
//НОВА ГРА, створення ігрового поля, ty, lx, ch: integer ;; ();
//But.Enabled:=false; BitBtn1.Enabled:=true; BitBtn2.Enabled:=true;:=POLET; lx:=POLEL; i:=N to M do begin
[i]:=Tfish.Create (Self); [i] .Width:=W; [i] .Height:=W; [i] .Font.Size:=34; [ i] .Font.Name:= Garamond Premr Pro raquo ;; [i] .Font.Style:=[fsBold];
:=choose ();// Отримуємо випадковим чином число 1-16, числа не повторюються
[i] .Left:=XYmatrix [ch, 1];// Отримуємо координату Х [i] .Top:=XYmatrix [ch, 2];// Отримуємо координату У [i] .Tag:=ch;// В Tag - поточне положення фішки [i] .Name:=prefix + inttostr (i);
i lt; gt; M then begin [i] .Caption:=inttostr (i); [i] .OnClick:=ButClicked; else begin//порожня кнопка [i] .Caption:= raquo ;;:=btn [i] .Left ; zeroY:=btn [i] .Top ;;
[i] .Parent:=Self;
;;
//визначає позицію на якій стоїть фішка в даний момент по її координатам
TForm1.position (const x, y: integer): integer; i: integer;:=0;:=- 32; i:=N to M do begin ((XYmatrix [i, 1 ]=x) and (XYmatrix [i, 2]=y)) then begin:=i; break ;;;;
//переміщення фішки на нову позицію
TForm1.ButClicked (Sender: TObject); X, Y, ps: integer;:=Tfish (Sender) .left; Y:=Tfish (Sender) .Top; ((X=zeroX + L) and (Y=zeroY)) or
((X=zeroX - L) and (Y=
)) or
((X=zeroX) and (Y=zeroY + L)) or
((X=zeroX) and (Y=zeroY - L)) then begin
(Sender) .Left:=zeroX; (Sender) .Top:=zeroY;
(FindComponent (prefix + inttostr (M))). left:=X; (FindComponent (prefix + inttostr (M))). top:=Y;
:=position (zeroX, zeroY); ps lt; gt;- 32 then (Sender) .Tag:=ps else ( Помилка в логіці програми, координати );
:=X; zeroY:=Y;
();// Перевірка - ПЕРЕМОГА або граємо далі ;;
//перевірка - ПЕРЕМОГА або граємо далі ...
TForm1.victopia; i: integer; b: boolean;:=true; i:=0; i:=N to M - 1 dostrtoint (Tfish (FindComponent (prefix + inttostr (i))). Caption) lt; gt; (FindComponent (prefix + inttostr (i))). Tag then:= false; break ;;; b then ShowMessage ( ПЕРЕМОГА! тадам))) Ваш час: + TimeToStr (Time-timtemp)) ;;
TForm1.KillOldFihkas;
//знищуємо кнопки-фішки, потрібно перед початком нової ігриi: integer; i:=N to M do
(btn [i]) ;; TForm1.N2Click (Sender: TObject) ;. Terminate () ;;
TForm1.tmr1Timer (Sender: TObject);
. Refresh; .Caption:=TimeToStr (Time-timtemp) ;;
end.