Skip to content

Instantly share code, notes, and snippets.

@xjcl
Created October 18, 2015 09:25
Show Gist options
  • Save xjcl/40c5bbdbedaa5372aa35 to your computer and use it in GitHub Desktop.
Save xjcl/40c5bbdbedaa5372aa35 to your computer and use it in GitHub Desktop.
unit ujff2;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, FileUtil, LResources, Forms, Controls, Graphics, Dialogs,
ExtCtrls, Menus, Buttons, StdCtrls, IniFiles;
type
{ TForm1 }
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
Button3: TButton;
Button4: TButton;
Button5: TButton;
Button6: TButton;
Button7: TButton;
Button8: TButton;
Button9: TButton;
GroupBox1: TGroupBox;
Image1: TImage;
Image10: TImage;
Image11: TImage;
Image12: TImage;
Image13: TImage;
Image14: TImage;
Image15: TImage;
Image16: TImage;
Image17: TImage;
Image18: TImage;
Image19: TImage;
Image2: TImage;
Image20: TImage;
Image21: TImage;
Image22: TImage;
Image23: TImage;
Image24: TImage;
Image25: TImage;
Image26: TImage;
Image27: TImage;
Image28: TImage;
Image29: TImage;
Image3: TImage;
Image30: TImage;
Image31: TImage;
Image32: TImage;
Image33: TImage;
Image34: TImage;
Image35: TImage;
Image36: TImage;
Image37: TImage;
Image38: TImage;
Image39: TImage;
Image4: TImage;
Image40: TImage;
Image41: TImage;
Image42: TImage;
Image43: TImage;
Image44: TImage;
Image45: TImage;
Image46: TImage;
Image47: TImage;
Image48: TImage;
Image49: TImage;
Image5: TImage;
Image50: TImage;
Image51: TImage;
Image52: TImage;
Image53: TImage;
Image54: TImage;
Image6: TImage;
Image7: TImage;
Image8: TImage;
Image9: TImage;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
RadioButton1: TRadioButton;
RadioButton2: TRadioButton;
Timer1: TTimer;
Timer2: TTimer;
Timer3: TTimer;
Timer4: TTimer;
Timer5: TTimer;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure Button6Click(Sender: TObject);
procedure Button7Click(Sender: TObject);
procedure Button8Click(Sender: TObject);
procedure Button9Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure RadioButton1Click(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
procedure Timer2Timer(Sender: TObject);
procedure Timer3Timer(Sender: TObject);
procedure Timer4Timer(Sender: TObject);
procedure Timer5Timer(Sender: TObject);
private
{ private declarations }
public
{ public declarations }
end;
var
Form1: TForm1;
Punkte: integer;
Rekord: integer;
RekordL: integer;
RekordN: integer;
RekordS: integer;
RekordB: integer;
RekordSB: integer;
Jumped: Boolean;
implementation
{ TForm1 }
procedure TForm1.Button1Click(Sender: TObject);
begin
Timer1.enabled := true;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
Timer3.enabled := true;
Button3.enabled := false;
Button4.enabled := false;
Button5.enabled := false;
Button6.enabled := false;
Button9.enabled := false;
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
Timer2.interval := 200;
Timer1.interval := 200;
Timer3.interval := 200;
Timer5.interval := 1600;
Rekord := RekordL;
end;
procedure TForm1.Button4Click(Sender: TObject);
begin
Timer2.interval := 100;
Timer1.interval := 100;
Timer3.interval := 200;
Timer5.interval := 800;
Rekord := RekordN;
end;
procedure TForm1.Button5Click(Sender: TObject);
begin
Timer2.interval := 50;
Timer1.interval := 50;
Timer3.interval := 200;
Timer5.interval := 400;
Rekord := RekordS;
end;
procedure TForm1.Button6Click(Sender: TObject);
begin
Timer2.interval := 25;
Timer1.interval := 25;
Timer3.interval := 200;
Timer5.interval := 200;
Rekord := RekordB;
end;
procedure TForm1.Button7Click(Sender: TObject);
begin
if RadioButton1.checked = true
then begin
Timer2.enabled := false;
Timer3.enabled := false;
Image11.visible := true;
Image12.visible := false;
Image13.visible := false;
Image14.visible := false;
Image15.visible := false;
Image16.visible := false;
Image17.visible := false;
Image18.visible := false;
Image19.visible := false;
Image20.visible := false;
Image21.visible := false;
Image22.visible := false;
Image23.visible := false;
Image24.visible := false;
Image25.visible := false;
Image26.visible := false;
Image27.visible := false;
Image28.visible := false;
Image29.visible := false;
Image30.visible := false;
Image31.visible := false;
Image32.visible := false;
Image33.visible := false;
Image34.visible := false;
Image35.visible := false;
Image36.visible := false;
Image37.visible := false;
Image38.visible := false;
Label2.caption := 'Sprünge: 0/10';
end
else begin
Timer2.enabled := false;
Timer3.enabled := false;
Image11.visible := true;
Image12.visible := false;
Image13.visible := false;
Image14.visible := false;
Image15.visible := false;
Image16.visible := false;
Image17.visible := false;
Image18.visible := false;
Image19.visible := false;
Image20.visible := false;
Image21.visible := false;
Image22.visible := false;
Image23.visible := false;
Image24.visible := false;
Image25.visible := false;
Image26.visible := false;
Image27.visible := false;
Image28.visible := false;
Image29.visible := false;
Image30.visible := false;
Image31.visible := false;
Image32.visible := false;
Image33.visible := false;
Image34.visible := false;
Image35.visible := false;
Image36.visible := false;
Image37.visible := false;
Image38.visible := false;
Label2.caption := 'Sprünge: 0';
Punkte := 0;
end
end;
procedure TForm1.Button8Click(Sender: TObject);
begin
if RadioButton1.checked = true
then begin
Image1.Visible := true;
Image11.Visible := true;
Button1.Visible := true;
Button2.Visible := true;
Button3.Visible := true;
Button4.Visible := true;
Button5.Visible := true;
Button6.Visible := true;
Button7.Visible := true;
Button8.Visible := false;
Button9.Visible := true;
Label4.visible := false;
Label3.Visible := false;
Label2.Visible := true;
Label2.Caption := 'Sprünge: 0/10';
Label1.Visible := true;
Timer4.Enabled := true;
Timer5.Enabled := true;
Image53.Visible := false;
Image54.Visible := false;
end
else begin
Image1.Visible := true;
Image11.Visible := true;
Button1.Visible := true;
Button2.Visible := true;
Button3.Visible := true;
Button4.Visible := true;
Button5.Visible := true;
Button6.Visible := true;
Button7.Visible := true;
Button8.Visible := false;
Button9.Visible := true;
Label4.visible := false;
Label3.Visible := false;
Label2.Visible := true;
Label2.Caption := 'Sprünge: 0';
Punkte := 0;
Label1.Visible := true;
Timer4.Enabled := true;
Timer5.Enabled := true;
Image53.Visible := false;
Image54.Visible := false;
end;
Button3.enabled := true;
Button4.enabled := true;
Button5.enabled := true;
Button6.enabled := true;
Button9.enabled := true;
end;
procedure TForm1.Button9Click(Sender: TObject);
begin
Timer1.interval := 10;
Timer2.interval := 10;
Timer3.interval := 200;
Timer5.interval := 80;
Rekord := RekordSB;
end;
procedure TForm1.FormCreate(Sender: TObject);
var ini: TIniFile;
begin
ini := TIniFile.Create('JFRekord.ini');
try
RekordL := ini.ReadInteger('Endlos','Langsam',0);
RekordN := ini.ReadInteger('Endlos','Normal',0);
RekordS := ini.ReadInteger('Endlos','Schnell',0);
RekordB := ini.ReadInteger('Endlos','Blitz',0);
RekordSB := ini.ReadInteger('Endlos','Superblitz',0);
finally
ini.free;
end;
end;
procedure TForm1.RadioButton1Click(Sender: TObject);
begin
if sender = RadioButton1
then begin
Label2.caption := 'Sprünge: 0/10';
end
else begin
Label2.caption := 'Sprünge: 0';
Punkte := 0;
end
end;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
if Image1.Visible = true
then begin
Image1.Visible := false;
Image2.Visible := true;
end
else begin
if Image2.Visible = true
then begin
Image2.Visible := false;
Image3.Visible := true;
end
else begin
if Image3.Visible = true
then begin
Image3.Visible := false;
Image4.Visible := true;
end
else begin
if Image4.Visible = true
then begin
Image4.Visible := false;
Image5.Visible := true;
end
else begin
if Image5.Visible = true
then begin
Image5.Visible := false;
Image6.Visible := true;
end
else begin
if Image6.Visible = true
then begin
Image6.Visible := false;
Image7.Visible := true;
end
else begin
if Image7.Visible = true
then begin
Image7.Visible := false;
Image8.Visible := true;
end
else begin
if Image8.Visible = true
then begin
Image8.Visible := false;
Image9.Visible := true;
end
else begin
if Image9.Visible = true
then begin
Image9.Visible := false;
Image10.Visible := true;
end
else begin
if Image10.Visible = true
then begin
Image10.Visible := false;
Image39.Visible := true;
end
else begin
if Image39.Visible = true
then begin
Image39.Visible := false;
Image40.Visible := true;
end
else begin
if Image40.Visible = true
then begin
Image40.Visible := false;
Image41.Visible := true;
end
else begin
if Image41.Visible = true
then begin
Image41.Visible := false;
Image42.Visible := true;
end
else begin
if Image42.Visible = true
then begin
Image42.Visible := false;
Image43.Visible := true;
end
else begin
if Image43.Visible = true
then begin
Image43.Visible := false;
Image44.Visible := true;
end
else begin
if Image44.Visible = true
then begin
Image44.Visible := false;
Image45.Visible := true;
end
else begin
if Image45.Visible = true
then begin
Image45.Visible := false;
Image46.Visible := true;
end
else begin
if Image46.Visible = true
then begin
Image46.Visible := false;
Image47.Visible := true;
end
else begin
if Image47.Visible = true
then begin
Image47.Visible := false;
Image48.Visible := true;
end
else begin
if Image48.Visible = true
then begin
Image48.Visible := false;
Image49.Visible := true;
end
else begin
if Image49.Visible = true
then begin
Image49.Visible := false;
Image50.Visible := true;
end
else begin
if Image50.Visible = true
then begin
Image50.Visible := false;
Image51.Visible := true;
end
else begin
if Image51.Visible = true
then begin
Image51.Visible := false;
Image52.Visible := true;
end
else begin
Image52.Visible := false;
Image1.Visible := true;
Timer1.Enabled := false;
end
end
end
end
end
end
end
end
end
end
end
end
end
end
end
end
end
end
end
end
end
end
end
end;
procedure TForm1.Timer2Timer(Sender: TObject);
begin
if Image20.visible = true
then begin
Image20.visible := false;
Image11.visible := true;
Image13.visible := true;
Jumped := false;
end
else begin
if Image12.visible = true
then begin
Image12.visible := false;
Image13.visible := true;
end
else begin
if Image13.visible = true
then begin
Image13.visible := false;
Image14.visible := true;
end
else begin
if Image14.visible = true
then begin
Image14.visible := false;
Image15.visible := true;
end
else begin
if Image15.visible = true
then begin
Image15.visible := false;
Image16.visible := true;
end
else begin
if Image16.visible = true
then begin
Image16.visible := false;
Image17.visible := true;
end
else begin
if Image17.visible = true
then begin
Image17.visible := false;
Image18.visible := true;
end
else begin
if Image18.visible = true
then begin
Image18.visible := false;
Image19.visible := true;
end
else begin
if Image19.visible = true
then begin
Image19.visible := false;
Image21.visible := true;
end
else begin
if Image21.visible = true
then begin
Image21.visible := false;
Image22.visible := true;
end
else begin
if Image22.visible = true
then begin
Image22.visible := false;
Image23.visible := true;
end
else begin
if Image23.visible = true
then begin
Image23.visible := false;
Image24.visible := true;
end
else begin
if Image24.visible = true
then begin
Image24.visible := false;
Image25.visible := true;
end
else begin
if Image25.visible = true
then begin
Image25.visible := false;
Image26.visible := true;
end
else begin
if Image26.visible = true
then begin
Image26.visible := false;
Image27.visible := true;
end
else begin
if Image27.visible = true
then begin
Image27.visible := false;
Image28.visible := true;
end
else begin
if Image28.visible = true
then begin
Image28.visible := false;
Image29.visible := true;
end
else begin
if Image29.visible = true
then begin
Image29.visible := false;
Image30.visible := true;
end
else begin
if Image30.visible = true
then begin
Image30.visible := false;
Image31.visible := true;
end
else begin
if Image31.visible = true
then begin
Image31.visible := false;
Image32.visible := true;
end
else begin
if Image32.visible = true
then begin
Image32.visible := false;
Image33.visible := true;
end
else begin
if Image33.visible = true
then begin
Image33.visible := false;
Image34.visible := true;
end
else begin
if Image34.visible = true
then begin
Image34.visible := false;
Image35.visible := true;
end
else begin
if Image35.visible = true
then begin
Image35.visible := false;
Image36.visible := true;
end
else begin
if Image36.visible = true
then begin
Image36.visible := false;
Image37.visible := true;
end
else begin
if Image37.visible = true
then begin
Image37.visible := false;
Image38.visible := true;
end
else begin
Image38.visible := false;
Image11.visible := false;
Image20.visible := true;
Timer2.enabled := false;
Timer3.enabled := true;
end
end
end
end
end
end
end
end
end
end
end
end
end
end
end
end
end
end
end
end
end
end
end
end
end
end
end;
procedure TForm1.Timer3Timer(Sender: TObject);
begin
Timer2.enabled := true;
Timer3.enabled := false;
end;
procedure TForm1.Timer4Timer(Sender: TObject);
var ini: TIniFile;
begin
if (Image23.Visible = true) or(Image24.Visible = true) or(Image25.Visible = true) or(Image26.Visible = true) or (Image27.Visible = true) or (Image28.Visible = true) or (Image29.Visible = true) or (Image30.Visible = true)
then begin
if (Image1.Visible = true) or(Image2.Visible = true) or(Image3.Visible = true) or(Image4.Visible = true) or(Image5.Visible = true) or(Image6.Visible = true) or(Image7.Visible = true) or(Image47.Visible = true) or(Image48.Visible = true) or(Image49.Visible = true) or(Image50.Visible = true) or(Image51.Visible = true) or(Image52.Visible = true)
then begin
Timer1.Enabled := false;
Timer2.Enabled := false;
Timer3.Enabled := false;
Image1.Visible := false;
Image2.Visible := false;
Image3.Visible := false;
Image4.Visible := false;
Image5.Visible := false;
Image6.Visible := false;
Image7.Visible := false;
Image8.Visible := false;
Image9.Visible := false;
Image10.Visible := false;
Image11.Visible := false;
Image12.Visible := false;
Image13.Visible := false;
Image14.Visible := false;
Image15.Visible := false;
Image16.Visible := false;
Image17.Visible := false;
Image18.Visible := false;
Image19.Visible := false;
Image20.Visible := false;
Image21.Visible := false;
Image22.Visible := false;
Image23.Visible := false;
Image24.Visible := false;
Image25.Visible := false;
Image26.Visible := false;
Image27.Visible := false;
Image28.Visible := false;
Image29.Visible := false;
Image30.Visible := false;
Image31.Visible := false;
Image32.Visible := false;
Image33.Visible := false;
Image34.Visible := false;
Image35.Visible := false;
Image36.Visible := false;
Image37.Visible := false;
Image38.Visible := false;
Image39.Visible := false;
Image40.Visible := false;
Image41.Visible := false;
Image42.Visible := false;
Image43.Visible := false;
Image44.Visible := false;
Image45.Visible := false;
Image46.Visible := false;
Image47.Visible := false;
Image48.Visible := false;
Image49.Visible := false;
Image50.Visible := false;
Image51.Visible := false;
Image52.Visible := false;
Image53.Visible := true;
Button1.Visible := false;
Button2.Visible := false;
Button3.Visible := false;
Button4.Visible := false;
Button5.Visible := false;
Button6.Visible := false;
Button7.Visible := false;
Button8.Visible := true;
Button9.Visible := false;
Label3.Visible := true;
Label2.Visible := false;
Label1.Visible := false;
Button8.SetFocus;
if Punkte = Rekord
then begin
ShowMessage('Du hast genau so viele Punkte erzielt, wie dein Rekord ist: ' + IntToStr(Rekord) + '.');
end;
if Punkte > Rekord
then begin
ShowMessage('Glückwunsch! Du hast deinen alten Rekord von ' + IntToStr(Rekord) + ' Punkt/en mit ' + IntToStr (Punkte) + ' Punkt/en gebrochen!');
ini := TIniFile.create(ExtractFilePath(ParamStr(0)) + 'JFRekord.ini');
Rekord := Punkte;
if Timer1.interval = 200 then ini.WriteInteger('Endlos','Langsam',Rekord);
if Timer1.interval = 100 then ini.WriteInteger('Endlos','Normal',Rekord);
if Timer1.interval = 50 then ini.WriteInteger('Endlos','Schnell',Rekord);
if Timer1.interval = 25 then ini.WriteInteger('Endlos','Blitz',Rekord);
if Timer1.interval = 10 then ini.WriteInteger('Endlos','Superblitz',Rekord);
end;
if Punkte < Rekord
then begin
ShowMessage('Du hast deinen Rekord von ' + IntToStr(Rekord) + ' Punkt/en mit ' + IntToStr (Punkte) + ' Punkt/en nicht gebrochen');
end;
end
end
end;
procedure TForm1.Timer5Timer(Sender: TObject);
begin
if (Image23.Visible = true) or(Image24.Visible = true) or(Image25.Visible = true) or(Image26.Visible = true) or (Image27.Visible = true) or (Image28.Visible = true) or (Image29.Visible = true) or (Image30.Visible = true)
then begin
if (Image1.Visible = true) or(Image2.Visible = true) or(Image3.Visible = true) or(Image4.Visible = true) or(Image5.Visible = true) or(Image6.Visible = true) or(Image7.Visible = true) or(Image47.Visible = true) or(Image48.Visible = true) or(Image49.Visible = true) or(Image50.Visible = true) or(Image51.Visible = true) or(Image52.Visible = true)
then begin
//Todesfall
end
else begin
if (RadioButton2.checked = true) and (Jumped = false)
then begin
Punkte := Punkte + 1;
Label2.caption := 'Sprünge: ' + FloatToStr(Punkte) ;
Jumped := true;
end
else begin
if Jumped = false
then begin
Jumped := true;
if Label2.Caption = 'Sprünge: 0/10'
then begin
Label2.Caption := 'Sprünge: 1/10';
end
else begin
if Label2.Caption = 'Sprünge: 1/10'
then begin
Label2.Caption := 'Sprünge: 2/10'
end
else begin
if Label2.Caption = 'Sprünge: 2/10'
then begin
Label2.Caption := 'Sprünge: 3/10';
end
else begin
if Label2.Caption = 'Sprünge: 3/10'
then begin
Label2.Caption := 'Sprünge: 4/10';
end
else begin
if Label2.Caption = 'Sprünge: 4/10'
then begin
Label2.Caption := 'Sprünge: 5/10';
end
else begin
if Label2.Caption = 'Sprünge: 5/10'
then begin
Label2.Caption := 'Sprünge: 6/10';
end
else begin
if Label2.Caption = 'Sprünge: 6/10'
then begin
Label2.Caption := 'Sprünge: 7/10';
end
else begin
if Label2.Caption = 'Sprünge: 7/10'
then begin
Label2.Caption := 'Sprünge: 8/10';
end
else begin
if Label2.Caption = 'Sprünge: 8/10'
then begin
Label2.Caption := 'Sprünge: 9/10';
end
else begin
Label1.visible := false;
Label2.Caption := 'Sprünge: 10/10';
Label4.visible := true;
Timer1.enabled := false;
Timer2.enabled := false;
Timer3.enabled := false;
Button1.visible := false;
Button2.visible := false;
Button3.visible := false;
Button4.visible := false;
Button5.visible := false;
Button6.visible := false;
Button7.visible := false;
Button8.visible := true;
Button9.visible := false;
Image54.Visible := true;
Image1.Visible := false;
Image2.Visible := false;
Image3.Visible := false;
Image4.Visible := false;
Image5.Visible := false;
Image6.Visible := false;
Image7.Visible := false;
Image8.Visible := false;
Image9.Visible := false;
Image10.Visible := false;
Image11.Visible := false;
Image12.Visible := false;
Image13.Visible := false;
Image14.Visible := false;
Image15.Visible := false;
Image16.Visible := false;
Image17.Visible := false;
Image18.Visible := false;
Image19.Visible := false;
Image20.Visible := false;
Image21.Visible := false;
Image22.Visible := false;
Image23.Visible := false;
Image24.Visible := false;
Image25.Visible := false;
Image26.Visible := false;
Image27.Visible := false;
Image28.Visible := false;
Image29.Visible := false;
Image30.Visible := false;
Image31.Visible := false;
Image32.Visible := false;
Image33.Visible := false;
Image34.Visible := false;
Image35.Visible := false;
Image36.Visible := false;
Image37.Visible := false;
Image38.Visible := false;
Image39.Visible := false;
Image40.Visible := false;
Image41.Visible := false;
Image42.Visible := false;
Image43.Visible := false;
Image44.Visible := false;
Image45.Visible := false;
Image46.Visible := false;
Image47.Visible := false;
Image48.Visible := false;
Image49.Visible := false;
Image50.Visible := false;
Image51.Visible := false;
Image52.Visible := false;
end
end
end
end
end
end
end
end
end
end;
end;
end;
end;
end;
initialization
{$I ujff2.lrs}
end.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment