Sayfayı Yazdır | Pencereyi Kapat

balon patlatma oynu

Nereden Yazdırıldığı: Clomosy | Forum
Kategori: Form Oluşturma
Forum Adı: TclForm Oluşturma
Forum Tanımlaması: Standart bir form oluşturma
URL: https://forum.clomosy.com.tr/forum_posts.asp?TID=1139
Tarih: 27 Temmuz 2025 Saat 15:52
Program Versiyonu: Web Wiz Forums 12.07 - https://www.webwizforums.com


Konu: balon patlatma oynu
Mesajı Yazan: Hatice snk
Konu: balon patlatma oynu
Mesaj Tarihi: 27 Temmuz 2025 Saat 11:11
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.




Cevaplar:
Mesajı Yazan: Hatice snk
Mesaj Tarihi: 27 Temmuz 2025 Saat 11:14
:= düzelttim olmadı yine eksiklerim nedir



Sayfayı Yazdır | Pencereyi Kapat

Forum Software by Web Wiz Forums® version 12.07 - https://www.webwizforums.com
Copyright ©2001-2024 Web Wiz Ltd. - https://www.webwiz.net