Merhaba, bugün sizlerle Delphi diliyle yazılmış bir sayı tahmin oyununu paylaşıyorum. Delphi pascal dilinin nesne tabanlı programlama diline dönüşmüş hali denebilir. Günümüzde en büyük rakibi olarak görülen c# dili kadar popüler olmasa da Sykpe, Navicat, Xampp gibi popüler uygulamalar Delphi dile ile yazılmıştır. C# ile kıyaslandığında öne çıkan en büyük özelliği derleme hızının çok yüksek olmasıdır. Delphi ile ilgili Türkçe kaynağın diğer dillere kıyasla düşük olduğu aşikar. Bu nedenle bu yazının ilgilenen kişilere faydalı olacağını düşünmekteyim.
Uygulama Yapısı
Uygulamanın arka planında belirlenen sayılar arasından rastgele bir sayı tutuluyor. Kullanıcının hedefi verilen haklar içerisinde bu sayıyı tahmin etmek. Yapılan tahminlerden sonra kullanıcıya sayının tahmin edilen sayıdan küçük veya büyük olduğunu bildiren mesaj kutuları ekrana geliyor. Sizler çeşitli modifikasyonlarla bu yapıyı dilediğiniz gibi değiştirebilirsiniz.
|
Örnek Tasarım |
|
Yapılan Tahmin Sonrası Bilgilendirme |
Kodlar
unit Sayitahmin;
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Math, Vcl.Menus;
type
TForm2 = class(TForm)
Edit1: TEdit;
Button1: TButton;
Button2: TButton;
Label1: TLabel;
Label2: TLabel;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form2: TForm2;
tut: Integer;
hak:Integer;
implementation
{$R *.dfm}
procedure TForm2.Button1Click(Sender: TObject);
begin
tut := Random(1024)+1;
hak:=10;
Label1.Caption:='Kalan Hak: '+IntToStr(hak);
ShowMessage('1 ile 1024 arasında sayı giriniz.');
end;
procedure TForm2.Button2Click(Sender: TObject);
var
tahmin: Integer;
begin
tahmin:=StrToInt(Edit1.Text);
if tahmin=tut then
begin
ShowMessage('Tebrikler ' + IntToStr(hak)+'. hakkınız varken bildiniz.');
Label1.Caption:='Kalan hak: 10';
end
else if tahmintut then begin
Dec(hak);
ShowMessage ('Küçük Sayı Giriniz');
Label1.Caption:='Kalan Hak: '+IntToStr(hak);
end;
if hak=0 then
begin
ShowMessage('Tüm Haklarınız Bitti, Kaybettiniz.
Doğru sayi: '+ IntToStr(tut)) ;
end;
if hak=1 then
begin
ShowMessage('Son Hakkın İyi Tahmin et!');
end;
edit1.Text:='';
edit1.SetFocus;
end;
procedure TForm2.FormCreate(Sender: TObject);
begin
Label1.Caption:='Kalan Hak: ' + IntToStr(hak);
end;
end.
harika bir oyun sistemi :) teşekkürler
YanıtlaSilCan sıkıntısına iyi geldi valla.
YanıtlaSil+1
SilKeşke ben de bilseydim şu yazılım dillerinden birini. :(
YanıtlaSilBu yorum bir blog yöneticisi tarafından silindi.
Sil