Está en la página 1de 4

CC1001 Computacin I, Seccin 7 o o Tarea 1: Blackjack

Prof. Benjamin Bustos Auxs.: Romina Romero, Carolina Vlez e Fecha de entrega: jueves 5 de abril a las 23:59

Esta tarea consiste en implementar una versin sencilla del juego de naio pes Blackjack. La idea del juego es que un jugador pide cartas del naipe, tratando que su suma (es decir, el puntaje) no se pase de 21, sino pierde automticamente. Luego, la casa (en este caso simulada por el compua tador) juega y trata de obtener un puntaje mayor o igual al obtenido por el jugador. Para implementar su tarea considere lo siguiente: El jugador debe apostar una cierta cantidad de dinero para poder jugar (inicialmente parte con $1.000). Esta cantidad debe ser mayor estricta que cero y no debe superar el saldo que tenga el jugador en ese momento. Inicialmente se piden dos cartas para el jugador. El jugador puede pedir una carta o puede pasar. Si se pasa de 21 puntos pierde automticamente. Si tiene justo 21 puntos el programa a no debe volver a pedirle otra carta. Puntaje de las cartas: Las cartas del 2 al 10 tienen un puntaje igual a su nmero. u Los monos del naipe (J, Q, K) valen 10 puntos. El as (A) SIEMPRE vale 11 puntos (note que por esta restriccin o es posible pasarse de 21 puntos con las dos primeras cartas, si es que salen dos ases).

El computador pedir cartas hasta igualar o superar el puntaje del a jugador, o hasta tener 17 o ms puntos. a El jugador gana si su puntaje es mayor al del computador, o si el computador se pasa de 21. En caso contrario, pierde. Despus de cada juego, el jugador gana o pierde la cantidad que e apost para ese juego. El programa debe avisar si la casa gan o pero o di el juego y debe mostrar el nuevo saldo del jugador. o Si el jugador se queda sin dinero, no puede seguir jugando. El jugador puede retirarse al comenzar un juego ingresando 0 como apuesta (o cualquier nmero negativo). u Un ejemplo de ejecucin del programa es el que se muestra a continuao cin: o Bienvenido al juego de Blackjack Su saldo es $ 1000 Ingrese apuesta (0 para terminar): 300 2 J => Total: 12 Otra carta? (si=0, no=1) 0 5 => Total: 17 Otra carta? (si=0, no=1) 1 Total jugador: 17 Ahora juega la casa 6 5 Q Total casa: 21 La casa gana Su saldo es $ 700 Ingrese apuesta (0 para terminar): 500 10 9 => Total: 19 Otra carta? (si=0, no=1) 1 Total jugador: 19 Ahora juega la casa J 7 Total casa: 17 La casa pierde Su saldo es $ 1200 Ingrese apuesta (0 para terminar): 400 K Q => Total: 20

Otra carta? (si=0, no=1) 1 Total jugador: 20 Ahora juega la casa 8 3 4 6 Total casa: 21 La casa gana Su saldo es $ 800 Ingrese apuesta (0 para terminar): 0 Su saldo final es $ 800 . Gracias por jugar Blackjack! Su programa debe detectar si el jugador trata de apostar ms dinero del a que tiene: Su saldo es $ 1000 Ingrese apuesta (0 para terminar): 1100 No dispone de tanto dinero Su saldo es $ 1000 Ingrese apuesta (0 para terminar): Si el jugador se queda sin dinero, no puede seguir jugando: Su saldo es $ 500 Ingrese apuesta (0 para terminar): 500 6 A => Total: 17 Otra carta? (si=0, no=1) 0 5 => Total: 22 Total jugador: 22 Se paso de 21! La casa gana. Su saldo es $ 0 Su saldo final es $ 0 . Gracias por jugar Blackjack! Al preguntar por otra carta, el usuario debe escribir 0 si pide otra o 1 si no. El programa debe volver a preguntar si se ingresa cualquier otro nmero: u Ingrese apuesta (0 4 A => Total: 15 Otra carta? (si=0, Otra carta? (si=0, Otra carta? (si=0, Otra carta? (si=0, Otra carta? (si=0, para terminar): 600 no=1) no=1) no=1) no=1) no=1) 3 4 -1 3.14 0

3 => Total: 18 Otra carta? (si=0, no=1) Puede suponer que el usuario siempre ingresa nmeros mientras se ejeu cuta el programa. Para realizar esta tarea, dena las siguientes funciones (mtodos) e ime plemntelos, luego uselos para resolver la tarea. e def pedirCarta(): Genera aleatoriamente una carta vlida (un nmero a u entre 1 y 13) y retorna dicho valor. def puntajeCarta(carta): Retorna el puntaje de la carta (recuerde que el as siempre vale 1 punto y que J, Q, K valen 10 puntos). def mostrarCarta(carta): Imprime en pantalla la carta correspondiente, sin saltar de l nea (i.e., A, 2, 3, . . . , 10, J, Q o K). Notas importantes: Todos los mtodos indicados en el enunciado tienen que ser implemene tados y deben tener exactamente los encabezamientos indicados. La tarea debe estar en el archivo Tarea1.py. La tarea es individual y se revisar que no haya copias. a Use exactamente el dilogo que se indica en los ejemplos de este enuna ciado. Pueden crear mtodos adicionales si los necesitan. e Dudas sobre la tarea pueden postearlas en el foro del curso. La tarea debe entregarse a travs de la pgina de U-Cursos, seccin e a o TAREAS ATRASADAS NI ENTRETareas. NO SE ACEPTARAN GADAS POR OTROS MEDIOS.