1 CLEAR DEFINT A-Z nc=17:nl=17 DIM h(1+nc,1+nl),m(3*nl*nc) CLS FOR A=1 TO nc:FOR b=1 TO nl:LOCATE 2+b,9+A:?"Û";:NEXT b,A c=1 l=1 DO LOCATE 2+l,9+c:?" ";:t!=TIMER:DO:LOOP UNTIL TIMER-t!>.1 IF h(c,l)=0 THEN LOCATE 2+l,9+c:?"Û"; ELSEIF h(c,l)=1 THEN LOCATE 2+l,9+c:?"ù"; END IF t!=TIMER:DO:LOOP UNTIL TIMER-t!>.1 A$=INKEY$ SELECT CASE A$ CASE "" CASE CHR$(0)+"H":l=l-1 CASE CHR$(0)+"P":l=l+1 CASE CHR$(0)+"K":c=c-1 CASE CHR$(0)+"M":c=c+1 CASE " ":h(c,l)=1-h(c,l) CASE CHR$(13):EXIT DO END SELECT IF l<1 THEN l=1 IF l>nl THEN l=nl IF c<1 THEN c=1 IF c>17 THEN c=17 LOOP LOCATE 21,1:?"Gera‡ao";1; g=1 DO i=0 FOR l=1 TO nl:FOR c=1 TO nc tt=0 FOR vc=c-1 TO c+1:FOR vl=l-1 TO l+1 p=h(vc,vl):IF vc=c AND vl=l THEN Z=p ELSE tt=tt+p NEXT vl,vc IF Z=0 THEN LOCATE 2+l,9+c:?"Û"; IF Z=0 AND tt=3 THEN LOCATE 2+l,9+c:?"ù";:i=i+3:m(i-2)=c:m(i-1)=l:m(i)=1 IF Z THEN LOCATE 2+l,9+c:?"ù"; IF Z AND(tt<2 OR tt>3)THEN LOCATE 2+l,9+c:?"Û";:i=i+3:m(i-2)=c:m(i-1)=l:m(i)=0 NEXT c,l IF i=0 THEN EXIT DO FOR A=1 TO i STEP 3:h(m(A),m(A+1))=m(A+2):NEXT g=g+1:LOCATE 21,1:?"Gera‡ao",g; LOOP UNTIL INKEY$="" IF i=0 THEN LOCATE 21,20:?"Forma estavel"; LOCATE 22,1:?"Repetir [S/N] ? "; DO:A$=UCASE$(INPUT$(1)):LOOP UNTIL A$="S" OR A$="N" ?A$; IF A$="S" GOTO 1 SYSTEM