DECLARE FUNCTION SimOuNao%(n$) DECLARE FUNCTION Input2$() DEFINT A-Z TYPE Pfld Pergunta AS STRING*40 Sim AS INTEGER Nao AS INTEGER END TYPE DIM Reg AS Pfld VIEW ?1 TO 25 DO CLS ?"Jogo Heuristico 1.0 ? ?"1) Criar arquivo ?"2) Abrir arquivo & jogar ?"0) Sair SELECT CASE VAL(INPUT$(1)) CASE 0:EXIT DO CASE 1 ? INPUT "Arquivo (.JH) :",arq$ arq$=arq$+".JH OPEN arq$ FOR RANDOM AS #1 LEN=44 ?"Digite pergunta inicial : Reg.Pergunta=Input2$ Reg.Sim=2 Reg.Nao=3 PUT #1,1,Reg Reg.Sim=0:Reg.Nao=0 ?"Resposta afirmativa : Reg.Pergunta=Input2$ PUT #1,2,Reg ?"Resposta negativa : Reg.Pergunta=Input2$ PUT #1,3,Reg CLOSE #1 CASE 2 ?"Lista De Arquivos : SHELL "Dir *.JH /b ? INPUT "Arquivo (.JH) :",arq$ OPEN arq$+".JH" FOR RANDOM AS #1 LEN=44 max=0 FOR i=1 TO LOF(1)\44 GET #1,i,Reg IF Reg.Sim=0 AND Reg.Nao=0 THEN max=max+1 NEXT DO IF NOT SimOuNao("Quer jogar")THEN EXIT DO idx=1 DO GET #1,idx,Reg IF Reg.Sim=0 AND Reg.Nao=0 THEN IF SimOuNao(" "+RTRIM$(Reg.Pergunta))THEN ?"Acertei !!! ? ELSE ?"Desisto. O que era ? r$=Input2$ ?"Crie uma pergunta que fa‡a a distin‡„o entre ";RTRIM$(Reg.Pergunta);" e ";RTRIM$(r$) p$=Input2$ k=-SimOuNao("Qual a resposta para "+RTRIM$(r$)) SWAP Reg.Pergunta,p$ max=max+1 x=LOF(1)\44+1 Reg.Sim=x Reg.Nao=x+1 PUT #1,idx,Reg Reg.Pergunta=r$ Reg.Sim=0:Reg.Nao=0 PUT #1,x+1-k,Reg Reg.Pergunta=p$ PUT #1,x+k,Reg ?"Agora eu tenho";max;"respostas ? END IF EXIT DO ELSE IF SimOuNao(RTRIM$(Reg.Pergunta))THEN idx=Reg.Sim ELSE idx=Reg.Nao END IF LOOP LOOP CLOSE #1 END SELECT LOOP CLS SYSTEM FUNCTION Input2$ l=CSRLIN:c=POS(0) k$=" t$=" ƒ„…‚ˆ‰Š‘Œ‹’“”•£–—‡‡‡‡ DO LOCATE l,c:?k$;"_ "; a$=INPUT$(1) LOCATE l,c:?k$;" "; SELECT CASE a$ CASE CHR$(13),"":EXIT DO CASE "'","^","~","` b$=INPUT$(1) n=INSTR("'^~`",a$) m=INSTR("aeiouc",b$) IF m=0 THEN k$=k$+a$+b$ ELSE k$=k$+MID$(t$,4*m+n-4,1) END IF CASE " SELECT CASE LEN(k$) CASE 0:BEEP CASE 1:k$=" CASE ELSE:k$=LEFT$(k$,LEN(k$)-1) END SELECT CASE ELSE k$=k$+a$ END SELECT IF LEN(k$)>=40 THEN EXIT DO LOOP Input2$=k$:?:EXIT FUNCTION END FUNCTION FUNCTION SimOuNao(n$) ?n$;" ? ?">"; DO:a$=UCASE$(INPUT$(1)):LOOP UNTIL a$="S" OR a$="N IF a$="S" THEN ?"Sim" ELSE ?"Nao SimOuNao=(a$="S") END FUNCTION