Sayfayı Yazdır | Pencereyi Kapat

balon patlatma oynu

Nereden Yazdırıldığı: Clomosy | Forum
Kategori: Genel Programlama
Forum Adı: Genel İşlemler
Forum Tanımlaması: TRObject dili ile programlama yaparken karşılaşılan genel işlemler
URL: https://forum.clomosy.com.tr/forum_posts.asp?TID=1082
Tarih: 14 Temmuz 2025 Saat 04:30
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: 13 Temmuz 2025 Saat 12:50

var

  anaForm, oyunForm: TclForm;

  baslaBtn: TclProButton;

  baslikLbl, balonLbl: TclProLabel;

 

  skorLabel: TclProLabel;

  balonBtn: TclProButton;

  sureLabel: TclProLabel;

 

  skor, kalanSure: Integer;

  zamanlayici: TclTimer;

 

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;

 

procedure BalonaTikla;

var

  x, y: Integer;

begin

  if kalanSure > 0 then

  begin

    skor := skor + 1;

    skorLabel.Caption := 'Skor: ' + IntToStr(skor);

 

    x := Random(400);  // Genişlik sınırı

    y := Random(200);  // Yükseklik sınırı

    balonBtn.Left := x;

    balonBtn.Top := y;

  end;

end;

 

procedure BaslaTikla;

begin

  anaForm.Hide;

 

  oyunForm := TclForm.Create(nil);

  skor := 0;

  kalanSure := 30;

 

  skorLabel := oyunForm.AddNewProLabel(oyunForm, 'skorLabel', 'Skor: 0');

  skorLabel.Left := 200;

  skorLabel.Top := 20;

  skorLabel.Width := 200;

  skorLabel.Height := 30;

 

  sureLabel := oyunForm.AddNewProLabel(oyunForm, 'sureLabel', 'Süre: 30 sn');

  sureLabel.Left := 200;

  sureLabel.Top := 50;

  sureLabel.Width := 200;

  sureLabel.Height := 30;

 

  balonBtn := oyunForm.AddNewProButton(oyunForm, 'balonBtn', '🎈');

  balonBtn.Left := 220;

  balonBtn.Top := 100;

  balonBtn.Width := 60;

  balonBtn.Height := 60;

  balonBtn.OnClick := BalonaTikla;

 

  // Stil uygulama

  clComponent.SetupComponent(balonBtn, '{

    "BackColor": "#FFD700",

    "FontSize": 24,

    "FontColor": "#000000",

    "BorderRadius": 30,

    "BorderWidth": 2,

    "BorderColor": "#FF0000"

  }');

 

  // Zamanlayıcı başlat, anonim prosedürle bağla

  zamanlayici := oyunForm.AddNewTimer(oyunForm, 'zamanlayici', 1000);

  zamanlayici.OnTimer := procedure(Sender: TObject)

  begin

    kalanSure := kalanSure - 1;

    sureLabel.Caption := 'Süre: ' + IntToStr(kalanSure) + ' sn';

 

    if kalanSure <= 0 then

    begin

      zamanlayici.Enabled := False;

      balonBtn.Enabled := False;

      ShowMessage('Süre doldu! Toplam skor: ' + IntToStr(skor));

    end;

  end;

 

  oyunForm.Run;

end;

 

begin

  anaForm := TclForm.Create(nil);

 

  baslikLbl := anaForm.AddNewProLabel(anaForm, 'baslikLbl', '🎈 BALON PATLATMACA 🎈');

  baslikLbl.Left := 150;

  baslikLbl.Top := 50;

  baslikLbl.Width := 300;

  baslikLbl.Height := 40;

 

  balonLbl := anaForm.AddNewProLabel(anaForm, 'balonLbl', '💥🎈💥');

  balonLbl.Left := 200;

  balonLbl.Top := 100;

  balonLbl.Width := 200;

  balonLbl.Height := 30;

 

  baslaBtn := anaForm.AddNewProButton(anaForm, 'baslaBtn', 'BAŞLA');

  baslaBtn.Left := 220;

  baslaBtn.Top := 160;

  baslaBtn.Width := 120;

  baslaBtn.Height := 40;

  baslaBtn.OnClick := BaslaTikla;

 

  anaForm.Run;

end.

 

 

 Bu kodda ne eksik söyleye bilirmisiniz ya da fazla

 




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