Konu: Sayı Bulma Oyunu (Dosyalar kullanılarak) Kullanılabilecek Diller: C veya Pascal
Açıklamalar 1. Program kullanıcı girişi, kullanıcı kayıt, oyunun oynanması ve en yüksek puanları gösteren bölümlerden oluşacaktır. 2. Programda 3 adet dosya kullanılacaktır. • Kullanıcı bilgilerinin tutulduğu dosya (kullanıcı adı, şifre, ad, soyad, mail bilgilerini içerecek) • Puanların tutulduğu dosya (hangi kullanıcının kaç seferde sayıyı tahmin ettiği) • Tahmin edilecek sayının tutulduğu dosya 3.Program başladığında “Yeni kullanıcı kaydı, giriş ve en yüksek 5 puanın listelenmesi” bölümlerinden birisi seçilebilecek. 4.Yeni kullanıcı kaydında, kullanıcının adı,soyadı, maili, kullanıcıadı ve şifresi girilerek dosyaya kaydedilebilmeli. 5.En yüksek puanların listelenmesinde puanların tutulduğu dosya taranarak en yüksek 5 puan bulunup listelenebilmeli. 6.Giriş bölümünde kişi, kullanıcıadı ve şifresini kullanarak oyun oyna bölümüne giriş yapabilmeli. Eğer girilen şekilde bir kullanıcı yoksa oyun oynamaya izin vermemeli. 7. Oyunun oynanması şu şekilde olacaktır. Kullanıcı giriş yaptıktan sonra dosyada bulunan sayıyı tahmin etmeye çalışacaktır. Örnek: Dosyada tutulan sayının 2589 olduğunu varsayalım. 1. Tahmin : 2873 +1 -1 (Bu 2 sayının doğru tahmin edildiği birinin yerinin doğru diğerinin doğru yerde olmadığını ifade eder) 2. Tahmin : 3498 -2 3. Tahmin : 2681 +2 4. Tahmin : 2485 +2 -1 5.Tahmin : 2589 Tebrikler bildiniz. 8. Puanlamayı kullanıcının tahmin sayısına göre belirleyebilirsiniz.(Veya kendinize özgün başka bir şekilde hesaplayabilirsiniz) Kullanıcının kazandığı puan kullanıcı adıyla birlikte dosyaya (puanların tutulduğu dosyaya) kaydedilmelidir. 9. Programa yapacağınız kendinize özgü ilaveler olabilir. Ayrıca görsellik, programın kolay anlaşılır olması size ek puan getirir. 10. Rapor bölüm sayfasından ulaşabileceğiniz rapor esaslarına uygun olarak hazırlanmalıdır.
!!!!!!BEN BIRAZ URASTIM AMA HATALARIM VAR VE PASCAL BILGIM AZ OLDUGUNDAN ICINDEN CIKAMIYORUM!!! ODSYALAMADA SIRALI ERISISMLI DOSYA SISTEMINI SECTIM...FAKAT KAYIT YAPTIGIMDA ESKI KAYDI SILIYO.....AYRICA KULLANICI ADI VARSA TEKRAR GIRISI KABUL ETMEMELI!!!!!!!!!
[PROGRAM sayi_oyunu;
VAR
kadi,sifre:array[1..7] of string[7]; sayac,puan,i,j,a,b,bs,bn,ort,k,arti,eksi,tahs:integer;
c:='e'; bs:=1;bn:=1; while (c<>'h') do BEGIN ort:=trunc((bs+bn)/2); if (ka=kadi[ort]) then BEGIN if(si=sifre[ort])then BEGIN {2.GIRIS VE OYUNUN OYNANACAGI ALAN!!!!!!!} assign(ss,'sayimiz');rewrite(ss); {DEFAULT SAYIYI KAYDETME!!!} ks:='1111'; writeln(ss,ks); close(ss); sayac:=0; tahs:=0; gir:=false; i:=1; puan:=120; while (gir<>true)do BEGIN writeln(ka,' 4 BASAMAKLi SAYIYI TAHMiN ET BAKALIM:='); readln(gsayi); tahs:=tahs+1; sayac:=sayac+10; puan:=puan-sayac; assign(ss,'sayimiz');reset(ss); {DEFAULT SAYIYI CAGIRMA} readln(ss,ks); ksayi:=ks; writeln('kayitli sayimiz',ksayi); arti:=0; eksi:=0; for j:=1 to 4 do BEGIN
for k:=1 to 4 do begin if (ksayi[j]=gsayi[k])then begin
if (k=j) then begin arti:=arti+1; end else if (k<>j)then {!!!!!!!HATA!!!!!!!!EKSI FAZLA HESAPLANIYO!!!!!!}
eksi:=eksi-1;
end; end; END;
write('+',arti);writeln(' ',eksi); if (sayac>=100)then begin writeln('UZGUNUM HAKKINIZ BiTTI :(..... PUANINIZ:=0'); gir:=true; end; if (gsayi=ksayi) then begin writeln('**********************TEBRiKLER ',kad,' SAYIYI BULDUN**********************'); writeln('PUANINIZ:=',puan);