var anaForm, oyunForm: TclForm; baslaBtn: TclProButton; baslikLbl, balonLbl: TclProLabel; skorLabel, sureLabel: TclProLabel; zamanlayici, animasyonTimer: TclTimer; balon1, balon2, balon3: TclProButton; skor, kalanSure: Integer;
// Sayıyı stringe çevir function IntToStr(i: Integer): string; var s: string; begin s := ''; if i = 0 then s := '0' else while i > 0 do begin s := Chr(48 + (i mod 10)) + s; i := i div 10; end; Result := s; end;
// BALON PATLATMA procedure BalonPatlat(Sender: TObject); begin skor := skor + 1; skorLabel.Caption := 'Skor: ' + IntToStr(skor); TclProButton(Sender).Visible := False; end;
// SÜRE AZALTMA procedure SureAzalt(Sender: TObject); begin kalanSure := kalanSure - 1; sureLabel.Caption := 'Süre: ' + IntToStr(kalanSure) + ' sn';
if kalanSure <= 0 then begin zamanlayici.Enabled := False; animasyonTimer.Enabled := False; ShowMessage('Süre doldu! Skorun: ' + IntToStr(skor)); oyunForm.Close; anaForm.Show; end; end;
// BALON ANİMASYONU procedure BalonlariHareketEttir(Sender: TObject); begin if balon1.Top > -60 then balon1.Top := balon1.Top - 5; if balon2.Top > -60 then balon2.Top := balon2.Top - 6; if balon3.Top > -60 then balon3.Top := balon3.Top - 4; end;
// BAŞLA TIKLA procedure BaslaTikla(Sender: TObject); begin anaForm.Hide;
oyunForm := TclForm.Create(self); skor := 0; kalanSure := 30;
// Skor etiketi skorLabel := oyunForm.AddNewProLabel(oyunForm, 'skorLabel', 'Skor: 0'); skorLabel.Left := 20; skorLabel.Top := 20; skorLabel.Width := 150; skorLabel.Height := 30;
// Süre etiketi sureLabel := oyunForm.AddNewProLabel(oyunForm, 'sureLabel', 'Süre: 30 sn'); sureLabel.Left := 200; sureLabel.Top := 20; sureLabel.Width := 150; sureLabel.Height := 30; // Balon 1 balon1 := oyunForm.AddNewProButton(oyunForm, 'balon1', '🎈'); balon1.Left := 50; balon1.Top := 400; balon1.Width := 60; balon1.Height := 60; balon1.Align := alNone; oyunForm.AddNewEvent(balon1, tbeOnClick, 'BalonPatlat');
// Balon 2 balon2 := oyunForm.AddNewProButton(oyunForm, 'balon2', '🎈'); balon2.Left := 150; balon2.Top := 400; balon2.Width := 60; balon2.Height := 60; balon2.Align := alNone; oyunForm.AddNewEvent(balon2, tbeOnClick, 'BalonPatlat');
// Balon 3 balon3 := oyunForm.AddNewProButton(oyunForm, 'balon3', '🎈'); balon3.Left := 250; balon3.Top := 400; balon3.Width := 60; balon3.Height := 60; balon3.Align := alNone; oyunForm.AddNewEvent(balon3, tbeOnClick, 'BalonPatlat');
// Süre timer'ı zamanlayici := oyunForm.AddNewTimer(oyunForm, 'zamanlayici', 1000); oyunForm.AddNewEvent(zamanlayici, tbeOnTimer, 'SureAzalt');
// Animasyon timer'ı animasyonTimer := oyunForm.AddNewTimer(oyunForm, 'animasyonTimer', 50); oyunForm.AddNewEvent(animasyonTimer, tbeOnTimer, 'BalonlariHareketEttir');
oyunForm.Run; end;
// ANA FORM begin anaForm := TclForm.Create(self);
baslikLbl := anaForm.AddNewProLabel(anaForm, 'baslikLbl', '🎈 BALON PATLATMACA 🎈'); baslikLbl.Left := 200; baslikLbl.Top := 100; baslikLbl.Width := 400; baslikLbl.Height := 50;
balonLbl := anaForm.AddNewProLabel(anaForm, 'balonLbl', 'Hazırsan başla!'); balonLbl.Left := 250; balonLbl.Top := 200; balonLbl.Width := 200; balonLbl.Height := 30;
baslaBtn := anaForm.AddNewProButton(anaForm, 'baslaBtn', 'BAŞLA'); baslaBtn.Left := 300; baslaBtn.Top := 250; baslaBtn.Width := 120; baslaBtn.Height := 40; anaForm.AddNewEvent(baslaBtn, tbeOnClick, 'BaslaTikla');
anaForm.Run; end.
balonlar üste üste, süre geriye dogru gitmiyor ve animasyon çalışmıyor.
|