Ir al contenido principal

Juegos

Pequeños desarrollos de juegos
que voy realizando en python con programación orientada a objetos (POO)
, para aquellos que estén interesados en aprender  sobre estos temas.

Empiezo por los clásicos, que seguro recordamos todos los de mi generación ("Pong", "Snake", "Space invaders", "Frogger", "Tetris", ...).

Descargar:

Próximamente:



1.- PYTHON + TKINTER + SQLITE:

1.1.- Publicados:

1.1.1.- MASTERMIND v1.0: todo un cásico entre los juegos de mesa clásicos (1971), y que consiste en descubrir una secuencia de colores oculta.

- El ordenador genera aleatoriamente un código secreto de colores que oculta bajo el escudo.

El jugador selecciona 4 clavijas de colores a insertar en sus respectivos agujeros grandes, pudiendo repetir colores. Tras completarse cada fila, el ordenador muestra los aciertos de colores (clavija blanca) y de colores y posiciones (clavija negra).

Operaciones que se pueden realizar:

1. Colocar una clavija de colores en un agujero grande: Para ello se selecciona una clavija de colores y, después, se pulsa sobre la clavija del agujero grande en el que se desea colocar.

2.- Cambio de clavija de colores ubicada en un agujero grande: Para ello se selecciona una clavija de colores y, después, se pulsa sobre la clavija de colores que se desea cambiar por la primera.

3.- Quitar clavija de colores de un agujero grande: Para ello se pulsa sobre la parte superior derecha (agujero de clavija grande) y, después, se pulsa sobre la clavija del agujero grande del que se desea quitar la clavija.

Al finalizarse la partida, bien porque se han completado las 10 filas de agujeros grandes sin darse con el código secreto de colores, bien por agotarse el tiempo límite para obtener el código secreto (30 minutos) o bien por completar una fila de agujeros grandes coincidente con el código secreto de colores, el ordenador mostrará el código secreto.

Al completarse cada fila de agujeros grandes, el ordenador irá actualizando los puntos que se van obteniendo: 5 puntos por cada clavija blanca y 15 por cada clavija negra, y al finalizarse la partida, si se ha dado con el código secreto de colores, el ordenador añadirá 60 puntos más por cada fila no utilizada y un punto adicional por cada segundo  no consumido.

1.2.- Próximamente:

1.2.1.- BUSCAMINAS 
v1.0: Un juego clásico de ordenador, creado en 1989, y que consiste en despejar un campo de minas sin detonar ninguna. Nombre original en inglés 'Minesweeper'.

Los niveles de dificultad del juego (principiante, intermedio, experto y personalizado) vienen definidos por el tamaño del tablero y el número de minas ocultas en el mismo.

En esta primera versión sólo se puede jugar en el nivel 'principiante', pero sería muy fácil ampliar el programa para que contemple los otros tres niveles indicados; algo que se realizará para versiones posteriores que se incluyan en este blog.

Este juego ha sido programado para muchos sistemas operativos, pero debe su popularidad a las versiones que vienen con Microsoft Windows, desde su versión 3.1. hasta la 8.

2.- PYTHON + PYGAME:

2.1.- Publicados:

2.1.1.- PONG v1.0: El clásico por excelencia entre los videojuegos clásicos, publicado por Atari en 1972. Está basado en el deporte de tenis de mesa (o 'ping pong') y fue el primer videojuego con éxito comercial.

Gana el jugador que consiga más puntos que su oponente al finalizar el juego. Los puntos se obtienen cuando el jugador adversario falla al devolver la pelota.

2.1.2.- SNAKE v.1.0: Snake es otro de los clásicos entre los clásicos. Se trata de un videojuego de  tipo arcade y fue lanzado al mercado en 1976. En 1998, Snake obtuvo una audiencia masiva tras convertirse en un juego estándar pregrabado en los teléfonos Nokia.

El jugador controla a una serpiente, que se desplaza a velocidad constante dentro de un plano delimitado, recogiendo frutas (suelen ser manzanas), tratando de evitar golpearse contra las paredes que delimitan el área de juego o contra su propia cola. Cada vez que la serpiente se come una fruta, la cola crece. El jugador controla la dirección de la cabeza de la serpiente (arriba, abajo, izquierda o derecha) y el cuerpo de la serpiente la sigue. Además, el jugador no puede detener el movimiento de la serpiente, mientras que el juego está en marcha.

