Diferencia entre revisiones de «Tutorial:Listas, Secuencias y Guiones para Jugar»

De GeoGebra Manual
Saltar a: navegación, buscar
Línea 55: Línea 55:
 
:Como se aprecia, echa a la suerte la cantidad de palillos dado que ''n'' tendrá un valor entre 6 y 21 y pone a cero los valores de ''n1'' y de ''n2''. También establece, aleatoriamente,  quién será ''mano''<br>
 
:Como se aprecia, echa a la suerte la cantidad de palillos dado que ''n'' tendrá un valor entre 6 y 21 y pone a cero los valores de ''n1'' y de ''n2''. También establece, aleatoriamente,  quién será ''mano''<br>
 
*uno para establecer en un guión - ''script'' -  'al clic' sobre la lista de palillos, cuántos seleccionará quien disputa el juego<br>
 
*uno para establecer en un guión - ''script'' -  'al clic' sobre la lista de palillos, cuántos seleccionará quien disputa el juego<br>
*uno que permite aceptar al pulsar en {{KeyCode|"OK"}} que el ''equipo GG'' tome la cantidad de palillos que ha calculado conveniente o que ha determinado aleatoriamente<br>
+
*uno que permite aceptar al pulsar en {{KeyCode|OK}} que el ''equipo GG'' tome la cantidad de palillos que ha calculado conveniente o determinado aleatoriamente. Desencadenará el siguiente ''guión'':<br>
 +
<hr>
 +
  n=n-prisoyo
 +
  n1=n1+prisoyo
 +
  jugador=1
 +
  priesjugador=0
 +
<hr>
 +
:Como puede apreciarse, disminuye en número ''n'' de palillos disponibles según los que se hayan tomado e incrementa, en la misma medida, los que se van amontonando<br>
 
*uno para mostrar la cantidad de palillos restantes tras cada jugada<br>
 
*uno para mostrar la cantidad de palillos restantes tras cada jugada<br>
 
*uno para establecer la cantidad de palillos disponibles aún.
 
*uno para establecer la cantidad de palillos disponibles aún.

Revisión del 06:21 27 oct 2013

Tutorial: Listas, Secuencias y Guiones para ir a Jugar ... o crear un juego

Jugando al Nim

El siguiente applet permite jugar al Nim en un ambiente dinámico preparado en basea listas, secuencias y guiones articulados adecuadamente, tal como puede apreciarse en aquí... en francés. fr:Tutoriel:Listes, Séquence, scripts pour créer un jeu..

La estrategia ganadora puede descubrirse o encontrarse en uno de los tantos enlaces descriptivos del juego, en el que pierde quien no tiene más remedio que tomar la última pieza de las que, por turno, se pueden quitar de uno a tres por vez.

Tendiendo las Piezas del Juego

Para tender las piezas del juego:

  • Crear algunos deslizadores enteros y ajustables como el que establecerá...
    • si será primero el equipo que opera automáticamente a través del applet o quien humanamente juegue, es decidido al azar
    • de 6 a 21, el número de piezas denominado N es decidida aleatoriamente
    • el número de piezas, de 0 a 3, que toma el equipo que opera automáticamente a través del applet de GG, llamado n_1
    • el número de piezas tomadas por el jugador, de 0 a 3, n_2
    • el número de palillos que se han tomado y que se ilustran cruzados

Ilustrando las Piezas

  • Los n palillos que componen el juego aparecen dispuestos en el centro de la pantalla. Son los segmentos creados por:
  • Las n1 varillas que toma el equipo vía GG aparecen horizontalmente en la zona superior de la pantalla.
    • Mi_lista = Secuencia[Segmento[(5floor((i - 1) / 5), 4 - Resto[i - 1, 5] / 5), (5floor((i - 1) / 5) + 4, 4 - Resto[i - 1, 5] / 5)], i, 1, n1]
  • Las n2 varillas que toma quien juega se distribuyen horizontalmente en la zona inferior de la pantalla, en montones de a 5:
    • listaJugador = Secuencia[Segmento[(5floor ((i-1) / 5), -3,5 + Resto[i-1, 5 ] / 5), (5floor ((i-1) / 5) + 4, -3,5 + Resto[i - 1, 5] / 5)], i, 1, n2]
  • Los palillos situados en la zona superior de la pantalla, indican lo que ha retirado el equipo GG: en montones de a cinco
    • listaSóloMía = Secuencia[(i / 2, 2.2), i, n, n - prisoyo + 1, -1]
  • Los palillos situados en la zona inferior de la pantalla, indican lo que ha retirado el jugador:
    • listaSóloJugador = Secuencia[(i / 2, -2.2), i, n, n - priesjugador + 1, -1]

Aplicación Interactiva

Acaso sea importante ensayar estrategias sobre el escenario interactivo del applet antes de seguir adelante con la descripción de variables, botones y guiones.



Variables a Definir

  • jugador = AleatorioEntre[0, 1] es un entero que indica si es mano el equipo GG, cuando el valor es 0, o el que humanamente juega cuando es 1.
  • msg es el valor booleano que indica que el equipo GG ya ha calculado su jugada y por lo tanto pasa a mostrarse el botón de OK para concretarla con acuerdo de su contrincante.
  • ajugador = Si[restan ≟ 1, Mínimo[AleatorioEntre[1, 3], n], Si[restan ≟ 0, 3, restan - 1]] es el entero que calcula, basándose en el número de palillos aún disponibles, qué cantidad de piezas debe tomar el equipo GG
  • restan = Resto[n, 4] entero que establece el resto respecto de 4 de los n palillos en juego
  • juegoganado = jugador ≟ 0 ∧ n ≟ 1 booleana que establece si es cierto que el juego se ha ganado
  • juegoperdido = jugador ≟ 1 ∧ n ≟ 1 booleana que establece si es cierto que el juego se ha perdido
  • terminado = juegoganado ∨ juegoperdido variable booleana que indica si el juego, ganado o perdido, se ha terminado.

Interacción en Juego

Es preciso prever los siguientes botones:

  • uno para dar inicio a una Nueva Partida que desencadene este guión:

 Valor[n,AleatorioEntre[6,21]]
 n1=0
 n2=0
 Valor[priesjugador,ajugador]
 priesjugador=0
 jugador=AleatorioEntre[0,1]
 Valor[msg,Si[jugador==0,true,false]]

Como se aprecia, echa a la suerte la cantidad de palillos dado que n tendrá un valor entre 6 y 21 y pone a cero los valores de n1 y de n2. También establece, aleatoriamente, quién será mano
  • uno para establecer en un guión - script - 'al clic' sobre la lista de palillos, cuántos seleccionará quien disputa el juego
  • uno que permite aceptar al pulsar en OK que el equipo GG tome la cantidad de palillos que ha calculado conveniente o determinado aleatoriamente. Desencadenará el siguiente guión:

 n=n-prisoyo
 n1=n1+prisoyo
 jugador=1
 priesjugador=0

Como puede apreciarse, disminuye en número n de palillos disponibles según los que se hayan tomado e incrementa, en la misma medida, los que se van amontonando
  • uno para mostrar la cantidad de palillos restantes tras cada jugada
  • uno para establecer la cantidad de palillos disponibles aún.
© 2024 International GeoGebra Institute