curso

Cargando el código de máquina

Si recuerdan en el capítulo anterior, de nuestro curso de programación, definimos una máquina virtual con un código, o lenguaje de máquina bien preciso. En el diagrama sin embargo aparece una componente que no explicamos, se trata del **módulo loader. **Acá está la figura para que la recuerden: El módulo **loader **se encarga de cargar un programa, escrito en el lenguaje ensamblador, a la memoria de nuestra máquina virtual, para su posterior ejecución.

La lógica del juego de BlackJack

En el capítulo anterior, de nuestro curso de programación, escribimos las rutinas necesarias para interactuar con el usuario. Además escribimos la función blackjack() que es la rutina principal de nuestro juego. Ahora nos vamos a concentrar en la lógica del juego. Volvamos a revisar la función blackjack(): def blackjack(pozo, apuesta_minima): print ("Bienvenido al juego de black jack") apuesta = solicitar_apuesta(pozo, apuesta_minima) while apuesta_minima <= apuesta <= pozo: resultado = jugar_mano(apuesta, pozo) pozo += resultado mostrar_resultado(resultado, pozo) apuesta = solicitar_apuesta(pozo, apuesta_minima) print ("Gracias por participar, su pozo final es: ", pozo) Lo que vamos a escribir a continuación es la función jugar_mano().

La reglas del juego

Hasta ahora en las lecciones previas hemos aprendido como generar cartas y barajarlas. A continuación vamos a realizar una especificación de requerimientos para el juego de Black Jack. El juego de Black Jack En nuestro juego participará 1 sólo jugador, y el computador actuará como croupier. Este será un juego de apuestas. El juego consiste en obtener 21 puntos con las cartas que se tienen en la mano. Las cartas del 2 al 10 conservan su valor, las cartas de la J a la K tienen el valor 10, y el As puede valer 1 ú 11.

Un juego de naipes

Ya estamos en posición de dar un paso más interesante en nuestro cursillo de programación, creo que es momento de emprender un proyecto de mayor envergadura. Para que sea entretenido vamos a desarrollar un juego de cartas clásico: Black Jack. Durante los próximos capítulos vamos a aprender a trabajar con el azar y modelaremos un programa que permita jugar naipes con el computador. La Baraja Partamos por lo básico, los naipes, ¿cómo representaremos los naipes en nuestro programa?

Cadenas de caracteres

Los 140 caracteres que usas para escribir un tweet, el texto que escribes en tu estado en facebook, un mensaje de texto enviado desde tu teléfono móvil, un correo elestrónico, el texto de este post, una novela, una entrada en wikipedia, este mismo párrafo, todos esos son cadenas de caracteres. A una cadena de texto los programadores las llamamos string. Cada uno de los elementos de la cadena es un carácter.

Comparaciones y expresiones lógicas

Bien, espero que hayan estado experimentando con IDLE, el ambiente interactivo de Python. Volvamos a él y hagamos algunos experimentos. >>> n = 10 >>> n 10 >>> n > 0 True >>> n < 0 False La primera expresión es familiar, corresponde a la asignación de una variable, en este caso n, con el valor 10. La segunda expresión nos permite ver el valor de n. Luego comparamo n con 0, es decir, queremos ver si n es mayor que 0, lo que es cierto, python responde con el valor True (verdadero en inglés).

Primeros pasos en Python

Vamos a empezar a usar python como nuestro entorno de programación. Python provee un ambiente interactivo llamdo IDLE y es el que vamos a usar en nuestros primeros pasos. Yo usaré XUbuntu (una variante de Ubuntu Linux) y Windows 7 como mis sistemas operativos para este curso. En ambos voy a instalar Python 3. En XUbuntu (y Ubuntu también) puedes instalar Python IDLE usando el Ubuntu Software Center. En Windows descargas el instalador de Python 3 en www.

El lenguaje apropiado

Elegir el lenguaje apropiado para aprender a programar no es tarea fácil. Cualquier decisión puede ser objetada por diversas razones. En mi primer programa usamos javascript pues es, probablemente, el lenguaje de programación más difundido al estar disponible en todo navegador de internet. Sin embargo, aunque javascript es un lenguaje poderoso y se puede desarrollar perfectamente con él (a niveles que muchos programadores profesionales no sospechan), puede no ser el más apropiado para dar nuestros primeros pasos en la programación.

Código

Tienes unos 10 años y tu mejor amigo vive a unos pocos metros de distancia tuya, su ventana y la tuya se enfrentan, así que en la noche puedes conversar con él, hasta que los padres avisan que hay que “apagar la luz y acostarse”. ¡Qué lata! No sería genial tener una manera ideal de comunicarse con tu amigo? Bueno, hoy en día los chicos de esa edad tienen un teléfono móvil, pero no muchos padres les permiten gastarse mucho dinero en mensajes SMS, pero imaginen que estamos hablando de chicos de hace unos años atrás, de esos que tenían que ingeniárselas para seguir conversando con sus amiguitos en la noche.

Partir desde cero

Cuando nos enseñan a contar en la escuela lo hacen a partir del uno: 1, 2, 3...  Si hay una hilera de personas empezamos a contarlas desde 1. Por eso que los matemáticos tienen el conjunto de los números naturales que empieza desde 1: N = {1, 2, 3, 4…..}. Pero en computación las cosas empiezan desde cero. Según Wikipedia: “La palabra «cero» proviene de la traducción de su nombre en sánscrito shunya (vacío) al árabe sifr (صفر), a través del italiano.