2.1.3.- SPACE INVADERS v.1.0: Otro gran clásico de los videojuegos; juego de arcade fabricado y vendido por Taito Co. Fue lanzado al mercado en 1978. En mis tiempos, lo conocíamos como 'los marcianitos'.

El jugador controla un cañón, que puede moverse a la derecha o izquierda y un botón de disparo.​ Su objetivo es destruir filas de extraterrestres invasores (de los cuales hay tres tipos: con forma de calamar, de cangrejo y de pulpo) que van acercándose a la Tierra cada vez más rápidamente a medida que el jugador va destruyendo a los aliens.​ Si los invasores alcanzan con sus disparos al cañón el jugador pierde una vida, y si se agotan las vidas o los alienígenas  llegan al nivel del cañón controlado por el jugador, el juego termina.

Cada cierto tiempo aparece en la pantalla, por encima de los invasores, un platillo volante que se mueve aleatoriamente de derecha a izquierda o viceversa, y cuya destrucción por parte del jugador le da a éste una cantidad aleatoria de puntos extras. Además se tienen cuatro escudos de protección terrestre (búnkeres) que cubren al jugador del fuego alienígena, pero que son destruidos gradualmente por los disparos de los invasores y del propio cañón del jugador.

Y después de esta primera versión retro, una versión remasterizada:

2.2.- Próximamente:

2.2.1.- FROGGER v.1.0: Este mítico videojuego, publicado en 1981 y desarrollado por Konami, consiste en guiar a una rana hasta su hogar.
Para hacerlo, la rana debe evitar vehículos mientras cruza una carretera congestionada y luego cruzar, por encima de troncos y tortugas (curiosamente :D, la rana no sabe nadar), un río lleno de amenazas; evitando caimanes, víboras y castores en el río, pero puede comer insectos o acompañar a una rana hembra para obtener puntos adicionales.

En 1982, este videojuego se ganó la siniestra distinción de ser el juego arcade con más formas en las que puede morir su protagonista, entre ellas: ser atropellado por un vehículo en la carretera; caerse al río; ser atrapado por una víbora, castor o las mandíbulas de un caimán; hundirse con una tortuga que comienza a bucear; saltar a una casa ya ocupada por otra rana o por un caimán, o no acertar a entrar en ella, saltando a un costado de la misma; exceder el límite de tiempo para llegar a una casa, ...

Este videojuego ha inspirado numerosos clones, y es considerado como uno de los 10 mejores videojuegos de todos los tiempos.

2.2.2.- TETRIS v.1.0: Otro de los gandes clásicos entre los juegos de arcade. Fue publicado en 1984, y consiste en que el jugador vaya guiando la caída de las piezas que salen de la parte superior de la pantalla, pudiendo rotarlas y moverlas lateralmente para elegir el sitio donde cae cada una de ellas.

Cuando se completa una línea horizontal ésta desaparece y todas las piezas que están por encima descienden una línea, lo que facilita la colocación de nuevas piezas.

El juego finaliza cuando las piezas se amontonan hasta llegar a lo más alto, impidiendo la salida de más piezas.

La dificultad del juego va increméntandose progresivamente por el aumento de la velocidad de caída de las piezas.​

El nombre 'tetris' deriva del griego 'tetra', haciendo referencia a los cuatro cuadrados que componen cada pieza (llamadas tetrominós; en plural tetriminos).

Este juego ha sido históricamente uno de los videojuegos más populares, reconocidos (ha estado en diversas ocasiones en los primeros puestos en el escalafón de "Mejores juegos de todos los tiempos") y versionados, y está disponible para casi todas las consolas de videojuegos y sistemas operativos de PC, así como para gran cantidad de otros dispositivos (teléfonos móviles, ...).

2.2.3.- KLONDIKE v.1.0: Un gran clásico entre los juegos de mesa clásicos: Klondike (la variante más popular del solitario). Se trata de un juego de cartas para un solo jugador que consiste en ir apilando, en orden ascendente, los cuatro palos de una baraja de póker. En este juego se utilizan 52 cartas de una baraja estándar (es decir, todas menos los dos comodines).

Este juego adquirió una gran popularidad cuando Microsoft lo incluyó en su sistema operativo Windows 3.0.2.​ Fue desarrollado en 1989.

En la parte superior izquierda de la ventana, después de ser barajado, aparece boca abajo el mazo de cartas.

A su derecha se va descubriendo el mazo, de tres cartas en tres cartas; sólo se ve la última de ellas, quedando las dos primeras boca abajo debajo de ésta. Esta última, la colocada más arriba, se irá bajando a las 7 columnas de cartas que se muestran más abajo, y se podrán ir descubriendo las que se encuentran debajo de ella, y, después, descubrir tres nuevas cartas del mazo. 

