buscar Buscar en RED Descartes    

Valora este artículo
(4 votos)

Leyendo el artículo titulado “Embaldosando con L-triominós (Un ejemplo de demostración por inducción)” del profesor Raúl Ibáñez publicado en la revista digital Cuaderno de Cultura Científica (Cátedra de Cultura Científica de la UPV/EHU), me surgió la idea de programar una escena con DescartesJS que permitiera a la vez que repasar algunos apartados interesantes sobre los mencionados embaldosados, manipular los L-Triomínos con tableros virtuales, entendiendo que esta herramienta permitiría al lector interesado abordar los retos que se proponen en el artículo.

 La imagen siguiente  lleva un enlace a la escena. Hacer clic izquierdo para abrirla en página nueva e interaccionar con ella. El documento en formato PDF que va a continuación proporciona información acerca de los conceptos, propiedades y retos relacionados con tableros y embaldosados con L-triominós extraidos del artículo de referencia mencionado al principio y va explicando en fases sucesivas los controles que proporciona la escena para poder practicar y abordar los retos propuestos.

Escena DescartesJS: Tableros 8x8

Descargar recursoDescargar recurso (actualizado 11-03-2023)

 

 

Viernes, 13 Mayo 2022 00:00

Juegos, estilos y Descartes

Escrito por
Valora este artículo
(2 votos)

Gracias a la gran evolución de la aplicación Descartes, los juegos didácticos de ADJA se ha podido ir mejorando en funcionalidad, jugabilidad, integración y estética. En este artículo nos vamos a centrar en este último aspecto, ya que recientemente se ha realizado una revisión de los juegos de AJDA, siendo uno de sus principales objetivos la mejora en el estilo de los mismos.

A modo de ejemplo indicamos a continuación algunas de las mejoras más significativas introducidas en la interfaz de los juegos:

  • Los controles, especialmente los de tipo botón, se muestran con bordes redondeados, resaltado al pasar el ratón por encima, sombra, distinción entre borde y relleno, posibilidad de mostrar o no degradados, introducción de imágenes, alineación de texto, etc. También otros controles han introducidos la posibilidad de introducir color, personalizar flechas, tamaño de letra, etc.
  • La presentación de textos se ha mejorado sensiblemente: alineación, bordes sombreados, saltos de línea, posibilidad de introducir nuevas fuentes, etc., además de muchas funciones para trabajar con cadenas de numéricas y alfanuméricas.
  • El manejo imágenes se ha enriquecido mucho: posibilidad de escalado, transparencia, rotación, recorte, introducción de imágenes en controles y fondos...
  • Se han incluido funcionalidades interesantes para trabajar con los distintos espacios: transparencias, bordes, redondeado de esquinas, posibilidad de redimensionamiento, nuevos fondos, etc. Además de la interesantísima posibilidad de trabajar con espacios html.
  • Unificación de estilos en el conjunto de juegos.
