Lunes, 21 Junio 2021 00:00

Como se hizo. Juegos con tiempo

Escrito por
Valora este artículo
(0 votos)

En parte de los juegos de AJDA es necesario utilizar y medir el tiempo de duración de las preguntas u otras acciones del juego.

El tiempo es un valor que se introduce en una o varias variables y cuya variación se controla normalmente a través del algoritmo de la pestaña Animación del editor de DescartesJS.

 
A través del mismo se inicializan las variables y se establece cuando empieza, se para, reanuda, etc, a través de las instrucciones incluidas en sus apartados hacer y mientras. A través del mismo se pueden introducir varias variables para controlar más de un tiempo, por ejemplo, para controlar un tiempo para cada jugador.
 
Sin embargo, es importante tener en cuenta que la ejecución del algoritmo puede ser más o menos rápida dependiendo del equipo informático en el que se ruede. Además, en muchas ocasiones puede ser conveniente poder modular el transcurso del mismo.
 
Por ello, los juegos que utilizan tiempo, llevan un control tipo barra para modulación de la velocidad del mismo en la parte superior derecha. Este control, llamado habitualmente TIM, puede ser modificado en cualquier momento del juego y cuyo valor se incluyen en los incrementos y decrementos de tiempo de los juegos.
 

 

Otra cuestión relacionada con el tiempo es que cuando los cronómetros se presentan en pantalla y se quiere que el valor del tiempo aparezca centrado en ellos, al pasar de 3 cifras, a 2 o a 1, la posición del valor del tiempo del cronómetro se descentra. Actualmente DescartesJS contiene funciones que permiten centrar los textos, pero cuando la mayoría de los juegos fueron realizados dichas instrucciones no estaban implementadas. Para ello se utilizaron condicionales que desplazaban la posición de los textos según su número de cifras:
 
 [20+((t>=10)?5),30]
 
Otra opción más reciente fue utilizar controles tipo botón, que no ejecutasen ninguna acción para utiliza cronómetros y marcadores con valores centrados.
Viernes, 22 Enero 2021 00:00

Como se hizo. Interfaz multi-idioma

Escrito por
Valora este artículo
(5 votos)

Una de las características de los juegos didácticos es que se puede seleccionar el idioma de la interfaz, en cualquier momento, a través del menú desplegable situado en la esquina superior derecha de todos los juegos.

 

A continuación se comentan los  principales aspectos de su implementación, teniendo en cuenta que las palabras o frases de cada idioma se introducen en un fichero de texto, manteniendo el mismo orden en todos ellos.

El citado menú de control , identificado como FICHIDM, contiene una opción para cada idioma. Al seleccionarse un determinado idioma a través del mismo se realizan las siguientes acciones:

  • Dar un valor a la variable FICHID, que adquirirá el dato del nombre del fichero de texto del idioma en cuestión (por defecto el idioma es español, esp, establecido como tal en las variables iniciales por defecto):

FICHID=(FICHIDM=0)?'esp':((FICHIDM=1)?'alb':((FICHIDM=2)?'ale':((FICHIDM=3)?'ara':((FICHIDM=4)?'ben':((FICHIDM=5)?'bul':.....:'esp')))))...

 

  • La última opción del menú permite cargar directamente el fichero de idioma a través del explorador del navegador, lo cuál permitiría utilizar ficheros de idioma diferentes a los existentes para el juego. La instrucción que se usa en este caso es:
cargaridm=((FICHIDM=43)?_Open_('abriridioma'):0)
 
  •  Se establece la variable que indica la ruta relativa completa del fichero de idioma TOTALID (donde RUTAID es la ruta relativa y EXT la extensión ".txt"):
TOTALID=RUTAID+FICHID+EXT

 

  • Se ejecuta la definición/algoritmo: FICHEROIDIOMA() 
El algorítrmo FICHEROIDIOMA(), en su campo hacer contiene las siguientes instrucciones, que se comentan a continuación:
 
