Skip to content

Commit f546b0b

Browse files
committed
Update Readme.md with detailed instructions for the Singleton pattern exercises
1 parent aa623e4 commit f546b0b

File tree

1 file changed

+24
-19
lines changed

1 file changed

+24
-19
lines changed

content/sesion09/Readme.md

Lines changed: 24 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1201,7 +1201,7 @@ git commit -m "Sesión 09"
12011201
git push origin main
12021202
```
12031203

1204-
---
1204+
---
12051205

12061206
#### Resumen
12071207

@@ -1252,25 +1252,28 @@ psg-oop-2025/
12521252

12531253
---
12541254

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.
1256-
1255+
1. Crea el juego **Piedra, Papel o Tijera** implementando el patrón de diseño **Singleton**
12571256
En esta versión, un jugador compite contra la computadora, la cual selecciona aleatoriamente entre las tres opciones disponibles:
12581257

12591258
`Piedra` , `Papel` , `Tijera`
12601259

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.
1260+
Se 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.
12621261

1263-
*(1/3)*
1262+
*(1/4)*
12641263

12651264
---
12661265

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.
1266+
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.
12681267

12691268
La clase debe incluir los siguientes métodos:
12701269

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.
1270+
- `iniciarPartida()`: Permite jugar una ronda contra la computadora
1271+
- `mostrarPuntaje()`: Muestra el puntaje acumulado del jugador y de la computadora.
1272+
- `reiniciarJuego()`: Restablece los puntajes a cero.
1273+
1274+
*(2/4)*
1275+
1276+
---
12741277

12751278
Además, se debe implementar un **menú interactivo en consola** con las siguientes opciones:
12761279

@@ -1281,38 +1284,40 @@ Además, se debe implementar un **menú interactivo en consola** con las siguien
12811284
4. Salir
12821285
```
12831286

1284-
*(2/3)*
1287+
*(3/4)*
12851288

12861289
---
12871290

12881291
- Elabora el **análisis** y el **diagrama de clases** de la clase `PiedraPapelTijera` en el archivo `ejercicio_01.md`.
12891292
- 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.
1291-
- Utiliza buenas prácticas de *nomenclatura*, *encapsulamiento* y *legibilidad*
12921293
- Prueba el juego en la consola para verificar su correcto funcionamiento antes de enviar tu solución
12931294

1294-
*(3/3)*
1295+
*(4/4)*
12951296

12961297
---
12971298

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**.
1299+
2. Un DJ requiere una nueva consola de mezcla llamada **`BeatBox`**, capaz de mezclar pistas de audio en tiempo real.
13001300
La consola debe permitir:
13011301
- **Seleccionar una pista de audio**
13021302
- **Ajustar el volumen** (subir o bajar)
13031303
- **Mostrar el estado actual** de la consola (pista seleccionada y nivel de volumen)
13041304
- **Aplicar un único efecto de sonido a la vez**, entre las opciones: `eco`, `reverb` o `distorsión`
13051305

1306-
*(1/3)*
1306+
*(1/4)*
13071307

13081308
---
13091309

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.
1310+
Crea la clase **`BeatBox`** implementando el patrón de diseño **Singleton**
13111311
La clase debe incluir los siguientes métodos:
13121312
- **`seleccionar_pista()`** → Permite elegir una pista de audio.
13131313
- **`ajustar_volumen()`** → Permite subir o bajar el volumen.
13141314
- **`aplicar_efecto()`** → Aplica un efecto de sonido (eco, reverb o distorsión).
13151315
- **`mostrar_estado()`** → Muestra el estado actual de la consola (pista seleccionada y nivel de volumen).
1316+
1317+
*(24)*
1318+
1319+
---
1320+
13161321
El programa debe ofrecer un menú con las siguientes opciones:
13171322
```markdown
13181323
1. Ingresar el nombre de la pista de audio
@@ -1322,7 +1327,7 @@ El programa debe ofrecer un menú con las siguientes opciones:
13221327
5. Salir
13231328
```
13241329

1325-
*(2/3)*
1330+
*(3/4)*
13261331

13271332
---
13281333

@@ -1332,7 +1337,7 @@ El programa debe ofrecer un menú con las siguientes opciones:
13321337
- Utiliza buenas prácticas de *nomenclatura*, *encapsulamiento* y *legibilidad*
13331338
- Prueba el juego en la consola para verificar su correcto funcionamiento antes de enviar tu solución
13341339

1335-
*(3/3)*
1340+
*(4/4)*
13361341

13371342
---
13381343

0 commit comments

Comments
 (0)