DECLARE SUB Frase(nF%) RANDOMIZE TIMER DEFINT A-Z CLS ?"WendelSoft Nimatron 1.0 ?"Um jogo de Nim contra o computador. 2 INPUT "Quantas linhas (2-18)";max IF max>18 OR max<2 THEN 2 DIM a(1 TO max) DIM b(1 TO max) FOR i=1 TO max ?"Quantos objetos na linha ";CHR$(64+i);" ? "; l=CSRLIN:c=POS(1) DO LOCATE l,c:INPUT "",k LOOP UNTIL k>0 AND k<32 a(i)=k NEXT ?"Quer jogar primeiro [s/n] ? "; DO j$=UCASE$(INPUT$(1)) LOOP UNTIL j$="S" OR j$="N ?j$ vez=j$="N DO CLS ?"Nimatron - Copyright 1999 (c) WendelSoft t=0 FOR i=1 TO max m=a(i) IF m>0 THEN ?CHR$(64+i);":"; ?USING "(##)";m; t=t+m ?string$(m,"þ") END IF NEXT IF t=0 THEN EXIT DO vez=NOT vez IF vez THEN LOCATE 20,1:?"Sua vez... ?"Que linha ? "; 1 a$=UCASE$(INPUT$(1)) IF a$="S" THEN EXIT DO IF a$<"A" OR a$>CHR$(64+max)THEN 1 k=ASC(a$)-64 IF a(k)=0 THEN 1 ?a$:?"Quantos objetos quer retirar ? "; c=POS(1):l=CSRLIN:n=0 WHILE n<1 OR n>a(k) LOCATE l,c:INPUT "",n WEND a(k)=a(k)-n ELSE LOCATE 20,1:?"Minha vez... "; IF ftr THEN ?:?"Eu cometi um erro na jogada anterior...":ftr=0 x=a(1) FOR i=2 TO max x=x XOR a(i) NEXT IF x THEN IF INT(RND*100)=99 THEN DO i=INT(RND*max)+1 z=a(i) LOOP UNTIL z n=INT(RND*z+1) ELSE j=0 FOR i=1 TO max el=a(i) n=el-(x XOR el) IF n>0 THEN j=j+1:b(j)=n*100+i NEXT j=INT(RND*j)+1:n=b(j)\100:i=b(j)MOD 100 END IF IF t-n=0 THEN DefPhr=2 ELSE t!=TIMER:DO:LOOP UNTIL TIMER-t!>2*RND+1 IF DefPhr=0 THEN DefPhr=INT(RND*4) Frase DefPhr DefPhr=0 ELSE ftr=(INT(RND*1000)=456) IF ftr THEN t!=TIMER:DO:LOOP UNTIL TIMER-t!>1 Frase INT(RND*4) ELSE ?"Essa ‚ dif¡cil... t!=TIMER:DO:LOOP UNTIL TIMER-t!>2+3*RND END IF DO i=INT(RND*max)+1 z=a(i) LOOP UNTIL z n=INT(RND*z+1) DefPhr=-1 IF ftr THEN ?"Eu "; ELSE ?"Acho que "; END IF END IF ?"vou tirar";n;" da linha ";CHR$(64+i);". a(i)=a(i)-n SLEEP 2 END IF BEEP LOOP IF t=0 THEN IF vez THEN LOCATE 20,1:?"Vocˆ ganhou, isso n„o vale... PLAY "MFo4L12bagfedc ELSE LOCATE 20,1:?"R  r  r ! Eu ganhei de vocˆ! PLAY "MFo4L12cdefgab END IF ?"Quer jogar de novo [s/n] ? "; DO j$=UCASE$(INPUT$(1)) LOOP UNTIL j$="S" OR j$="N ?j$ IF j$="S" THEN RUN END IF SYSTEM SUB Frase(nF) SELECT CASE nF CASE-1:?"Vocˆ perdeu a chance de me vencer. Agora "; CASE 0:?"F cil, "; CASE 1:?"J  sei! Eu "; CASE 2:?"Vocˆ est  perdido... Eu "; CASE 3:?"Bem, eu acho que "; END SELECT END SUB