Skip to content

Commit 5689a75

Browse files
authored
Merge pull request #22 from python-la-paz/fix/s89/taicoding
Update Readme.md with detailed instructions for exercises
2 parents 2d3b87e + aa623e4 commit 5689a75

File tree

1 file changed

+34
-36
lines changed

1 file changed

+34
-36
lines changed

content/sesion09/Readme.md

Lines changed: 34 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -1252,26 +1252,28 @@ psg-oop-2025/
12521252

12531253
---
12541254

1255-
1. Crea el juego **"Piedra, Papel o Tijera"** utilizando el patrón **Singleton**
1256-
para asegurar que solo exista **una única instancia del juego** en ejecución
1255+
1. Crea el juego **“Piedra, Papel o Tijera”** implementando el patrón de diseño **Singleton**, con el fin de garantizar que exista **una única instancia del juego** en ejecución.
12571256

1258-
El juego permite que un jugador compita contra la computadora, la cual elige aleatoriamente entre las tres opciones:
1257+
En esta versión, un jugador compite contra la computadora, la cual selecciona aleatoriamente entre las tres opciones disponibles:
12591258

12601259
`Piedra` , `Papel` , `Tijera`
12611260

1262-
El objetivo es registrar las partidas ganadas por el jugador y por la computadora, manteniendo el control del puntaje dentro de la **única instancia** del juego
1261+
El sistema debe registrar las partidas ganadas tanto por el jugador como por la computadora, manteniendo el control del puntaje dentro de la **única instancia** del juego.
12631262

12641263
*(1/3)*
12651264

12661265
---
12671266

1268-
Crea la clase `PiedraPapelTijera` implementando el patrón **Singleton**
1269-
Debe incluir:
1267+
Implementa la clase **`PiedraPapelTijera`** aplicando el patrón de diseño **Singleton**, asegurando que exista **una única instancia del juego** durante toda la ejecución.
1268+
1269+
La clase debe incluir los siguientes métodos:
1270+
1271+
- **`iniciarPartida()`** → Permite jugar una ronda contra la computadora, que selecciona aleatoriamente entre `Piedra`, `Papel` o `Tijera`.
1272+
- **`mostrarPuntaje()`** → Muestra el puntaje acumulado del jugador y de la computadora.
1273+
- **`reiniciarJuego()`** → Restablece los puntajes a cero.
1274+
1275+
Además, se debe implementar un **menú interactivo en consola** con las siguientes opciones:
12701276

1271-
- Un método para **iniciar una partida**
1272-
- Un método para **mostrar el puntaje actual**
1273-
- Un método para **reiniciar el juego** (puntajes en cero)
1274-
- Un **menú interactivo en consola** que permita:
12751277
```markdown
12761278
1. Iniciar una nueva partida
12771279
2. Mostrar puntajes
@@ -1283,39 +1285,35 @@ Debe incluir:
12831285

12841286
---
12851287

1286-
Realiza el **análisis** y el **diagrama de clases** para la clase `PiedraPapelTijera` en el archivo `ejercicio_04.md`
1287-
1288-
Escribe el código Python en el archivo `ejercicio_04.py`
1289-
1290-
- Asegúrate de que las clases incluyan *atributos* y *métodos* coherentes con su propósito
1291-
1288+
- Elabora el **análisis** y el **diagrama de clases** de la clase `PiedraPapelTijera` en el archivo `ejercicio_01.md`.
1289+
- Implementa el código en **Python** dentro del archivo `ejercicio_01.py`.
1290+
- Asegúrate de que la clase incluya **atributos** y **métodos** coherentes con su propósito.
12921291
- Utiliza buenas prácticas de *nomenclatura*, *encapsulamiento* y *legibilidad*
1293-
1294-
- Prueba el juego en la consola para verificar su correcto funcionamiento
1292+
- Prueba el juego en la consola para verificar su correcto funcionamiento antes de enviar tu solución
12951293

12961294
*(3/3)*
12971295

12981296
---
12991297

1300-
2. Un DJ necesita una nueva consola de mezcla `BeatBox` que permita mezclar pistas de audio en tiempo real
1301-
Utiliza el patrón **Singleton** para asegurar que solo exista una única instancia de la consola de mezcla en ejecución
1302-
La consola debe permitir:
1303-
- Seleccionar pista de audio
1304-
- Subir y bajar volumen
1305-
- Mostrar el estado actual de la consola (pista seleccionada y volumen)
1306-
- Puede aplicar un efecto de sonido a la vez (eco, reverb, distorsión)
1298+
2. Un DJ requiere una nueva consola de mezcla llamada **`BeatBox`**, capaz de mezclar pistas de audio en tiempo real.
1299+
Para garantizar que exista **una única instancia de la consola en ejecución**, se debe implementar el patrón de diseño **Singleton**.
1300+
La consola debe permitir:
1301+
- **Seleccionar una pista de audio**
1302+
- **Ajustar el volumen** (subir o bajar)
1303+
- **Mostrar el estado actual** de la consola (pista seleccionada y nivel de volumen)
1304+
- **Aplicar un único efecto de sonido a la vez**, entre las opciones: `eco`, `reverb` o `distorsión`
13071305

13081306
*(1/3)*
13091307

13101308
---
13111309

1312-
Crea la clase `BeatBox` implementando el patrón **Singleton**
1313-
Debe incluir:
1314-
- Un método para **seleccionar pista de audio**
1315-
- Un método para **ajustar el volumen**
1316-
- Un método para **aplicar un efecto de sonido**
1317-
- Un método para **mostrar el estado actual** de la consola
1318-
- Un **menú interactivo en consola** que permita:
1310+
Crea la clase **`BeatBox`** implementando el patrón de diseño **Singleton**, de manera que exista **una única instancia de la consola de mezcla** durante la ejecución.
1311+
La clase debe incluir los siguientes métodos:
1312+
- **`seleccionar_pista()`** → Permite elegir una pista de audio.
1313+
- **`ajustar_volumen()`** → Permite subir o bajar el volumen.
1314+
- **`aplicar_efecto()`** → Aplica un efecto de sonido (eco, reverb o distorsión).
1315+
- **`mostrar_estado()`** → Muestra el estado actual de la consola (pista seleccionada y nivel de volumen).
1316+
El programa debe ofrecer un menú con las siguientes opciones:
13191317
```markdown
13201318
1. Ingresar el nombre de la pista de audio
13211319
2. Ajustar volumen
@@ -1328,11 +1326,11 @@ Debe incluir:
13281326

13291327
---
13301328

1331-
Realiza el **análisis** y el **diagrama de clases** para la clase `BeatBox` en el archivo `ejercicio_05.md`
1332-
Escribe el código Python en el archivo `ejercicio_05.py`
1333-
- Asegúrate de que las clases incluyan *atributos* y *métodos* coherentes con su propósito
1329+
- Realiza el **análisis** y el **diagrama de clases** para la clase `BeatBox` en el archivo `ejercicio_02.md`
1330+
- Implementa el código en **Python** dentro del archivo `ejercicio_02.py`
1331+
- Asegúrate de que la clase incluya **atributos** y **métodos** coherentes con su propósito.
13341332
- Utiliza buenas prácticas de *nomenclatura*, *encapsulamiento* y *legibilidad*
1335-
- Prueba la consola de mezcla en la consola para verificar su correcto funcionamiento
1333+
- Prueba el juego en la consola para verificar su correcto funcionamiento antes de enviar tu solución
13361334

13371335
*(3/3)*
13381336

0 commit comments

Comments
 (0)