: TObject); SpeedButton8Click (Sender: TObject); Timer1Timer (Sender: TObject); Pause1Click (Sender: TObject); SpeedButton3Click (Sender: TObject); Save1Click (Sender: TObject); SpeedButton2Click (Sender: TObject); Load1Click (Sender: TObject);
{Private declarations}
{Public declarations};= Amounts of steps: raquo ;;= Time: raquo ;;=record: string [16] ;: integer ;: integer ;;=record: string [10] ;: integer ;: integer ;: array [0.3,0.3] of boolean ;;=array [1.10] of TBestResult ;: TSav ;: string ;: file of TSav ;: TMainF;, fi, un, re, ka: array [0.3,0.3] of boolean;, aRow: integer;, moz, mog: boolean ;: Trect;, g, tep: integer;, nam: string ;: file of TBestforlevel ;: TBestForLevel ;: TBestForLevel ;, m, clok, rest: boolean;// For Pause: integer;, st: string ;: boolean;
{$ R *. DFM}
{запис кращого результату в файл}
procedure Perebor (n: string) ;, k, j: integer; (Fileb, Best. res ); (FileB); (FileB, g - 2); (FileB, BestForLevel ) ;:=BestForLevel; i:=10 downto 1 do beginstep lt;=BestForLevel [i]. Step then:=i; j:=k + 1 to 10 do begin [j]. Name:=Bfl [j - 1]. Name; [j]. Step:=Bfl [j - 1]. Step; [j]. Time:=Bfl [j - 1]. Time ;; j:=1 to k - 1 do begin [j]. Name:=Bfl [j]. Name; [j]. Step:=Bfl [j]. Step; [j]. Time:=Bfl [j]. Time ;; [k]. Name:=n; [k]. Step:=step; [k]. Time:=ctime; (FileB, g - 2); (FileB, BestForLevel) ;;; (FileB) ;;
{перевірка стану гри - т. е чи немає виграшу}
procedure Manipulate (x, y: integer) ;, j, kol: integer ;:=0; i:=0 to 3 do [x, i]:=not ar [x, i] ; i:=0 to 3 do [i, y]:=not ar [i, y]; [x, y]:=not ar [x, y]; i:=0 to 3 do beginj:=0 to 3 do begin [i, j]:=ar [i, j] ;;; i:=0 to 3 do beginj:=0 to 3 do beginnot ar [i, j] then kol:=kol + 1 ;;; kol=16 then beginstep=0 then exit ;:=false ;. DrawGrid1. Enabled:=false ;. StatusBar1. Panels [0]. Text:=st0 + 0 raquo ;;. StatusBar1. Panels [1]. text:=st1 + IntToStr (0); MessageDlg ( Congratulation !!! You finish the Game !!! Will you save your result? , mtCustom, [mbYes, mbNo], 0)=mrYes then. DrawGrid1. Repaint ;:=false; (Fileb, Best. Res ); (FileB); (FileB, g - 2); (FileB, BestForLevel); (FileB); step gt; BestForLevel [10]. Step then MessageDlg ( Sorry! But your result very small for saving! Raquo;, mtCustom, [mbYes], 0) begin ( Please. Raquo;, laquo ;. Input your Name !!! , nam) ; (nam) ;; begin
exit ;;;;
{створення нової гри; к - складність, вона виражається в тому скільки оперцій заплутування ігрового поля відбудеться при його створенні}
procedure NewGame (k: integer) ;, i, r, c: integer; MainF. SpeedButton8. ParentFont then begin:=true ;:=0 ;:=true ;:=00 ;:=false ;:=false ;. DrawGrid1. Enabled:=true ;. DrawGrid1. Color:=clBlue ;. DrawGrid1. Repaint ;. StatusBar1. Panels [0]. Text:=st0 + 0 raquo ;; i:=1 to 3 * k do:=random (3) ;:=random (3); (c, r) ;. DrawGrid1. Repaint ;; i:=0 to 3 doj:=0 to 3 do [i, j]:=ar [i, j] ;;
end ;;;
{вихід з програми}
procedure TMainF. Exit1Click (Sender: TObject) ;;;
{вихід з програми} TMainF. SpeedButton10Click (Sender: TObject);
begin ;;
{показує форму інформації про додатку}
procedure TMainF. About1Click (Sender: TObject) ;. Form2. ShowModal ;;
{показує форму інформації про додатку}
procedure TMainF. SpeedButton9Click (Sender: TObject) ;. Form2. ShowModal ;;
{показує форму правил гри} TMainFles1Click (Sender: TObject) ;. Form3. ShowModal ;;
{перерисовка клітини на ігровому полі}
procedure TMainF. DrawGrid1DrawCell (Sender: TObject; Col, Row: Integer ;: TRect; State: TGridDrawState); DrawGrid1. Canvas doar [col, row] then Brush. Color:=clTealBrush. Color:=clBlue; (Rect);
end ;;
{перерисовка клітини на ігровому полі по кліку на ній мишкою}
procedure TMainF. DrawGrid1MouseDown (Sender: TObject; Button: TMouseButton ;: TShiftState; X, Y: Integer) ;, b: integer;, j: integer ;:=true ;:=step + 1 ;:=step; (step: 3, ster ) ;. StatusBar1. Panels [0]. Text:=st0 + ster ;:=true ;:=false ;. MouseToCell (x, y, A, B); i:=0 to 3 do beginj:=0 to 3 do begin [i, j]:=ar [i, j] ;;; (A, B) ;. DrawGrid1. Repaint;
end;
{показивет форму з кращими результатами}
procedure TMainF. SpeedButton5Click (Sender: TObject) ;: integer; g=0 then g:=2; g=2 then Form4. Label1. Caption:= Easy raquo ;; g=3 then Form4. Label1. Caption:= Normal raquo ;;...