Desde el primer juego,"10x10", creado en 2007, hasta el más reciente. "Alquimistas", realizado en 2022, se puede observar una evolución en los juegos paralela a la que se ha producido en Descartes. Por ello, agradecemos el gran trabajo realizado por los creadores y desarrolladores de la aplicación y animamos a que continúen con esta magnífica labor. 
 
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
(8 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

 

 

Valora este artículo
(2 votos)

En los juegos del Proyecto AJDA se utilizan muy frecuentemente los números aleatorios. Ya sea al tirar un dado, una moneda, sacar cartas, colocar casillas en un panel, etc. Vamos a analizar como se ha realizado desde el punto de vista del código de DescartesJS.

Cuando simplemente se quiere obtener un número entero aleatorio entre uno y una cifra máxima, se puede invocar la siguiente función:

Número aleatorio = ent(rnd*cifra máxima)+1

Un ejemplo concreto, la función a invocar para obtener una tirada de un dado de seis caras sería la siguiente:

DADO = ent(rnd*6)+1

Otro ejemplo, la función a llamar para sacar una carta de la baraja española podría ser:

CARTA = ent(rnd*40)+1

La cifra máxima puede dejarse como parámetro o variable, de forma que pueda ser introducida a través de controles o determinada a través de un cálculo concreto. Un caso concreto podría ser determinar aleatoriamente el jugador que empieza una partida. Teniendo en cuenta que el número de jugadores es una variable que se introduce mediante un control (por ejemplo, NJ), la función quedaría de la siguiente forma:

EMPIEZA = ent(rnd*NJ)+1

En el caso de que se quieran obtener varios números aleatorios de forma independiente, es suficiente con invocar tantas funciones de este tipo como necesitemos. Por ejemplo, si lanzamos tres dados simultáneamente, las funciones podrían ser:

DADO1 = ent(rnd*6)+1

DADO2 = ent(rnd*6)+1

DADO3 = ent(rnd*6)+1

Otra cuestión sería obtener varios números aleatorios diferentes entre si, la cual la dejaremos para otro artículo.

 

 

 

Valora este artículo
(8 votos)

En este artículo se presentan dos misceláneas del Proyecto Descartes relacionadas con el cálculo de integrales dobles utilizando cambios de variable. En una de ellas se incluyen diferentes ejemplos que  muestran la interpretación geométrica del jacobiano y en la otra se puede practicar con el cálculo de integrales dobles sobre dominios descritos en coordenadas polares.

Acceso a la miscelánea: Interpretación geométrica del jacobiano.

Cuando en una integral doble o triple se realiza un cambio de variable, además de expresar la función y el dominio de integración en las nuevas coordenadas, se debe introducir en el integrando un factor que se corresponde con el valor absoluto del jacobiano de la transformación. Este término juega un papel equivalente al que tendría la derivada x'(t) cuando en una integral simple de una función de una variable x se realiza un cambio de la forma x=x(t) y se sustituye dx por x'(t)dt.

La miscelánea Interpretación geométrica del jacobiano incluye distintos ejemplos que justifican el papel del jacobiano como factor de escala entre las áreas o volúmenes de un dominio y su transformado cuando se realiza un cambio de variable.

En el siguiente video se explica el funcionamiento de esta miscelánea.

Acceso a la miscelánea: Integral doble sobre dominios en polares.

El cambio a coordenadas polares resulta especialmente útil en el cálculo de integrales dobles cuando la región cuenta con alguna simetría radial y/o la función de integración tiene una expresión más simple en estas coordenadas.

Plantear integrales utilizando estas coordenadas exige describir adecuadamente el dominio en las nuevas variables e introducir el jacobiano de la transformación. En la miscelánea Integral doble en dominios en polares se puede practicar con distintas regiones delimitadas por curvas en polares así como con el cálculo de las integrales iteradas que resultan.

En el siguiente video se ilustra las opciones y el funcionamiento de la miscelánea.

Valora este artículo
(12 votos)

En este artículo se presentan dos misceláneas del Proyecto Descartes que abordan el tema de la integración de funciones de dos variables. En una de ellas se introduce la definición de integral doble y en la otra se practica con su cálculo cuando el dominio de integración es un dominio plano regular.

En el siguiente video se explica la utilización de la primera de las escenas que tiene por objetivo comprender el concepto de integral doble de una función de dos variables sobre un rectángulo. Además, la miscelánea permite experimentar con la aproximación que proporciona la suma de Riemann dada una partición y visualizar la interpretación geométrica de la integral doble cuando se considera una función positiva.

Acceso a la miscelánea: Sumas de Riemann sobre rectángulos

Con la segunda miscelánea se puede practicar el cálculo de integrales dobles de funciones de dos variables sobre dominios regulares, es decir, sobre dominios planos que pueden describirse mediante franjas horizontales y/o franjas verticales.

El video muestra las posibilidades de la escena para definir un dominio regular y para plantear, a partir de la descripción establecida, las integrales iteradas que permiten calcular la integral doble. Para el cálculo de estas integrales se precisa tener conexión a internet.

Acceso a la miscelánea: Integral doble sobre dominios regulares

Valora este artículo
(2 votos)

Este mes vamos a ver en un vídeo la profundización de las funciones de cuarto de la eso, es decir las funciones racionales, exponenciales y logarítmicas.

Hemos tratado los siguientes puntos en este vídeo:

1.Funciones racionales
   Función de proporcionalidad inversa
   Las asíntotas
   Otras funciones racionales
   
2.Funciones exponenciales
   Características
   Crecimiento exponencial
   Aplicaciones

3.Funciones logarítmicas
   Función inversa de la exponencial
   Función logarítmica
   Logaritmos

Página 1 de 7

SiteLock

Módulo de Búsqueda

Palabras Clave

Título

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
Filter: