Juego – Adivina la cueva del dragón – Python

Como ya dije otras veces, Invent Your Own Computer Games with Python es un libro gratuito y libre que te enseña a programar juegos de ordenador en Python. Cada ciertos capítulos te muestra el código completo de un nuevo juego y luego te explica los conceptos de programación de dicho código.

Uno de los juegos más sencillos y más interesantes para aprender es Adivina la cueva del dragón, aquí os paso el código completo para ejecutarlo en Python 3 en adelante.

import random import time def displayIntro(): print() print('Te encuentras en un lugar lleno de dragones. Delante') print('tuya ves dos cuevas. En una vive un dragon afable que ') print('tiene escondido un tesoro para ti. El otro dragon') print('es agresivo y no dudara en comerte.') print() def chooseCave(): cave = '' while cave != '1' and cave != '2': print('Elige una de las dos cuevas (1 o 2)') cave = input() return cave def checkCave(chosenCave): print('Te acercas a la cueva...') time.sleep(2) print('Esta oscura y silenciosa...') time.sleep(2) print('y de repente un dragon se abalanza hacia ti,') print('abre la boca y...') print() time.sleep(2) friendlyCave = random.randint(1, 2) if chosenCave == str(friendlyCave): print('Te da el tesoro!') else: print('Te come de un solo bocado!') playAgain = 'yes' while playAgain == 'yes' or playAgain == 'y': displayIntro() caveNumber = chooseCave() checkCave(caveNumber) print('Juegas de nuevo? (yes o no)') playAgain = input() read more

Leer más » 3 Comentarios

Comunicacion entre Procesos con Named Pipes

 
Las “Named Pipes” o “Tuberias Nombradas” son el nombre de una tecnica para lograr realizar una comunicacion entre procesos, a esto se le conoce como IPC (Inter Process Communication).  Permite a dos procesos en una misma maquina o de diferentes maquinas conectadas compartir mensajes entre procesos para comunicarse, esto es necesario en ocasiones en sistemas multitarea o multiproceso.

Leer más » 4 Comentarios

Juego – Adivina el número – Python

Como ya dije la semana pasada, Invent Your Own Computer Games with Python es un libro gratuito y libre que te enseña a programar juegos de ordenador en Python. Cada ciertos capítulos te muestra el código completo de un nuevo juego y luego te explica los conceptos de programación de dicho código.

Uno de los juegos más sencillos y más interesantes para aprender es Adivina el número, aquí os paso el código completo para ejecutarlo en Python 3 en adelante.

# This is a guess the number game. import random guessesTaken = 0 print('Hello! What is your name?') myName = input() number = random.randint(1, 20) print('Well, ' + myName + ', I am thinking of a number between 1 and 20.') while guessesTaken < 6: print('Take a guess.') # There are four spaces in front of print. guess = input() guess = int(guess) guessesTaken = guessesTaken + 1 if guess < number: print('Your guess is too low.') # There are eight spaces in front of print. if guess > number: print('Your guess is too high.') if guess == number: break if guess == number: guessesTaken = str(guessesTaken) print('Good, ' + myName + '! You guessed my number in ' + guessesTaken + ' guesses!') if guess != number: number = str(number) print('Nope. The number I was thinking of was ' + number) read more

Leer más » 1 Comentario

NSA

Leer más » 7 Comentarios

Manejo de Hilos en Java – Tutorial

En este pequeño tutorial veremos como manejar diferentes procesos en Java utilizando Hilos mediante la clase Thread. Un Thread es un hilo de ejecucion en un programa en java, el cual permite tener multiples instancias de hilos corriendo de forma simultanea en una aplicacion. Los hilos tienen un valor denominado prioridad, el cual puede pedir a java que en una situacion en que tenga que elegir cual proceso ejecutar inclinarse por uno u otro hilo, por default los hilos en java se inicializan con la misma prioridad.

En java existen dos formas distintas de crear un nuevo hilo, heredando de la clase Thread o implementando la Interfaz Runnable. Si utilizamos la opcion de implementar la interfaz Runnable, mas tarde tendremos que utilizarlo de parametro en una nueva instancia de la clase Thread para inicializarlo. Veamos un Ejemplo utilizando estas dos formas de crear hilos en java, se crearan dos hilos, uno creado heredando de la clase Thread y otro implementandolo de la interfaz Runnable, tambien veremos la forma de inicializarlos y el resultado al ejecutarlo, Veamos.

Logo Java

  • CODIGO

Clase Main

public class Main { public static void main(String args[]){ //Creamos el hilo 1 que hereda de la clase Thread Hilo1 hilo1 = new Hilo1(); //Creamos el hilo 2 que implementa la clase Runnable Hilo2 hilo2 = new Hilo2(); /* * Establecemos prioridad * (podemos jugar con valores de 1 y 10 * y veremos cual proceso termina primero * y cual segundo dependiendo de el valor * que asignemos aqui. */ hilo1.setPriority(10); //iniciamos los procesos hilo1.start(); new Thread(hilo2).start(); } } read more

Leer más » 4 Comentarios

Lo mejor de mi RSS del 2 al 8 de septiembre de 2013

Leer más » 1 Comentario

Lo mejor de mi timeline del 1 al 7 de septiembre

https://twitter.com/Manz/status/376081392519880704

Leer más » 1 Comentario

Mostrar los asteriscos de la contraseña en un terminal

Por defecto en Linux, algo que resulta un poco engorroso, según que caso, es no conocer cuántos caracteres llevamos escritos cuando estamos rellenando el campo de una contraseña bajo un terminal. Algunos dirán que es más seguro no mostrar cuántos caracteres se escriben, de esta manera si alguien nos estuviera mirando lo tendría más difícil a la hora de tratar de averiguar lo escrito.

ver_contraseña_linux_hispano

Sea como fuere, prefiero tener ese feedback de que estoy escribiendo en el momento que escribo, y no solo hablo de la pulsación de una tecla física del teclado. Bien, así, la forma de solventarlo es fácil. Abrimos un terminal y ejecutamos visudo: read more

Leer más » 2 Comentarios

Dutyful, una herramienta complemento al concepto de “standup meeting”

Dutyful es una herramienta que se ofrece como complemento al concepto de “standup meeting”, una reunión de equipo que se realiza cada día antes de empezar a trabajar. Este tipo de reuniones forman parte de metodologías ágiles como Scrum.

Como seña de identidad Dutyful es una herramienta que utiliza el correo electrónico como pieza fundamental para gestionar equipos y fomentar la colaboración, de la forma más sencilla y cómoda posible.

Dutyful envía un correo diario a los miembros del equipo de trabajo, preguntando lo que se ha hecho en el día. Cada miembro del equipo responde a ese email comentando los avances y objetivos que ha conseguido en la jornada. read more

Leer más » 1 Comentario

Entrada de datos en consola con Python

Si quieres un programa en Python 3 sin interfaz gráfica y que la entrada de datos la realice el usuario durante la ejecución del programa y en consola la función a usar es la de input.

Veamos un sencillo ejemplo:

print('Nombre: ')
nombre = input()
print('Es un placer conocerte, ' + nombre)
Leer más » 2 Comentarios