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

Arrojeria, Eustakio

Elhuyar Zientziaren Komunikazioa

Lizaso, Pili

Informatika Saila

Elhuyar Fundazioa

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
Babesleak
Eusko Jaurlaritzako Industria, Merkataritza eta Turismo Saila