}

Si gústache a sopa de peixe adiviña con que está feito

1988/12/01 Arrojeria, Eustakio - Elhuyar Zientziaren Komunikazioa | Lizaso, Pili - Informatika SailaElhuyar Fundazioa Iturria: Elhuyar aldizkaria

Xa coñecerás os xogos que aparecen en revistas, xornais, etc. (dámaros, crucigramas, sopas de letras, etc.). ). Este programa que presentamos a continuación forma sopas de letras. A sopa de letras, como o seu nome indica, é una mestura de letras e o xogo consiste en atopar nesa mestura palabras relacionadas cun tema.

As palabras poden estar de esquerda a dereita, de dereita a esquerda, arriba, abaixo, diagonalmente. etc.

Nós eliximos un tema e eliximos os nomes dos peixes. Si ti queres introducir outras palabras, só tes que cambiar de datos.

Partes do programa:

  • Dun conxunto de palabras (neste caso 30) tómanse 10 aleatoriamente (120)
  • As palabras seleccionadas almacénanse en SOPA$ (130-300)
  • Una vez colocadas as palabras na sopa, encheranse as posicións libres, tomando as letras aleatoriamente (310-320)
  • A sopa de letras preséntase en pantalla, combinando as palabras que se poden atopar nela con outras (330-350)
  • Recóllense as respostas do uso ata que isto inventa as 10 palabras ou pulsa a tecla F10 (36)-590)
  • Compróbase si a palabra introducida atópase na sopa de letras (440-500).
  • Si a palabra está en sopa, destacarase nunha cor máis intensa. (510-590).
  • Ao saír do programa pulsando F10 resaltaranse en vermello as palabras que faltaban paira atopalas.

Introducir as palabras seleccionadas en SOPA$

Esta pode ser a parte máis importante do programa, xa que aínda que é fácil facelo a man, á hora de ordenar o computador, debemos definir as condicións que nós consideramos inconscientemente.

Ademais de seleccionar aleatoriamente as palabras, tómase aleatoriamente a súa posición na sopa de letras. Cando se di posición, a liña inicial e a columna e a dirección da palabra (de esquerda a dereita, diagonal cara arriba, etc.) quérese dicir.

Os requisitos paira poder situar una palabra nunha das posicións seleccionadas son:

  • Si a posición inicial, é dicir, si a SOPA$ (LER,ZUT) está libre ou está ocupada, a letra que hai nela correspóndese coa primeira letra da palabra que queremos colocar (150).
  • Ter tantas filas e columnas como letras da palabra no sentido de estudo (180).
  • Que a posición correspondente a cada letra da palabra estea libre ou se queira situar a letra existente (190-210).

Observacións:

  • Antes de descartar una posición probaranse todas as direccións. Si non é posible situar a palabra nunha liña, columna e sentido concreto, mantendo a liña e a columna probaranse as demais direccións.
  • O conxunto de palabras debe ser de 30.
SOPA DE LETRAS 10 REM 20 DIM$(15,19),HITZA$(10,5),NORAN(8,2) 30 RANDOMIZE TIMER:CLS:KEY OFF:COR 2:LOCATE 1,35:PRINT "SOPA DE LETRAS": Palabra LOCR$ 1(CHINT$ 1)(ZOPA$ 1(I,J) PRINT(Ou P A P R E S T Z N":LOCATE 13,13:PRINT "A R I Z" 100 RESTORE 850 110 FOR I=1 TO 8:READ A,B:An PALABRA RUT=1$ DE SOPA$(I,J)=CHR$(A) 320 NEXT J:NEXT I 330 COR 2:FOR I=1 TO 15:FOR J=1 TO 19:LOCATE I+4,J*2+1:LOCNPER:44 nomees Sopa de letras "PRINT". Descúbreas!!!" 350 RESTORE 860:COR 3:FOR I=6 TO 20:READ A$:LOCATE I,44:PRINT A$:NEXT I: Fin do programa FOR I=6 TO 20:READ A$:LOCATE I,63:PRINT A$:NEXT I 360 KEY 10,":KEY(10) ON:ON KEY(10) GOSUB 650 370 J=1:FMAT="Mat Termos: 1$ en THE,PTE$ Z=VAL(HITZA$(I,4))+(J-1)*NORAN(VAL(PALABRA$(I,5),2) 540 LOCATE L+4,Z*2+1:PRINT MID$(PALABRA$(I,Vº50,V51,V55551,55551,5555555551,551,5551,551,55551,551,5555551,551,555551,551,551,5S51,551,1,1,1,5 PRINT "A palabra introducida non é una das palabras introducidas na sopa de letras. ": LOCATE 23,5:PRINT "Volve tentalo." 570 GOSUB 770 580 LOCATE 22,1:PRINT SPC(78):LOCATE 23,1:PRINT SPC(78) 590 GOTO 370 600 LOCATE 22,1:PRINT SPC(78):LOCATE 25,1:PRINT SPC(78):22,5 LOCATE: PRINT "Moi ben! Noticias Acertaches todas as palabras desta sopa de letras. ": LOCATE 25,20:PRINT "Queres facer outro (S/N)?" 610 CHE$=INKEY$:WHILE CHE$ "":CHE$=INKEY$:WEND: WHILE CHE$ "B" AND CHE$ "b" AND CHE$ "E" AND CHE$ "e":CHE$=INKEY$:WEND 620 IF CHE$="B" OR CHE$="b" THEN 30 630 CLATE:12,3 Noticias Até pronto." 640 END 650 ACCIÓN FIN REM 660 COR 3:LOCATE 22,1:PRINT SPC(78):LOCATE 25,1:PRINT SPC(78):LOCATE 22,5: PRINT "Aquí tes as palabras que che faltaban paira acertar!!!" 670 FOR I=1 TO 10 680 IF HITZA$(I,2)="1" THEN 730 690 COR 4:FOR J=1 TO LEN(HITZA$(I,1) 700 L=VAL(PALABRA$(I,A) Z=VAL(PALABRA$(I,4)+(J-1)*NORAN(VAL(PALABRA$(I,5),2) 710 LOCATE L+4,Z*2+1:PRINT MID$(I,S25,71) BONITO DO NORTE

Gai honi buruzko eduki gehiago

Elhuyarrek garatutako teknologia