-
Notifications
You must be signed in to change notification settings - Fork 461
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
README inicial del proyecto "Guess the Number" - JAVA #1532
Conversation
@vivieall asegurate porfa de ejecutar |
Es un juego interactivo que se lleva a cabo en la terminal, en el que la jugadora y la computadora toman turnos para intentar adivinar un número aleatorio entre 1 y 100. Tras cada intento, se ofrece una pista que indica si la suposición fue demasiado alta, demasiado baja o acertada. El juego prosigue hasta que el número es correctamente adivinado por alguna de las dos participantes (computadora y usuaria). | ||
|
||
## 3. Objetivos de aprendizaje | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@vivieall aqui debemos crear un archivo project.yml
con los OAs correspondientes de aqui
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
¡Realizado! Unicamente me percaté que hay un pequeñito bug en la identación aquí:
- uml:
- class-diagram
- abstraction
- composition
- interface
- polimorphism
Del resto todo ok, lo probé en mi local con dichos OA's y script generándose correctamente!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
y del inglés, que vendría a ser polymorphism .
- Se utilizará un número aleatorio entre 1 y 100 como número secreto. | ||
- La jugadora y la computadora se turnarán para adivinar el número. | ||
- Después de cada turno, se mostrará información sobre la suposición realizada. | ||
- El juego terminará cuando se adivine el número. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- El juego terminará cuando se adivine el número. | |
- El juego terminará cuando se adivine el número. Se debe mostrar la lista de todos los intentos del la jugadora ganadora. |
@vivieall pense en agregar este requerimiento para tener q usar algun collection
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actualizado. Última versión del README
- El nombre del jugador (persona o computadora). | ||
- La suposición que se hizo. | ||
- Un mensaje que indique si la suposición fue demasiado alta, demasiado baja o correcta. | ||
- El juego finalizará en cuanto la jugadora o la computadora acierte el número secreto. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- El juego finalizará en cuanto la jugadora o la computadora acierte el número secreto. | |
- El juego finalizará en cuanto la jugadora o la computadora acierte el número secreto. Se debe mostrar un mensaje de fin del juego, asi como una lista todos los intentos realizados por la jugadora ganadora. |
## 5. Consideraciones técnicas | ||
|
||
- El juego se llevará a cabo en la terminal haciendo uso de Java. | ||
- La lógica del juego se basará en estructuras de control, incluyendo ciclos y sentencias condicionales. | ||
- Se recomienda emplear funciones para segmentar el código y mejorar su legibilidad y mantenimiento. | ||
- Es posible hacer uso de bibliotecas o paquetes adicionales para la generación de números aleatorios. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
esto lo ves necesario @unjust ?
+------------------+ | ||
| GameLogic | | ||
+------------------+ | ||
|- randomNumber | | ||
|------------------| | ||
|+startGame() | | ||
|+checkGuess(int) | | ||
+------------------+ | ||
|
||
+--------------+ | ||
| Player | | ||
+--------------+ | ||
|- name | | ||
|--------------| | ||
|+guess() | | ||
|+getName() | | ||
+--------------+ | ||
^ | ||
| | ||
+--------------+ | ||
| Computer | | ||
+--------------+ | ||
|+autoGuess() | | ||
+--------------+ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Según la implementación propuesta algo asi debería ser el Class Diagram, no?
classDiagram
class GuessTheNumberGame {
- java.util.Random random$
- int targetNumber$
- Player player1
- Player player2
- checkGuess(int guess, Player player)$ boolean
+ main(String[] args)$
}
GuessTheNumberGame *-- Player
Player <|-- HumanPlayer
Player <|-- ComputerPlayer
<<abstract>> Player
class Player{
-String name
#Array~int~ guesses
+ makeGuess()* int
+ getName() String
+ getGuesses() Array~int~
}
class HumanPlayer {
+makeGuess() int
}
class ComputerPlayer {
-java.util.Random random
+makeGuess() int
}
Este es el codigo de mermaid para ese diagrama. Aca lo pueden ver en el editor de mermaid
classDiagram
class GuessTheNumberGame {
- java.util.Random random$
- int targetNumber$
- Player player1
- Player player2
- checkGuess(int guess, Player player)$ boolean
+ main(String[] args)$
}
GuessTheNumberGame *-- Player
Player <|-- HumanPlayer
Player <|-- ComputerPlayer
<<abstract>> Player
class Player{
-String name
#Array~int~ guesses
+ makeGuess()* int
+ getName() String
+ getGuesses() Array~int~
}
class HumanPlayer {
+makeGuess() int
}
class ComputerPlayer {
-java.util.Random random
+makeGuess() int
}
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
¡Súper! Lo he agregado al README como SVG. Por otro lado, hice una pequeña modificación, el diagrama de clases original utiliza Array~int~
para almacenar los intentos de la jugadora, lo cual es una estructura de datos, pero no es una implementación de la interfaz Collection en Java como tal. Ante ello, modifiqué el el campo Array~int~ guesses
a ArrayList~Integer~ guesses
. ¿Lo ves bien?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
la imagen debería se agnóstica de lenguaje de programación... quizás querramos usar el mismo proyecto para otro stack
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pending: Add use of collections and diagram class image.
Runned and tested! Working well :)
Agregado tips, lecturas y enlaces.
GUess the Number ya esta en la curricula |
Este PR draft introduce el proyecto "Guess the Number - Adivina el número", un juego interactivo diseñado para ayudar a las estudiantes a familiarizarse con Java y la programación orientada a objetos. En este borrador, se proporciona una descripción general del proyecto, incluyendo su propósito y cómo se juega. También se detallan las consideraciones generales y técnicas para la implementación del juego. Los objetivos de aprendizaje aún están pendientes de agregar.
El borrador incluye la estructura del índice y una descripción detallada de las clases propuestas para el juego, como GameLogic, Player y Computer, así como sus propósitos y métodos. Además, se presentan los criterios mínimos de aceptación del proyecto, que resumen lo que se espera lograr con el juego.
Este PR draft se crea para fomentar la colaboración y la revisión temprana de las ideas y la estructura del proyecto. ¡Espero sus comentarios y sugerencias para asegurarnos de que el proyecto siga en la dirección correcta!
PD. Commit respondiendo al issue 1500
Actualizado. Última versión del README