En la parte superior derecha se ven las cuatro pilas de los palos de los naipes en la que hay que ir colocando, en orden ascendente, todas las cartas que componen cada uno de ellos.

Justo debajo de esa línea superior se colocan 7 columnas de cartas. Cada columna, de izquierda a derecha, contendrá una carta más que la anterior y sólo se mostrará la última carta de cada columna.

Es decir, la primera columna contendrá una única carta, la segunda 2,..., y la séptima 7.

En cada una de estas columnas se deben ir organizando las cartas de manera descendente y alternando los colores de los palos. Cada carta o conjunto de cartas boca arriba de una columna se puede mover  a otra columna, siempre y cuando la carta más alta sea menor que la de la columna a la que se mueve. Las columnas vacias se pueden llenar con cualquier carta o conjunto de cartas.

El jugador perderá cuando ningún movimiento le conduzca al objetivo de ir apilando, en orden ascendente, los cuatro palos de la baraja, y, lógicamente, ganará cuando consiga este objetivo.

Comentarios

Entradas populares de este blog

Criptografía (I): cifrado Vigenère y criptoanálisis Kasiski

Hace unos días mi amigo Iñaki Regidor ( @Inaki_Regidor ), a quien dedico esta entrada :), compartió en las redes sociales un post titulado "Criptografía: el arte de esconder mensajes"  publicado en uno de los blogs de EiTB . En ese post se explican ciertos métodos clásicos para cifrar mensajes , entre ellos el cifrado de Vigenère , y , al final del mismo, se propone un reto consistente en descifrar un mensaje , lo que me ha animado a escribir este post sobre el método Kasiski  para atacar un cifrado polialfabético ( conociendo la clave descifrar el mensaje es muy fácil, pero lo que contaré en este post es la forma de hacerlo sin saberla ). El mensaje a descifrar es el siguiente: LNUDVMUYRMUDVLLPXAFZUEFAIOVWVMUOVMUEVMUEZCUDVSYWCIVCFGUCUNYCGALLGRCYTIJTRNNPJQOPJEMZITYLIAYYKRYEFDUDCAMAVRMZEAMBLEXPJCCQIEHPJTYXVNMLAEZTIMUOFRUFC Como ya he dicho el método de Vigenère es un sistema de sustitución polialfabético , lo que significa que, al contrario que en un sistema de

Criptografía (XXIII): cifrado de Hill (I)

En este post me propongo explicar de forma comprensible lo que he entendido sobre el cifrado de Hill , propuesto por el matemático Lester S. Hill , en 1929, y que se basa en emplear una matriz como clave  para cifrar un texto en claro y su inversa para descifrar el criptograma correspondiente . Hay tres cosas que me gustan de la criptografía clásica, además de que considero que ésta es muy didáctica a la hora de comprender los sistemas criptográficos modernos: la primera de ellas es que me "obliga" a repasar conceptos de matemáticas aprendidos hace mucho tiempo y, desgraciadamente, olvidados también hace demasiado tiempo, y, por consiguiente, que, como dice  Dani , amigo y coautor de este blog, me "obliga" a hacer "gimnasia mental"; la segunda es que, en la mayoría de las ocasiones, pueden cifrarse y descifrase los mensajes, e incluso realizarse el criptoanálisis de los criptogramas, sin más que un simple lápiz y papel, es decir, para mi es como un pasat

¿Qué significa el emblema de la profesión informática? (I)

Todas o muchas profesiones tienen un emblema que las representa simbólicamente y en el caso de la  informática: " es el establecido en la resolución de 11 de noviembre de 1977  para las titulaciones universitarias superiores de informática, y  está constituido por una figura representando en su parte central  un  núcleo toroidal de ferrita , atravesado por  hilos de lectura,  escritura e inhibición . El núcleo está rodeado por  dos ramas : una  de  laurel , como símbolo de recompensa, y la otra, de  olivo , como  símbolo de sabiduría. La  corona  será la  de la casa real  española,  y bajo el escudo se inscribirá el acrónimo de la organización. ". Veamos los diferentes elementos tomando como ejemplo el emblema del COIIE/EIIEO (Colegio Oficial de Ingenieros en Informática del País Vasco/ Euskadiko Informatikako Ingeniarien Elkargo Ofiziala ) . Pero no sólo el COIIE/EIIEO adopta el emblema establecido en dicha resolución, sino que éste se adopta también como im