1
2 Diapositiva principalTrivial científico Proyecto Integrado 1º Bachillerato, 2º Trimestre Mario Bizcocho Luis Pérez María Sisamón Teresa Vilaplana Diapositiva principal
3 Introducción al proyectoEste trivial se compone de tres partes principales: las preguntas, que hay que buscar e introducir en el sistema; el tablero y mecanismos subyacentes, construidos dentro del videojuego “Minecraft”, que ofrece un maravilloso entorno creativo para este tipo de actividades, y el núcleo que controla todo esto, un sistema de ordenadores, también integrados en este escenario, que manejan la interacción entre ambos mediante programas creados en el código de programación Lua. El objetivo del juego es obtener todos los quesitos y luego responder correctamente a, al menos, 4 de 6 preguntas finales.
4 Índice de contenidos Preguntas Escenario ProgramaciónSelección de áreas Elaboración de preguntas Integración en el sistema Las entrañas El diseño La interfaz Introducción a Lua Creación del sistema Partes del sistema Lo que se va a ver
5 Selección de las preguntas e introducción en el sistema
6 Selección de las áreas Este trivial tiene seis áreas, que representan las cinco ramas que hemos juzgado más importantes de la Ciencia más un apartado de cultura general. Matemáticas Tecnología Física y Química Cultura General Biología Geología Ejemplos: Tecno: en qué se mide la intens. Lumímica? Bio: Cuánto dura el embarazo de un paquidermo? Geo: Qué genera un trueno? Fisica: Cuál es la unidad de medida de la fuerza? Mates: 10 1ºs dígitos de Pi Química: Cuál es el elemento con mayor masa atómica?
7 Elaboración de las preguntasPara elaborar las preguntas, se ha recurrido a un gran rango de páginas web, que han proporcionado material para elaborarlas, y se han organizado en un documento de Drive.
8 Integración en el sistemaPara la integración de las preguntas en el sistema se ha usado una utilidad programada para introducirlas en una base de datos, que solicita la pregunta, la respuesta correcta, las incorrectas y la categoría.
9 Escenario Construcción del escenario, funcionamiento y apariencia.
10 Interior del escenarioEn el interior del escenario, un conjunto de cables y ordenadores rigen el funcionamiento del sistema. La comunicación entre los elementos es con módems inalámbricos entre los ordenadores, y con cables entre estos y las máquinas. Hay 45 ordenadores en total en todo el tablero. 1º foto: tras los indicadores de quesito de las torres, abierto 2º foto: bajo las casillas, luces que indican la posición de los jugadores 3º foto: cables de los indicadores de quesito, bajo las torres 4º foto: estructura de subir y bajar las escaleras de la Pregunta Final
11 El diseño del escenarioLos tableros de Trivial Pursuit son redondos, por lo que este se tuvo que adaptar desde el principio. Tras hacer los cálculos para que fuera un cuadrado lo más regular posible vino la lluvia de ideas: hacer la sala de preguntas finales y los fuegos artificiales se nos ocurrió entonces, y una idea que al final no se ha implementado, el que los jugadores pudieran moverse por el tablero. Hay elementos que tenían que estar por funcionalidad, como o las placas solares del centro, que dan energía a las escaleras de la Pregunta Final.
12 La interfaz Para interactuar con el juego, los jugadores usarán únicamente un monitor táctil, conectado a un ordenador, y un indicador de quesitos, que estará en su torre. Estos dispositivos les mostrarán toda la información pertinente, y les permitirán introducir sus respuestas y moverse por el tablero. Se mueve con las luces de las casillas, claro.
13 Programación del sistemaUna introducción a Lua y cómo se ha programado el sistema informático del trivial.
14 Introducción a Lua Lua es un lenguaje de programación bastante sencillo de aprender, enfocado principalmente a su integración en otros programas hechos con otros lenguajes más completos (aunque puede funcionar solo). Está integrado en juegos como el League of Legends, cuya mayoría está hecha en Lua (menos los nodos que ejecutan este código), Angry Birds, Civilization V, Crysis o Driver: San Francisco, por mencionar unos pocos. Su uso principal, de hecho, es en juegos, por simplificar enormemente labores de procesamiento de información que serían muy difíciles de programar en otros códigos. Todo empieza con esto Mencionar las distintas jandeporas
15 Un ejemplo de la simplicidad de LuaPara poner “Hello, World” (“Hola, Mundo”) en la pantalla, en diferentes códigos: En COBOL IDENTIFICATION DIVISION. PROGRAM-ID. HELLO-WORLD. PROCEDURE DIVISION. DISPLAY 'Hello, world!'. STOP RUN. En Java public class HelloWorld { public static void main(String[] args) { System.out.println("Hello, World"); } } En FORTRAN program hello write(*,*) 'Hello, world!' end program hello En HTML (páginas web) Hello, world!
16 Fundamentos de Lua Tipos de datos: String (cadena de caracteres)Number Boolean Nil Table Userdata Thread Function Estructuras básicas en Lua Estructura de bucle While For Repeat Estructura condicional If Tipos de datos: String (cadena de caracteres) Boolean (verdadero o falso) Table (un conjunto de valores agrupado, con índices para acceder a ellos) Nil (valor nulo) Number (número) Function (una función ejecutable) Userdata (datos en C, para integración) Thread (línea de ejecución para operaciones multitarea) Estructuras básicas: Bucle While: repite sin condición o con ella, que se especifica al inicio. For: tiene dos variantes: Se indica un valor, que va aumentando con cada repetición, y se detiene cuando sobrepasa el tercer valor especificado. Se ejecuta un fragmento de código, y cuando da el valor nulo (nil) se para la ejecución. Repeat: se repite hasta que se da una condición, que se especifica con “until”. Condicional: con el operador “if” se indica una condición, y si se cumple, se ejecuta el contenido de esta. El final de una estructura se indica con el operador “end”.
17 Creación del sistema Controlador universalEste trivial ha sido programado con una utilidad gratuita llamada Notepad++, que facilita la edición de código (se podría programar con el Bloc de Notas) mediante la indicación de las estructuras propias del lenguaje. La ventaja es que es multicódigo: no sólo sirve para Lua, también soporta, entre otros, Java y HTML. Se ejecuta en ordenadores diseminados por todo el tablero, y estos dentro del ordenador que almacene el mapa. La estructura es la siguiente: Hablar de Rednet para abrir camino a lo siguiente Controlador universal Ordenadores de las torres Introducción de datos de los usuarios Muestran la casilla, los quesitos y las preguntas Ordenadores de las casillas Controlan las luces de las casillas Ordenadores de los indicadores Controlan las luces de los indicadores de quesitos en las torres.
18 Partes del sistema Este juego consta de varias secciones, cada una con su tarea específica. A continuación se detallan las mismas. Controlador Universal Ordenadores de las torres Ordenadores de las casillas Ordenadores de quesitos Monitor: es externo y táctil, es un bloque aparte, se pueden encadenar y formar uno más grande (siempre en forma de cuadrado o rectángulo). Módem: mensajes inalámbricos, de ordenador a ordenador, solo puede mandar cadenas de caracteres (texto) Módem Recibe los mensajes y los envía Ordenador Procesa la información Monitor Muestra información y es táctil
19 Controlador universalEste es el ordenador que está encima del tablero. En Minecraft, el rango de alcance de los ordenadores aumenta proporcionalmente a la altura, por eso este elemento esencial está tan elevado. Esto permite también la visualización desde arriba del conjunto. Su interfaz está limitada casi exclusivamente a mostrar información, pudiéndose introducir muy poca, y está reservada a los administradores. Coordina toda la red de ordenadores del tablero y manda la información correspondiente a cada uno. Solo para nosotros, es el que tiene las preguntas y las respuestas y el que las envía al resto de ordenadores. Muestra las respuestas correctas y las incorrectas desde que se formula la pregunta. Solo hay uno, en la zona de administradores.
20 Ordenadores de las casillasCada casilla tiene debajo un ordenador que controla sus luces. Así, cuando un equipo cae en una casilla, esta se ilumina del color de este, indicando que está ahí. Estas luces se actualizan con cada turno. Como el ordenador no es visible, no tiene ningún tipo de interfaz, únicamente recibe los mensajes por su módem y actúa en consecuencia. Subterráneos, solo muestran un texto con el color que se enciende o apaga cuando reciben un mensaje inalámbrico.
21 Ordenadores de las torresEstos ordenadores son los que los jugadores manipulan a través de los monitores adyacentes, y tienen una interfaz táctil. Muestran la información esencial en cada momento, y permiten introducir las respuestas oportunas en cada momento. También muestran las preguntas y respuestas de otros jugadores. No contienen las preguntas ni las respuestas, solo reciben los mensajes que se las indican (no si son correctas o no). Solo se puede interactuar con ellos por los monitores.
22 Ordenadores de los indicadores de quesitosEstos ordenadores controlan las luces de los laterales de las torres. Estas son los indicadores de los quesitos que tiene cada grupo, siendo esta la puntuación del juego. Reciben una tabla codificada con los quesitos de cada grupo en un “string” (cadena de caracteres), la decodifican y la interpretan, encendiendo las luces pertinentes.
23 Lo que se va a ver Pero de toda esta programación, evidentemente, sólo se verá el resultado. Los programas de los ordenadores subterráneos harán que ciertas luces se iluminen o que unas escaleras se desplieguen, mientras que los que están sobre tierra harán que los monitores muestren la información y que el trivial avance en general. Mostrarán las preguntas y las respuestas, harán las veces de dado y permitirán avanzar por el tablero.
24 Fin ¡Gracias por vuestra paciencia! Mario Bizcocho Luis PérezMaría Sisamón Teresa Vilaplana