Pascalda Yapılmış Bir Oyun

Evet, simdi, simdiye kadar yaptigimiz en iyi programi yapacagiz. Bir oyun yapacagiz. Bu oyunda bilgisayar ekranin rastgele biryerine * isareti koyacak. Biz de kolon numarasini ve satir numarasini (yani *'in kordinatlarini) tahmin etmeye çalisacagiz. Dogru kordinati bulana kadar oyun devam edecek. Bulunca da kaç tahminde buldugumuzu ekrana yazacak. Size bir ipucu: Kolon numarasi 2 ile 79 arasi, Satir numarasi 2 ile 20 arasi bir deger. Asagidaki programi yazip çalistirin. Iyi eglenceler:
Program Hedefi_bul;
Uses crt;
Label
tekrar_gir;
var
x,y:byte;
satir,sutun:byte;
a,ts:byte;
begin
{ekranda rastgele bir kordinat seçiliyor...}
randomize;
x:=random(78)+2;
y:=random(19)+2;
{..rastgele korditanlar Seçildi}
ts:=0; {Tahmin Sayisi}
tekrar_gir:
clrscr;
{Çerçeve çizlmeye basliyor...}
for a:=1 to 80 do begin
gotoxy(a,1);write('.');
gotoxy(a,21);write('.');
end;
for a:=1 to 21 do begin
gotoxy(1,a);write('.');
gotoxy(80,a);write('.');
end;
{...Çerçeve çizildi}
gotoxy(1,23);write('Tahmininizi Giriniz->');
gotoxy(30,23);write('Sutun No...:');
gotoxy(50,23);write('Satir No...:');
gotoxy(x,y);write('*');
gotoxy(43,23);readln(sutun);
gotoxy(63,23);readln(satir);
if (not (satir in [2..20])) or (not (sutun in [2..79])) then goto tekrar_gir;
ts:=ts+1; {Tahmin sayisi artiriliyor}
if (satir=y) and (sutun=x) then begin
gotoxy(30,12);write('Aferin Bildiniz!');
gotoxy(30,13);write('Tahmin Sayisi: ',ts);
end else begin
gotoxy(sutun,satir);write('X');
delay(1000);
gotoxy(sutun,satir);write(' ');
goto tekrar_gir;
end;
readln;
end. 

Programi çalistirdiginizda yanlis tahmin yapinca ekrana bir X koyar, biraz bekler ve geri sile bu X harfini. Eger bunu göremiyorsaniz ya da çok kisa süreli görebiliyorsaniz delay(1000); degerini artirin. Programda kullandigim ve simdiye kadar ögrenmedigimiz ikinci komut da randomize ve random. Diger bütün komutlari ve deyimleri biliyorsunuz. Bu programi iyi inceleyin. Çünkü benim Pascal ögrenmek istememdeki ilk vesile bu program olmustu. Döngülerle ilgili olarak da ekrana nasil noktalar ile çerçeve çizdigimize bakin. Programi belki daha güzel yapabilirdik ama elimden geldigince bilmedigimiz komutlari kullanmamaya çalistim.

Hiç yorum yok:

Yorum Gönder