cadena3b=(_Load_(TOTALID)#'')?_Load_(TOTALID):IDMDEFECTO
cadena3='<IDM>\n '+cadena3b+'</IDM>'
SUBIRIDM=(CID=0)?_StrToVector_(cadena3,'IDM'):' '
 
  • En la variable cadena3b se cargan los datos del fichero de idioma cuya ruta viene dada por la variable TOTALID (se hace una comprobación de que el fichero existe y si no carga el idioma por defecto).
  • La variable cadena 3, es la variable cadena3b a la que se la incluido al principio <IDM> (y un salto de línea \n) y al final </IDM>. Esto es necesario para que en la siguiente operación la cadena 3 pueda ser transformada en un vector.
  • La función SUBIRIDM convierte la cadena 3 en el vector IDM.
Ahora ya cada nombre de control o etiqueta de texto del juego debe incluir como nombre o texto a mostrar el dato del vector del fichero de idioma correspondiente. Para los nombre de controles debe ir entre corchetes [IDM[nº líne del texto]] y para los textos se introducen como variables, con el valor IDM[nº líne del texto].
Valora este artículo
(2 votos)
En este artículo presentamos como obtener varios números aleatorios diferentes para los juegos del Proyecto AJDA desde el punto de vista de su código DescartesJS. Esta opción es muy utilizada en los juegos, como por ejemplo para: que las preguntas que se hacen a los participantes sean diferentes y aleatorias, obtener diferentes cartas de una baraja, obtener diferentes fichas de dominó, seleccionar diferentes participantes para realizar una acción en un suelo, etc.
 
En primer lugar se crea un vector vacío, cuyas dimensión sea la del número aleatorio máximo que se puede obtener (se puede indicar un número o dejarlo como parámetro). En este ejemplo llamaremos al vector valores 2.
 

 

Se crea un algoritmo (que hemos llamado iniciaValores2()) que rellena cada una de las filas del vector creado anteriormente desde cero hasta la cifra máxima del número aleatorio, tal y como se indica a continuación.
 
 
Se genera un nuevo algoritmo (que hemos denominado permutar2()) que asigna a cada fila un valor entre el cero y la cifra máxima pero con una reordenación aleatoria. Comentamos el funcionamiento del algoritmo: se van a ir recorriendo las distintas filas del vector (valores2) por orden secuencial (desde cero a la Cifra-max) y en cada ciclo primero se obtiene un numero aleatorio entre cero y la cifra máxima, después se extrae el valor de la fila del vector dado por ese número aleatorio, a la fila extraída aleatoriamente se le da el valor de la fila que le corresponde por orden secuencial de la iteración y a ésta el valor de la fila sacada aleatoriamente. De esta forma en cada iteración se van permutando los números de las filas del vector de forma que tenemos un vector con un número aleatorio diferente en cada fila.
 

 

Cuando invoquemos los dos algoritmos creados (en el ejemplo iniciaValores2() y permutar2()) tendremos un vector (valores2) cuyas filas contienen números diferentes y con valores aleatorios entre el cero y la cifra máxima que podremos utilizar cuando necesitemos.
Sábado, 28 Noviembre 2020 03:24

Cinco generaciones de consolas retro

Escrito por
Valora este artículo
(7 votos)

Hace poco recordaba cómo los videojuegos llegaron a mi existencia, tenía un poco mas de 15 años. A esa edad cursaba 4º de bachillerato (Noveno grado actualmente y 4 ESO en España), edad en la que la actividad física era intensa, pues luego del estudio dedicábamos muchas horas a jugar “fútbol callejero”.

consola1

Fuente: Pues… mira la esquina inferior derecha (en mi tiempo, las porterías las hacíamos con dos piedras, cuya separación dependía del número de jugadores).

Recuerdo a Jairo, mi compañero de estudios, con el que me ponía de acuerdo en no trasladarnos en bus del barrio al colegio y viceversa, para ahorrarnos los pasajes y poder disfrutar, al regreso, de un buen juego de futbolito, en el que también derrochábamos mucha energía.

consola2

Fuente: https://es.wikipedia.org/

Cierta vez, cuando regresábamos del colegio (Instituto Popular de Cultura, hoy Instituto Tecnológico Metropolitano – ITM –), ingresamos al sitio donde solíamos jugar al futbolito, nos llevamos una gran sorpresa. En el lugar donde esperábamos hallar nuestro entretenimiento había un extraño mueble, algo así como un armario en el que se había puesto un televisor… nos acercamos.

¡Quedamos impactados! Dos muchachos, como nosotros, movían una raqueta (en realidad era un rectángulo, pero el asombro nos hacía ver una raqueta) evitando que una pelota se desbordara de la pantalla (en realidad era un cuadradito, pero el embrujamiento nos hacia ver una pelota) ¿cómo podían hacerlo?, ¿cómo podían interactuar con el televisor? (en realidad no era un televisor, pero desde nuestros conocimientos previos era una TV).

Pong se volvió, en términos actuales, en un juego viral, por su novedad que, pese a estar diseñado en dos dimensiones, impactó al naciente adicto a los vídeojuegos. La única interacción del jugador era mover una paleta (palanca) verticalmente, procurando devolver la pelota muy al estilo de un juego de tenis (Rivera, Pág. 14).

consola3

Fuente: https://es.wikipedia.org/wiki/Pong

Una vez los muchachos terminaron, el dueño del establecimiento se nos acercó y nos preguntó ¿quieren jugar ping pong?, ¡era un juego de tenis de mesa!... un extraño y mágico juego de tenis ¿quieren jugar el telebolito?, insistió el dueño (pese al gran letrero en el armario “Pong”, en Colombia se le llamó “telebolito”).

Ese día, Jairo y yo nos habíamos gastado el pasaje, comprando las láminas del álbum de turno, no recuerdo si era de ciclismo o de futbol. ¡No tenemos plata!, le dijimos al dueño… ¡No importa, hoy es gratis! Era la famosa “probadita”, excelente estrategia de mercadeo que hoy en día todavía funciona… los días siguientes, el dinero de los pasajes fue a parar a las arcas del dueño del telebolito… adiós al fútbol callejero, desde ese momento el gran ejercicio se redujo a las manos y, obviamente, al ejercicio mental.

Esta la historia de cómo el primer videojuego, lanzado por Atari en 1972, llegó a mi vida (existe una discrepancia histórica, pues pare ser que el origen del juego es de Magnavox Odyssey, véase el litigio en Rivera, Pág. 23). Pero, sin importar de quién fue la idea, lo cierto es que el Pong da origen a la “adicción a los videojuegos”.

Hace poco también recordaba que en las décadas de los setenta y ochenta se da origen a una avalancha de consolas de videojuegos, donde el nombre que más se repetía era “Atari”, era la “edad dorada de los vídeo juegos”. En esa época, cuando alguien (por no decir videoadicto) estaba jugando, solíamos expresar “está jugando Atari”, así sea que estuviese en una Commodore, un Sinclair, una Colecovision o en una Tandy. Después de 1984, la frase se transforma a “está jugando Nintendo” que se reconfigura a “está jugando play” con la aparición de la Play Station en 1995.

Pero, ¿por qué esta nostalgia? Todo ocurre al leer un artículo en https://www.elotrolado.net/ sobre la evolución de las consolas, del cual he diseñado el siguiente interactivo, que recoge esta evolución desde la primera generación (1972) hasta el inicio de la sexta en 1999. El interactivo incluye accesos a 15 juegos, nueve vídeos y tres magazines.

Pulsa sobre la imagen, para acceder a la escena interactiva

consola4

Si eres de mi generación o cercana a ella, seguramente disfrutarás de este retorno al pasado. Si fuiste tan adicto, como yo, te recomiendo dos libros, también publicados en nuestra red:

Juegos Retro: https://proyectodescartes.org/iCartesiLibri/materiales_didacticos/Juegos_Retro/index.html

Corporaciones Retro: https://proyectodescartes.org/iCartesiLibri/materiales_didacticos/Corporaciones_Retro/index.html

 

 

Página 1 de 11

SiteLock

Módulo de Búsqueda

Palabras Clave

Titulo

Categoría

Etiqueta

Autor

Acceso

Canal Youtube

 Youtube CanalDescartes

Calculadora Descartes

Versión 3.1 con estadística bidimensional

ComparteCódigo para embeber

Utilizamos cookies para mejorar nuestro sitio web y su experiencia al usarlo. Las cookies utilizadas para el funcionamiento esencial de este sitio ya se han establecido. Para saber más sobre las cookies que utilizamos y cómo eliminarlas , consulte nuestra Política de Privacidad.

  Acepto las Cookies de este sitio.
EU Cookie Directive Module Information