====== SAPIEN'S ====== {{:otros:Sapiens_p1.jpg?690|}} ===== Ficha ===== ^ Autor | José Calderón Navarrete | ^ Compatibilidad | Amstrad PCW 8256 / 8512 / 9512 | ^ Año | 1987 | ^ Género | Tablero | ^ Controles | Teclado | ^ Idioma | Español | ^ Estado | [[preservado|Preservado]] | ===== Capturas ===== {{:otros:Sapiens_screenshot01.png?220}} {{:otros:Sapiens_screenshot02.png?220}} {{:otros:Sapiens_screenshot03.png?220}} {{:otros:Sapiens_screenshot04.png?220}} ===== Descripción ===== SAPIENS es un juego cuya mecánica consiste en intentar acertar el máximo posible de preguntas en un tiempo determinado. El programa ya incluye un menú donde iremos añadiendo las preguntas y respuestas. Lo bueno de esto es que podremos usarlo inclusive para prepararnos alguna materia si estamos estudiando. El juego es parecido al trivial pursuit aunque en una versión más pobre. ===== Listado ===== * **__Listado - SAPIENS.BAS__** 0 OPTION RUN:PRINT CHR$(27);"2";CHR$(7);:DEFSTR h 1 hesc=CHR$(27) 2 hon=hesc+"p" 3 home=hesc+"E"+hesc+"H" 4 hoff=hesc+"q" 5 hsub.on=hesc+"r" 6 hsub.off=hesc+"u" 7 GOSUB 455 8 GOSUB 419 9 GOTO 18 10 REM *jose calderon navarrete* 11 DEFSTR h 12 hesc=CHR$(27) 13 hon=hesc+"p" 14 home=hesc+"E"+hesc+"H" 15 hoff=hesc+"q" 16 hsub.on=hesc+"r" 17 hsub.off=hesc+"u" 18 REM 19 REM 20 REM 21 REM 22 REM 23 REM 24 REM 25 REM 26 REM 27 OPTION BASE 1 28 DIM resp2$(4) 29 DIM posn(28,2) 30 FOR a=1 TO 8 31 posn(a,1)=5:posn(a,2)=1+((a-1)*5) 32 posn(23-a,1)=19:posn(23-a,2)=1+((a-1)*5) 33 NEXT 34 FOR a=9 TO 14 35 posn(a,1)=5+2*(a-8):posn(a,2)=36 36 posn(37-a,1)=5+2*(a-8):posn(37-a,2)=1 37 NEXT 38 DIM tema$(6) 39 FOR a=1 TO 6 40 READ tema$(a) 41 NEXT 42 DIM hdado(6) 43 DATA Ciencias,Geografia,Historia-Arte-Lit,Cine-Espect-Deportes 44 ' 45 hcursor.on=hesc+"e" 46 hcursor.off=hesc+"f" 47 hcab=SPACE$(33)+hsub.on+"S A P I E N ³ S"+hsub.off+STRING$(3,10)+CHR$(13) 48 hdel.line=hesc+"M" 49 hline.back=hesc+"I" 50 hor=CHR$(13) 51 htem=CHR$(134)+STRING$(15,138)+CHR$(142)+STRING$(14,138)+CHR$(140) 52 htem1=CHR$(133)+"Puntos: "+SPACE$(7)+CHR$(133)+"Tiempo: "+SPACE$(6)+CHR$(133) 53 htem2=CHR$(131)+STRING$(15,138)+CHR$(139)+STRING$(14,138)+CHR$(137) 54 hpant1=STRING$(4,138) 55 hpant2=hpant1+CHR$(141) 56 hpant3=CHR$(134)+hpant1+CHR$(142)+hpant1+CHR$(142)+hpant1+CHR$(142)+hpant1+CHR$(142)+hpant1+CHR$(142)+hpant1+CHR$(142)+hpant1+CHR$(142)+hpant1+CHR$(140) 57 hpant4=SPACE$(4) 58 hpant5=CHR$(133)+hpant4+CHR$(133)+hpant4+CHR$(133)+hpant4+CHR$(133)+hpant4+CHR$(133)+hpant4+CHR$(133)+hpant4+CHR$(133)+hpant4+CHR$(133)+hpant4+CHR$(133) 59 hpant6=CHR$(135)+hpant1+CHR$(143)+hpant1+CHR$(139)+hpant1+CHR$(139)+hpant1+CHR$(139)+hpant1+CHR$(139)+hpant1+CHR$(139)+hpant1+CHR$(143)+hpant1+CHR$(141) 60 DEF FN at$(x,y,t$)=hesc+"Y"+CHR$(x+32)+CHR$(y+32)+t$ 61 hpant7=CHR$(135)+hpant1+CHR$(143)+hpant1+CHR$(142)+hpant1+CHR$(142)+hpant1+CHR$(142)+hpant1+CHR$(142)+hpant1+CHR$(142)+hpant1+CHR$(143)+hpant1+CHR$(141) 62 hpant8=CHR$(131)+hpant1+CHR$(139)+hpant1+CHR$(139)+hpant1+CHR$(139)+hpant1+CHR$(139)+hpant1+CHR$(139)+hpant1+CHR$(139)+hpant1+CHR$(139)+hpant1+CHR$(137) 63 hos=CHR$(150)+STRING$(5,154)+CHR$(156) 64 hoi=CHR$(147)+STRING$(5,154)+CHR$(153) 65 hret=CHR$(10)+STRING$(7,8) 66 hdado(1)=hos+hret+CHR$(149)+" "+CHR$(149)+hret+CHR$(149)+" "+CHR$(128)+" "+CHR$(149)+hret+CHR$(149)+" "+CHR$(149)+hret+hoi 67 hdado(2)=hos+hret+CHR$(149)+CHR$(128)+" "+CHR$(149)+hret+CHR$(149)+" "+CHR$(149)+hret+CHR$(149)+" "+CHR$(128)+CHR$(149)+hret+hoi 68 hdado(3)=hos+hret+CHR$(149)+CHR$(128)+" "+CHR$(149)+hret+CHR$(149)+" "+CHR$(128)+" "+CHR$(149)+hret+CHR$(149)+" "+CHR$(128)+CHR$(149)+hret+hoi 69 hdado(4)=hos+hret+CHR$(149)+CHR$(128)+" "+CHR$(128)+CHR$(149)+hret+CHR$(149)+" "+CHR$(149)+hret+CHR$(149)+CHR$(128)+" "+CHR$(128)+CHR$(149)+hret+hoi 70 hdado(5)=hos+hret+CHR$(149)+CHR$(128)+" "+CHR$(128)+CHR$(149)+hret+CHR$(149)+" "+CHR$(128)+" "+CHR$(149)+hret+CHR$(149)+CHR$(128)+" "+CHR$(128)+CHR$(149)+hret+hoi 71 hdado(6)=hos+hret+CHR$(149)+CHR$(128)+" "+CHR$(128)+" "+CHR$(128)+CHR$(149)+hret+CHR$(149)+" "+CHR$(149)+hret+CHR$(149)+CHR$(128)+" "+CHR$(128)+" "+CHR$(128)+CHR$(149)+hret+hoi 72 hdborra=" "+hret+" "+hret+" "+hret+" "+hret+" " 73 hcua=CHR$(150)+STRING$(76,154)+CHR$(156) 74 hcua1=CHR$(149)+SPACE$(76)+CHR$(149) 75 hcua2=CHR$(147)+STRING$(76,154)+CHR$(153) 76 PRINT home 77 PRINT hcab 78 a$(1)="A|adir fichas" 79 a$(2)=" Consultas " 80 a$(3)=" Juego " 81 a$(4)=" Fin " 82 num%=4:s1=10:s2=33:vuelta%=1 83 GOSUB 343 84 ON ptr GOTO 85,143,180,405 85 OPEN "R",1,"krivial1" 86 OPEN "R",2,"krivial2" 87 FIELD 1,128 AS preg$ 88 FIELD 2,32 AS resp$(1),32 AS resp$(2),32 AS resp$(3),32 AS resp$(4) 89 IF FIND$("krivial3")="" THEN 93 90 OPEN "I",3,"Krivial3" 91 INPUT #3,numfich% 92 CLOSE 3 93 PRINT home 94 PRINT hcab 95 PRINT "Numero de ficha introducida: >";numfich% 96 PRINT:PRINT "Siguiente ficha, numero ";numfich%+1;". Tema: ";tema$(((numfich%+1) MOD 4)+1) 97 PRINT 98 hinput="Nueva pregunta" 99 houtput="pregunta" 100 max.out%=128 101 GOSUB 354 102 LSET preg$=a$ 103 hinput="Respuesta correcta" 104 houtput="respuesta correcta" 105 max.out%=32 106 GOSUB 354 107 LSET resp$(1)=a$ 108 hinput="Siguiente respuesta" 109 houtput="respuesta" 110 max.out%=32 111 FOR a=2 TO 4 112 GOSUB 354 113 LSET resp$(a)=a$ 114 NEXT 115 PRINT home;hcab 116 PRINT "Pregunta:" 117 PRINT CHR$(252);preg$ 118 PRINT "respuestas:" 119 FOR a=1 TO 4 120 PRINT CHR$(252);resp$(a) 121 NEXT 122 s1=20:s2=33 123 a$(1)=" Grabar " 124 a$(2)="Corregir" 125 a$(3)="Abandono" 126 num%=3 127 GOSUB 343 128 IF ptr=2 THEN 93 129 IF ptr=3 THEN CLOSE:GOTO 76 130 PUT 1,numfich%+1 131 PUT 2,numfich%+1 132 numfich%=numfich%+1 133 OPEN "O",3,"krivial3" 134 WRITE #3,numfich% 135 CLOSE 3 136 PRINT home;hcab 137 s1=10:s2=32 138 a$(1)=" Continuar grabando " 139 a$(2)="Volver al menu principal" 140 num%=2 141 GOSUB 343 142 IF ptr=1 THEN 93 ELSE CLOSE:GOTO 76 143 PRINT home;hcab 144 PRINT "Consultas.";CHR$(10) 145 OPEN "R",1,"krivial1" 146 OPEN "R",2,"krivial2" 147 IF FIND$("krivial3")="" THEN PRINT hon;"Sin datos.";hoff:a$=INPUT$(1):CLOSE:GOTO 44 148 OPEN "I",3,"krivial3" 149 INPUT #3,numfich% 150 CLOSE 3 151 FIELD 1,128 AS preg$ 152 FIELD 2,32 AS resp$(1),32 AS resp$(2),32 AS respt$(3),32 AS respt$(4) 153 PRINT numfich%;" Fichas disponibles en el disco." 154 s1=10:s2=35 155 a$(1)="Consultar" 156 a$(2)="Abandonar" 157 num%=2 158 GOSUB 343 159 IF ptr=2 THEN CLOSE:GOTO 76 160 PRINT home;hcab 161 PRINT numfich%;" fichas disponibles." 162 PRINT CHR$(10);"Numero de ficha para consultar ";CHR$(252); 163 INPUT "",a% 164 IF a%<1 OR a%>numfich% THEN PRINT hon; "No existe este numero. Reescriba por favor";hoff;:a$=INPUT$(1):PRINT hdel.line;hline.back;hor;:GOTO 162 165 GET 1,a% 166 GET 2,a% 167 PRINT home;hcab 168 PRINT "Ficha numero";a%;"de";numfich%;". Tema ";CHR$(252);tema$((a% MOD 4)+1) 169 PRINT"Pregunta" 170 PRINT CHR$(252)+preg$ 171 PRINT"Respuestas:" 172 FOR a=1 TO 4 173 PRINT CHR$(252);resp$(a) 174 NEXT 175 s1=20:s2=35 176 a$(1)="Conforme" 177 num%=1 178 GOSUB 343 179 PRINT home;hcab:GOTO 153 180 PRINT home;hcab;hcursor.off 181 INPUT "INTRODUCE <1> o <2> JUGADORES";tecla:IF tecla<1 THEN tecla=1 182 IF tecla>2 THEN tecla=2 183 PRINT:PRINT:INPUT "Jugador 1 (Maximo 10 caracteres)";nomi1$ 184 IF tecla=2 THEN INPUT "Jugador 2 (Maximo 10 caracteres)";nomi2$ ELSE 185 185 nomi1$=UPPER$(LEFT$(nomi1$,10)) 186 nomi2$=UPPER$(LEFT$(nomi2$,10)) 187 OPEN "R",1,"krivial1" 188 OPEN "R",2,"krivial2" 189 FIELD 1,128 AS preg$ 190 FIELD 2,32 AS resp$(1),32 AS resp$(2),32 AS resp$(3),32 AS resp$(4) 191 IF FIND$("krivial3")="" THEN 196 192 OPEN "I",3,"krivial3" 193 INPUT #3,numfich% 194 CLOSE 3 195 IF numfich%>3 THEN 202 196 PRINT hon;"Imposible jugar, no existen datos suficientes. Retorno al menu principal";hoff 197 s1=10:s2=34 198 a$(1)="Conforme" 199 num%=1 200 GOSUB 343 201 CLOSE:GOTO 76 202 PRINT:PRINT:PRINT numfich%;" fichas disponibles." 203 IF numfich%<105 THEN vec%=numfich%-3 ELSE vec%=100 204 PRINT:PRINT TAB(2) "El intervalo entre repeticiones es de";vec%;"preguntas distintas." 205 DIM vector(vec%) 206 PRINT:PRINT:PRINT:PRINT TAB(37);"JUEGA..: "hon+nomi1$+hoff 207 FOR i=1 TO 4000:NEXT 208 PRINT home;hcab 209 IF vuelta%=1 THEN cleft%=3 210 IF vuelta%>=2 THEN cleft%=cleft%+1 211 PRINT hpant3;TAB(47) htem 212 PRINT hpant5;TAB(47) htem1 213 PRINT hpant6;TAB(47) htem2 214 FOR a=1 TO 5 215 PRINT CHR$(133);TAB(6);CHR$(133);TAB(36);CHR$(133);TAB(41);CHR$(133) 216 PRINT CHR$(135);hpant1;CHR$(141);TAB(36);CHR$(135);hpant1;CHR$(141) 217 NEXT 218 PRINT CHR$(133);TAB(6);CHR$(133);TAB(36);CHR$(133);TAB(41);CHR$(133) 219 PRINT hpant7;TAB(47) htem 220 PRINT hpant5;TAB(47) CHR$(133);TAB(63) CHR$(133);TAB(78) CHR$(133) 221 PRINT hpant8;TAB(47) htem2 222 PRINT hcua 223 PRINT hcua1 224 PRINT hcua1 225 PRINT hcua1 226 PRINT hcua1 227 PRINT hcua1 228 PRINT hcua1 229 PRINT hcua2 230 PRINT FN at$(24,1,"PREGUNTA :") 231 PRINT FN at$(25,1,"RESPUESTA:") 232 RESTORE 240 233 IF tecla=1 THEN PRINT FN at$(19,49,nomi1$) 234 IF tecla=2 THEN PRINT FN at$(19,49,nomi1$):PRINT FN at$(19,65,nomi2$) 235 IF jug=0 THEN PRINT FN at$(19,47,hon+" "+nomi1$+" "+hoff) ELSE PRINT FN at$(19,63,hon+" "+nomi2$+" "+hoff) 236 FOR a=1 TO 4 237 READ x1,x2,t$ 238 PRINT FN at$(x1,x2,t$) 239 NEXT 240 DATA 5,1,"////",5,36,"////",19,1,"////",19,36,"////" 241 plpos%=1 242 quesos%=0 243 PRINT FN at$(posn(plpos%,1),posn(plpos%,2),hon+" "+hoff):REM Son cuatro espacios 244 a=0 245 PRINT FN at$(5,55,STR$(puntos%)) 246 PRINT FN at$(5,70," ") 247 PRINT FN at$(10,58,CHR$(252)+" DADO"):a=a+1:PRINT FN at$(10,58," "):IF INKEY$="" THEN 243 248 a=a+1:PRINT FN at$(10,58,hdado(INT((RND*6)+1))):IF INKEY$="" THEN 248 249 RANDOMIZE a*100/SIN(RND) 250 dd%=INT(RND*6)+1 251 PRINT FN at$(10,58,hdado(dd%)) 252 op.pos1%=plpos%-dd%:IF op.pos1%<1 THEN op.pos1%=28+op.pos1% 253 op.pos2%=plpos%+dd%:IF op.pos2%>28 THEN op.pos2%=op.pos2%-28 254 PRINT FN at$(posn(op.pos1%,1),posn(op.pos1%,2),"----") 255 PRINT FN at$(posn(op.pos2%,1),posn(op.pos2%,2),"++++") 256 a$=INPUT$(1) 257 IF a$<>CHR$(22) AND a$<>CHR$(28) THEN 256 258 PRINT FN at$(posn(op.pos1%,1),posn(op.pos1%,2)," ") 259 PRINT FN at$(posn(op.pos2%,1),posn(op.pos2%,2)," "):REM todos cuatro espacios 260 PRINT FN at$(posn(plpos%,1),posn(plpos%,2)," ") 261 IF a$=CHR$(28) THEN plpos%=op.pos1% ELSE plpos%=op.pos2% 262 PRINT FN at$(posn(plpos%,1),posn(plpos%,2),hon+" "+hoff) 263 FOR a=1 TO 28 STEP 7 264 PRINT FN at$(posn(a,1),posn(a,2),""); 265 IF plpos%=a THEN 267 266 IF pillao((a-1)/7+1)=0 THEN PRINT "////" ELSE PRINT "XXXX" 267 NEXT 268 PRINT FN at$(10,58,hdborra) 269 play%=INT(RND*numfich%)+1 270 a=1 271 IF vector(a)=play% THEN GOTO 269 ELSE a=a+1 272 IF vec.ptr%=a THEN 271 273 vec.ptr%=vec.ptr%+1 274 vector(vec.ptr%)=play% 275 IF vec.ptr%=vec% THEN FOR a=2 TO vec%:vector(a-1)=vector(a):NEXT:vec.ptr%=vec.ptr%-1 276 PRINT FN at$(22,25,"TEMA: "+hsub.on+tema$((play% MOD 4)+1))+hsub.off 277 GET 1,play% 278 GET 2,play% 279 FOR a=1 TO 4 280 resp2$(a)=resp$(a) 281 NEXT 282 cort%=0:a=128 283 a$=MID$(preg$,a,1) 284 WHILE a$=" ":REM Un espacio 285 cort%=cort%+1:a=a-1 286 a$=MID$(preg$,a,1) 287 WEND 288 hpreg=LEFT$(preg$,128-cort%) 289 IF LEN(hpreg)<64 THEN hpreg1=hpreg:hpreg2="":GOTO 296 290 FOR a= 50 TO 66 291 IF MID$(hpreg,a,1)=" " THEN cort2%=a 292 NEXT 293 IF cort2%=0 THEN cort2%=LEN(hpreg) 294 hpreg1=LEFT$(hpreg,cort2%) 295 hpreg2=MID$(hpreg,cort2%,LEN(hpreg)-cort2%+1) 296 hok=resp$(1) 297 FOR a=1 TO 4 298 a1=INT(RND*4)+1 299 a2=INT(RND*4)+1 300 WHILE a1=a2 301 a2=INT(RND*4)+1 302 WEND 303 SWAP resp2$(a1),resp2$(a2) 304 NEXT 305 PRINT FN at$(24,12,"]"+hpreg1);:IF hpreg2="" THEN PRINT "?" ELSE PRINT FN at$(25,12,hpreg2+"?") 306 time=180-(vuelta%*30) 307 IF time<=30 THEN time=30 308 a=1 309 time=time-1:IF time=0 THEN PRINT FN at$(27,12,"Demasiado tarde, la respuesta es "+hok):sres=sres+1:GOTO 330 310 PRINT FN at$(5,70,hon+STR$(INT(time/10))+" "+hoff) 311 PRINT FN at$(25,12,resp2$(a)) 312 a$=INKEY$ 313 IF a$=CHR$(28) THEN IF hok<>resp2$(a) THEN a=a+1:GOTO 309 ELSE GOTO 329 314 IF a$=CHR$(22) THEN IF hok<>resp2$(a) THEN 329 ELSE 316 315 GOTO 309 316 PRINT FN at$(27,12,"!Correcto, continua asi! "+STRING$(40,32)):reac=reac+1 317 FOR a=1 TO 1000:NEXT 318 FOR a=1 TO 4 319 IF (plpos%-1)/7+1=a AND pillao(a)=0 THEN pillao(a)=1:quesos%=quesos%+1 320 NEXT 321 IF quesos%=4 THEN vuelta%=vuelta%+1:PRINT home;hcab;"Muy bien! Vamos por la vuelta";vuelta%:ERASE pillao:a$=INPUT$(1):GOTO 208 322 puntos%=puntos%+INT(time/8*(vuelta%*cleft%/4)) 323 PRINT FN at$(5,55,STR$(puntos%)) 324 PRINT FN at$(22,31,STRING$(20,32)) 325 PRINT FN at$(24,12,SPACE$(65)) 326 PRINT FN at$(25,12,STRING$(32,32)) 327 PRINT FN at$(27,1,SPACE$(76)) 328 GOTO 244 329 PRINT FN at$(27,12,"No es cierto, la respuesta es "+hok):fall=fall+1 330 cleft%=cleft%-1 331 FOR a=1 TO 2000:NEXT 332 PRINT FN at$(27,1,SPACE$(76)) 333 PRINT FN at$(25,12,STRING$(32,32)) 334 PRINT FN at$(24,12,SPACE$(65)) 335 PRINT FN at$(22,31,STRING$(20,32)) 336 pre=reac+fall+sres 337 IF cleft%>0 THEN 244 338 jug=jug+1:IF jug=2 THEN 340 339 pun1=puntos%:reac1=reac:fall1=fall:sres1=sres:pre1=pre:IF tecla=1 THEN 360 ELSE 341 340 pun2=puntos%:reac2=reac:fall2=fall:sres2=sres:pre2=pre 341 vector=0:ERASE pillao:puntos%=0:vuelta%=1:reac=0:fall=0:sres=0:pre=0 342 IF jug=1 THEN 415 ELSE 360 343 PRINT hcursor.off 344 FOR a=1 TO num% 345 PRINT FN at$(s1+a,s2+1,a$(a)) 346 NEXT 347 ptr=1 348 PRINT FN at$(s1+ptr,s2,CHR$(252)+hon+a$(ptr)+hoff+CHR$(253)) 349 a$=INPUT$(1) 350 IF a$=CHR$(30) THEN IF ptr1 THEN PRINT FN at$(s1+ptr,s2," "+a$(ptr)+" "):ptr=ptr-1 352 IF a$=CHR$(13) THEN PRINT hcursor.on:RETURN 353 GOTO 348 354 PRINT hinput;" ";CHR$(252) 355 LINE INPUT "",a$ 356 IF LEN(a$)>max.out% THEN PRINT:PRINT hon;"La ";houtput;" supera el maximo de caracteres. Reescriba, por favor.";hoff;:a$=INPUT$(1):PRINT hdel.line;hline.back;hor:GOTO 354 357 IF a$="" THEN PRINT hline.back;hor;:GOTO 354 358 RETURN 359 PRINT home 360 PRINT home 361 PRINT TAB(10) hcua 362 PRINT TAB(10) hcua1 363 PRINT TAB(10) hcua1 364 PRINT TAB(10) hcua1 365 PRINT TAB(10) hcua1 366 PRINT TAB(10) hcua1 367 PRINT TAB(10) hcua1 368 PRINT TAB(10) hcua1 369 PRINT TAB(10) hcua1 370 PRINT TAB(10) hcua1 371 PRINT TAB(10) hcua1 372 PRINT TAB(10) hcua1 373 PRINT TAB(10) hcua1 374 PRINT TAB(10) hcua2 375 PRINT TAB(10) hcua 376 PRINT TAB(10) hcua1 377 PRINT TAB(10) hcua1 378 PRINT TAB(10) hcua1 379 PRINT TAB(10) hcua2 380 PRINT FN at$(1,35,hon+"R E S U L T A D O F I N A L"+hoff); 381 PRINT FN at$(2,12,hon+nomi1$+hoff) 382 PRINT FN at$(4,12,"Puntuacion obtenida....:"); pun1 383 PRINT FN at$(6,12,"Respuestas acertadas...:"); reac1 384 PRINT FN at$(8,12,"Respuestas falladas....:"); fall1 385 PRINT FN at$(10,12,"Sin respuesta..........:"); sres1 386 PRINT FN at$(12,12,"Preguntas realizadas...:"); pre1 387 PRINT FN at$(15,38,hon+"C O N C L U S I O N"+hoff); 388 IF tecla=2 THEN 398 389 PRINT FN at$(16,11,hon+nomi1$+hoff); 390 resf1=INT(pun1/(pre1+5)) 391 IF resf1<3 THEN PRINT FN at$(17,12, "Tienes que estudiar mas pues todavia te queda mucho que aprender."); 392 IF resf1>=3 AND resf1<5 THEN PRINT FN at$(17,12,"No te vendria mal cojer un libro de vez en cuando"); 393 IF resf1>=5 AND resf1<8 THEN PRINT FN at$(17,12,"Vale tio, sabes bastante, pero no dejes los libros olvidados"); 394 IF resf1>=8 THEN PRINT FN at$(18,12,"Eres inteligente, asi que juega cuantas veces quieras"); 395 IF tecla=2 THEN 406 396 PRINT FN at$(21,20,hon+"P U L S A U N A T E C L A P A R A C O N T I N U A R"+hoff):CLOSE 397 a$=INKEY$:IF a$="" THEN 397 ELSE CLEAR:GOTO 0 398 IF tecla=2 THEN PRINT FN at$(2,75,hon+nomi2$+hoff) ; 399 PRINT FN at$(4,53,"Puntuacion obtenida.....:"); pun2 400 PRINT FN at$(6,53,"Respuestas acertadas....:"); reac2 401 PRINT FN at$(8,53,"Respuestas falladas.....:"); fall2 402 PRINT FN at$(10,53,"Sin respuesta...........:"); sres2 403 PRINT FN at$(12,53,"Preguntas realizadas....:"); pre2 404 GOTO 389 405 PRINT CHR$(27);"2";CHR$(0);:SYSTEM 406 FOR i=1 TO 8000:NEXT 407 FOR i=1 TO 3:PRINT FN at$((15+i),11,SPACE$(65)):NEXT 408 PRINT FN at$(16,11,hon+nomi2$+hoff) 409 resf2=INT(pun2/(pre2+5)) 410 IF resf2<3 THEN PRINT FN at$(17,12, "Tienes que estudiar mas pues todavia te queda mucho que aprender."); 411 IF resf2>=3 AND resf2<5 THEN PRINT FN at$(17,12,"No te vendria mal cojer un libro de vez en cuando"); 412 IF resf2>=5 AND resf2<8 THEN PRINT FN at$(17,12,"Vale tio, sabes bastante, pero no dejes los libros olvidados"); 413 IF resf2>8 THEN PRINT FN at$(18,12,"Eres inteligente, asi que juega cuantas veces quieras"); 414 GOTO 396 415 PRINT home 416 PRINT FN at$(12,30,"JUEGA..:"+hon+nomi2$+hoff) 417 FOR i= 1 TO 2500:NEXT 418 GOTO 208 419 REM Intrucciones 420 PRINT:PRINT:PRINT:PRINT:PRINT TAB(10) hon+"QUIERES INSTRUCCIONES "+hoff 421 a$=INKEY$:IF a$="s" OR a$="n" THEN 422 ELSE 421 422 IF a$="s" THEN 423 ELSE 454 423 PRINT home 424 PRINT:PRINT TAB(35) hon+"I N S T R U C C I O N E S"+hoff 425 PRINT:PRINT:PRINT TAB(5) "SAPIENS es un juego cuya mecanica consiste en intentar acertar el maximo posible de" 426 PRINT TAB(5) "preguntas en un tiempo determinado, obrando de la siguiente forma:" 427 PRINT:PRINT TAB(10) "1¡.- Pulsando una tecla cualquiera aparecera un dado en movimiento." 428 PRINT:PRINT TAB(10) "2¡.- Volviendo a pulsar otra tecla se parara este en un numero, apareciendo -" 429 PRINT TAB(15) "en el tablero los signos ---- o ++++ tantos espacios como marque el dado," 430 PRINT TAB(15) "a la izquierda o a la derecha de la ficha (situada cuando comienza el -" 431 PRINT TAB(15) "juego en la parte superior izquierda del tablero)." 432 PRINT:PRINT TAB(10) "3¡.- Con las teclas '+' o '-' situadas ambas en los extremos de la barra espa-" 433 PRINT TAB(15) "ciadora deberas elegir donde quieres que se ponga tu ficha, por ejemplo" 434 PRINT TAB(15) "si pulsa la tecla '+' la ficha se colocara en la casilla donde esten los" 435 PRINT TAB(15) "signos ++++." 436 PRINT:PRINT TAB(35) "PULSA UNA TECLA PARA CONTINUAR" 437 a$=INKEY$:IF a$="" THEN 437 438 PRINT home 439 PRINT TAB(5) hon+"CONTINUACION"+hoff 440 PRINT:PRINT TAB(10) "4¡.- Una vez pulsada la opcion aparecera una pregunta y una respuesta, si crees" 441 PRINT TAB(15) "que la respuesta es correcta pulsa la tecla '+', si crees que es falsa -" 442 PRINT TAB(15) "pulsa la tecla '-', entonces aparecera otra respuesta si esto era asi, -" 443 PRINT TAB(15) "debiendo obrar de igual forma para esta nueva respuesta." 444 PRINT:PRINT TAB(10) "5¡.- Tiene un tiempo para contestar, si no lo haces se te dara la respuesta -" 445 PRINT TAB(15) "por fallada. A los TRES fallos se acabara el juego." 446 PRINT:PRINT TAB(10) "6¡.- Tu mision consiste en conquistar las 4 esquinas, cuando lo hayas consegui-" 447 PRINT TAB(15) "empezaras una nueva vuelta en la cual el tiempo de respuesta sera menor," 448 PRINT TAB(15) "pero se te dan 2 posibilades de fallar mas." 449 PRINT:PRINT TAB(10) "7¡.- Conforme contestas se te dara una puntuacion en base a: Tiempo de respues-" 450 PRINT TAB(15) "ta, fallos cometidos y vueltas dadas." 451 PRINT:PRINT TAB(10) "8¡.- Si son 2 jugadores, hasta que no acabe el 1¡ no puede jugar el 2¡." 452 PRINT:PRINT TAB(35) "PULSA UNA TECLA PARA COMENZAR" 453 a$=INKEY$:IF a$="" THEN 453 454 RETURN 455 REM Pantalla 456 PRINT home 457 PRINT:PRINT:PRINT:PRINT TAB(10) STRING$(65,138) 458 PRINT TAB(10) "sssssss aaaaaaa ppppppp iii eeeeeee nn nn ³³³ sssssss" 459 PRINT TAB(10) "ss aa aa pp pp iii ee nnn nn ³³ ss" 460 PRINT TAB(10) "sssssss aaaaaaa ppppppp iii eeeeeee nn n nn ³ sssssss" 461 PRINT TAB(10) " ss aa aa pp iii ee nn nnn ss" 462 PRINT TAB(10) "sssssss aa aa pp iii eeeeeee nn nn sssssss" 463 PRINT TAB(10) STRING$(65,138):PRINT 464 PRINT 465 PRINT TAB(10);CHR$(164);" LUIS GARCIA,MAYO/87" 466 FOR i=1 TO 1000:NEXT 467 RETURN ===== Controles ===== MENOS = RESPUESTA NEGATIVA MÁS = RESPUESTA POSITIVA SPACE = TIRAR DADO o SELECCIONAR ===== Carga del programa ===== 1.- Introducir el disco CP/M por la cara 2 2.- Escribir BASIC y esperar a que cargue 3.- Retirar el disco CP/M e introducir el disco que contiene el juego Sapien's 4.- Teclear run "Sapiens" y pulsar la tecla "ENTER" ===== Descarga ===== * {{:otros:Sapiens (Basic).zip|Sapien's }}(juego en formato dsk, comprimido con zip) ===== Vídeos ===== {{ youtube>WFVxBKD6GDU?large }}