Xogo de memori (I)

Arrojeria, Eustakio

Elhuyar Zientziaren Komunikazioa

Lizaso, Pili

Informatika Saila

Elhuyar Fundazioa

Hai moitos xogos paira traballar a memoria, pero esta selección pode ser una das máis populares. O xogo consiste normalmente en pezas de cartón ou madeira. Cada peza leva una imaxe e cada imaxe está en dúas pezas. En que consiste o xogo?

Ao principio colócanse todas as pezas cara abaixo, é dicir, coas imaxes ocultas e mestúranse.

En cada xogada hai que levantar dúas pezas e o que hai que conseguir é que esas dúas pezas sexan da mesma imaxe. Si é así, é dicir, si as pezas alzadas teñen a mesma imaxe, recolleraas o xogador que estea a xogar e volverá tentalo ata que falle.

Si as pezas seleccionadas teñen una imaxe diferente, despois de pasar un pouco de tempo paira lembrar as imaxes e posicións volveranse a dar a volta e deixaranse na mesma posición.

Ao final gaña o que máis pezas consegue. Este é o xogo que quixemos simular co seguinte programa, pero coa diferenza de que está pensado paira un xogador, porque as imaxes inventadas por cada persoa non se distinguen.

Os pasos a seguir son os seguintes:

  • Na pantalla aparecerá una matriz ou táboa cuadriculada. Terás que ir seleccionando os cadros de dous en dous, é dicir, primeiro un e logo o outro, utilizando paira iso as teclas de desprazamento do cursor (Regra, ?, , Ø). Ao tentar saír fóra da táboa, escoitará un son e o cursor quedará no lugar onde estaba.
  • Ao chegar ao cadro seleccionado, ao pulsar RETURN, verá a imaxe que ocultaba o cadro.
  • Repite o proceso con outro recuadro.
  • Una vez seleccionadas dúas casas, poden ocorrer dúas cousas:
    1. Si os dous cadros teñen a mesma imaxe, as imaxes quedarán visibles e engadirase un ao contador dos atopados.
    2. Si as imaxes presentadas son diferentes, tras un instante na pantalla volverán ocultarse. Por tanto, tentar ter en conta a posición das imaxes paira outra quenda.
  • O xogo pode terminar por dous motivos:
    1. Porque se atoparon todas as parellas (24).
    2. Porque se realizaron 100 sesións, aínda que algunhas non se atoparon. Neste caso, pulsando a tecla J daráselle a opción de ver a táboa completa.
FIG.RM=1fn1

















CHR$(26);” CHR$(27);”;
CHR$(24); “;CHR$(25);
190 LOCATE 25,2:PRINT “Pulsar RETURN ao seleccionar o cadro”; INICIO
XOGO
200 REM SESIÓNS 210=0:LOCATE$ 5,27:ACHADOS
CSINT–SESIÓNS = 270;

LOCATE 5,3:POS “–;
220

WHILE SÍMBOLO$” AND SESIÓNS 100=0:CHE$=”:ASMAT$=”240 WHILE I


2
250 CHE$=”:WIF
CSINT(TAU$((CSRLIN–2)/3,POS(0)/3,1);
300
IF RIGHT$(CHE$,1) ”M” THEN


330 IF(0) 24



THEN FOR=1
TO:PRINT
NEXT J:PRINT “– ELSE BEEP:LOCATE CSRLIN,POS(0)- 1:PRINT “–;
380
GOTO
420 IF RIGHT$(CHE$,1)
THEN

410
400 IF
PRLIN PRINT CHR$(29);
TAU$((CSRLIN–2)/3,POS(0)/3,1);
450 I=I+1:IK(I,1)=ASC(TAU$((CSRLIN–2)/3,POS(0)/1Ric):


IK(I,3)=POS(0)–1:IF
TAU$((CSRLIN–2)/3,POS(0)/3,2)=”
THEN
TAU$((CSRLIN–2)/3,POS(0)/3,2)=”V4F60
TAU$((IC(2,2)–2)/3,IK(2,3)/
3,2)=”1":IND={(1,SIMO$,CHR$(VC(1,1)))): SESIÓNS


IF IND 0 THEN

KUR$=LEFT$(IND–1)+MID$(SÍMBOLO$, IND+1,LEN$)-IND)=51,00 MES
PAINT (IC(1,3)*8–4,IK(1,2)*8–4),1,2: TAU$((IK(1,2)–2)/3,IK(1,3)/3,2)=”
530 IF TAU$((IK(2,2)–2)/3,IK(2,3)/3,2)) ”1" THEN LOCATE(2,2),IK(2,3): PRINT
PAINT (IC(2,3)*8–4,IK(2,2)*8–4),1,2: PRINT “–”;:TAU$((IK(2,2)–2)/3,IK(2,3)/3,2)=”
540 IF I=2 THEN LOCATE 5,27:PRINT “Atopados =”;STR$(24–LEN(SIGNO$)):8,27 LOCATE:
PRINT “Sesións =”;SESIÓNS; ELSE 560
550 LOCATE IK(2,2),IK(2,3)+1
560 WEND
570 WEND
580 REM RESULTADOS
590 LOCATE 23,2:PRINT SPC(38):LOCATE 25,2:PRINT$
PRINT! Atopáchelos.”:GOTO 700
610 LOCATE 23,1:PRINT “Non o conseguiches. Paira ver todas elas pulse J
620 CHE$=” “:WHILE CHE$ ”J” AND CHE$ ”j”:CHE$=INKEY$:WEND
630 FOR=1 TO 8
640 FOR J=1 TO
650





L=(J–25,1)

Observacións:

  1. Á hora de seleccionar as casas, hai que ter en conta que as casas deben ser diferentes, é dicir, que ao pulsar dúas veces no mesmo recuadro RETURN non se dará por válida.
  2. Si desexa realizar una pausa máis longa antes de ocultar as imaxes, bastará con cambiar o número 2500 por outro máis grande na sentenza FOR 510.
  3. Paira modificar as imaxes ou símbolos que aparecen, pode cambiar os números que aparecen na liña 630 (códigos ASCII). Lembrar que os códigos ASCII deben estar comprendidos entre o 1 e o 256.
  4. Programa que inclúe 100 sesións. Se desexa máis ou menos sesións, modifique a liña 220.

Partes do programa:

  • Completar táboa (50-130)
  • Representación da pantalla (140-190)
  • Control de movementos de teclas (260-420)
  • Mostrar a imaxe no cadro seleccionado e gardar a información (440-460)
  • Comparar as imaxes das dúas casas seleccionadas e realizar as accións correspondentes en cada caso (470-550)
  • Ofrecer resultados ao finalizar o xogo (580-690)
Babesleak
Eusko Jaurlaritzako Industria, Merkataritza eta Turismo Saila