Guess The Number es un juego interactivo que se desarrolla en el terminal, donde la jugadora y el ordenador se turnan para intentar adivinar un número aleatorio entre 1 y 100. Deben tener en cuenta la tentativa anterior, si fue "muy alta" o "muy baja".
- Este proyecto debe desarrollarse de manera individual.
- La estimación de tiempo para completar el proyecto es de 1 a 2 Sprints.
- Concéntrate en adquirir conocimientos en lugar de simplemente "terminar" el proyecto.
- Ten paciencia. No te preocupes demasiado por lo que aún no entiendes completamente.
- Tu aprendizaje se desarrollará a medida que progreses.
- La jugadora y el ordenador se turnarán en turnos para intentar adivinar el número.
- Después de cada tentativa, se debe mostrar:
- El nombre del jugador (persona o computadora).
- La suposición realizada.
- Un mensaje indicando si la suposición fue muy alta, muy baja o correcta.
- El juego terminará tan pronto como la jugadora o el ordenador adivine el número secreto. Debe mostrarse un mensaje de fin de juego, así como una lista de todas las tentativas realizadas por la jugadora ganadora.
¡Diviértete construyendo tu juego de adivinanza de números! 🎲🎮
Reflexiona y luego marca los objetivos que has llegado a entender y aplicar en tu proyecto. Piensa en eso al decidir tu estrategia de trabajo.
-
Modificadores de acesso (public, private, protected)
-
Uso de condicionales
-
Uso de bucles (Loops)
-
Datos primitivos vs no primitivos
-
Cadenas
-
Arreglos
- ArrayList
-
JUnit
-
Mockito
-
Clases
-
Objetos
-
Métodos
-
Atributos
-
Constructores
-
Encapsulamiento
-
Abstracción
-
Composición
-
Interfaces
-
Herencia (super, extends, override)
-
Lenguaje de Modelado Unificado (UML, class diagrams)
-
Variables (declaración, asignación, ámbito)
-
Uso de condicionales (if, elif, ternario)
-
Operadores (identidad, aritméticos, comparación etc)
-
Docstrings (y su diferencia de comentarios)
-
Linting (pylint)
-
Tipos de datos primitivos (int, float, str, bool)
-
Listas (arrays)
-
Tuples
-
Dictionaries (Dicts)
-
Sets
-
Conceptos basicos (params, args, default values, return)
-
Uso de bucles/ciclos (while, for..in)
-
Pruebas unitarias (unit tests, unittest, pytest)
-
Uso de mocks (y patch)
-
Uso de fixtures
-
Módulos
-
pip (instalación y uso de paquetes)
-
Virtual Environment (ambientes virtuales, virtualenv)
-
requirements.txt
-
Variables
-
Condicionales
-
Bucles/Ciclos
-
Operadores
-
Modificadores de Acceso
-
Espacios de Nombres (namespaces)
-
Tipos de datos primitivos
-
Tipos de datos no primitivos
-
Listas
-
Arreglos
-
Conjuntos (Sets)
-
Funciones Lambda
-
Decoradores (Atributos)
-
xUnit
-
MSTest
-
Git: Instalación y configuración
-
Git: Control de versiones con git (init, clone, add, commit, status, push, pull, remote)
-
Git: Integración de cambios entre ramas (branch, checkout, fetch, merge, reset, rebase, tag)
-
GitHub: Creación de cuenta y repos, configuración de llaves SSH
-
GitHub: Colaboración en Github (branches | forks | pull requests | code review | tags)
-
GitHub: Organización en Github (projects | issues | labels | milestones | releases)