Code Monkey home page Code Monkey logo

nanojack-php's Introduction

nanoJack-php

Vamos a escribir un programa Python que juegue a Nano Jack, un juego de cartas basado en el famoso Black Jack, pero con reglas un tanto relajadas. En el juego Nano Jack se utiliza un mazo de cartas por cada jugador que participa en el juego todas juntas mezcladas. Cada jugador va tomando de a una carta y sumando sus valores. Si logra que las obtenidas sumen 21 gana, si se pasa pierde.

En nuestro juego, un mazo de cartas será representado por una lista de números enteros entre 1 y 13, repetidos 4 veces cada uno (uno por cada palo). Vamos a escribir funciones en Python que, combinadas, permitan jugar al Nano Jack:

generar_mazos(n): Esta función recibe como parámetro n, un número entero positivo que representa la cantidad de mazos con los cuales se jugará (que dependerá del número de jugadores participantes). Como resultado, deberá devolver una lista conteniendo los valores de las cartas de los n mazos mezclados de manera aleatoria (Se puede utilizar la función de Python random.shuffle(a) del módulo random para mezclar las cartas).

jugar(m): recibe como parámetro un mazo m (que es una lista de números enteros entre 1 y 13) y realiza la mecánica de retirar cartas una a una hasta que la suma de los valores obtenidos sea mayor o igual a 21. El valor que devuelve esta función es la suma obtenida (aún si ésta fuera mayor a 21). Para que se puedan combinar luego varios jugadores, las cartas sacadas son retiradas del mazo de cartas, es decir, al terminar esta función, el mazo m deberá tener menos cartas (tantas como fueron sacadas para obtener el resultado de la función). Si el mazo no llegara a tener ninguna carta, esta función devolverá la suma obtenida (por ejemplo, devolvería 0 si el mazo no tuviera cartas). Ayuda: una_lista.pop(0) obtiene el valor del primer elemento de la lista una_lista, retirándolo también de esta última.

jugar_varios(m, j): toma un mazo de cartas m y un número de jugadores j. Se trata de usar la función definida en el punto anterior (jugar) con cada uno de los jugadores de uno en uno y se almacenará en una lista los valores obtenidos para cada uno de los j jugadores. Ayuda: llamar sucesivamente a la función jugar con el mazo restante.

ver_quien_gano(resultados): toma una lista de enteros, resultados que corresponde con la que devuelve la función jugar_varios. Se considera ganador al jugador que haya sumado 21. Se debe devolver una lista que indique para cada jugador si gano (con un 1), o si no (con un 0). Puede suceder que haya varios ganadores.

experimentar(rep,n): toma un número entero positivo rep y otro n. Juega Nano Jack rep veces con n jugadores. Devuelve una lista con n valores que representan cuántas veces ganó el jugador correspondiente (el elemento 0 guardará cuántas partidas ganó el primer jugador, el elemento 1 guardará cuántas el siguiente y así sucesivamente).

nanojack-php's People

Contributors

pronesti avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.