AKILLI PROGRAM

REM ** 
REM **    DUSUNEN PROGRAM DEMONSTRASYONU 
REM **
GOSUB HAZIRLIK1 
VVHILE 1 
GOSUB HAZIRLIK2 
GOSUB OYUNCU 
GOSUB COMPUTER 
GOSUB ELVEDA 
WEND
END
REM************************************************* 
REM**       ONHA2IRLIK VE ÖĞRENİM          ** 
REM ************************************************
REM ARRAY N(127) : REM PROGRAMIN BELLEĞİNİN BULUNDUĞU DİZİDİR 
REM SEQ(99) : REM RASTLANTISAL SAYILARIN TUTULDUĞU YER
HAZIRLIK1:
CLS 
LOCATE : 
PRINT "LÜTFEN BEKLEYİNİZ . ÖĞRENİYORUM II!" 
DEFINT A-Z 
DIM N(127).SEQ(99) 
TUR=0
FARKOYUNCU=0 
FARKBILGISAYAR = 0 
RANDOMIZE TIMER 
DEF FNRAN=(RND*127) AND &H7F
REM ÖĞRENME BOLUMU
FOR RANNOW=0 TO 12 
FOR 1=1 TO 50 
RANNEXT=FNRAN 
IF RANNEXT>RANNOWTHEN FARK=1 
IF RANNEXT<RANNOW THEN FARK=-1 
IF RANNEXT=RANNOWTHEN FARK=0 
N(RANNOW)=N(RANNOW)+FARK 
NEXT I
NEXT RANNOW 
CLS
RETURN 
REM ************************************************************** 
REM ** HAZIRLIK : HER SEFERİNDE BAŞKA SAYI SEC ** 
REM  *************************************************************
HAZIRLIK2:
PUANOYUNCU=0 
PUANBILGISAYAR=0
FOR l=0 TO 99 
SEQ(I)=FNRAN 
NEXT I
RETURN
REM ** OYUNCUNUN  HAREKETLERİNİN İZLENMESİ **
OYUNCU:
WHILE (TUR<1) OR (TUR>40)
INPUT "TUR ADEDİ : (EN FAZLA 40) ",TUR 
WEND
PRINT: PRINT 
RANNOW=SEQ(0)
FOR I=1 TO TUR 
PRINT "SU ANKİ SAYI : ";RANNOW 
INPUT "BİR SONRAKİ SAYI [Y]UKSEK MI [A]LCAK MI OLACAK ? ",N$ 
IF N$="Y" OR N$="y" THEN FARKOYUNCU=1 ELSE FARKOYUNCU=-1 
RANNEXT=SEQ(I) 
IF RANNEXT>RANNOW THEN FARK=1 
IF RANNEXT<RANNOW THEN FARK=-1 
IF RANNEXT=RANNOW THEN FARK=0 
PRINT "BİR SONRAKİ SAYI ";RANNEXT;" İDİ." 
IF FARK=FARKOYUNCU THEN PUANOYUNCU=PUANOYUNCU+1 : PRINT "İyi' 
ELSE PRINT "Hay allah !" 
RANNOW=RANNEXT 
PRINT 
NEXT I
SONUCOYUNCU=INT((PUANOYUNCU/TUR)M00) 
PRINT "PUANINIZ ";SONUCOYUNCU
RETURN
REM ********************************************** 
REM ***     BİLGİSAYARIN OYNAMASI      *** 
REM **********************************************
COMPUTER:
PRINT : PRINT "SİMDİ SIRA BENDE"
PRINT "TUR ADEDİ =";TUR 
RANNOW=SEQ(0)
FOR I=1 TOTUR 
PRINT "SU ANKİ SAYI : ";RANNOW 
PRINT "GELEBİLECEK BİR SONRAKİ SAYI : "; 
IF N(RANNOW)<1 THEN FARKBILGISAYAR=-1 :PRINT "ALÇAK" ELSE 
FARKBILGISAYAR=1 : PRINT "YÜKSEK" 
RANNEXT=SEQ(I) 
IF RANNEXT>RANNOW THEN FARK=1 
IF RANNEXT<RANNOW THEN FARK=-1 
IF RANNEXT=RANNOW THEN FARK=0 
PRINT "BİR SONRAKİ SAYI ";RANNEXT;" İDİ." 
I FARK=FARKBILGISAYARTHEN PUANBILGISAYAR=PUANBILGISAYAR+1 : 
PRINT "COK İYİ" ELSE PRINT "UZGUNUM" 
RANNOW=RANNEXT 
PRINT 
NEXTI
SONUCBILGISAYAR=INT((PUANBILGISAYAR/TUR)*100) 
PRINT "BENİM PUANIM :  ";SONUCBILGISAYAR
RETURN
ELVEDA:
PRINT "PUANINIZ : ";SONUCOYUNCU
IF SONUCBILGISAYAR=SONUCOYUNCU THEN PRINT "EŞİTİZ !" 
IF SONUCBILGISAYAR>SONUCOYUNCU THEN PRINT "BEN KAZANDIM" 
IF SONUCBILGISAYAR<SONUCOYUNCU THEN PRINT "SIZ KAZANDINIZ" 
PRINT : PRINT
RETURN