You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: content/sesion09/Readme.md
+34-36Lines changed: 34 additions & 36 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1252,26 +1252,28 @@ psg-oop-2025/
1252
1252
1253
1253
---
1254
1254
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.
1257
1256
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:
1259
1258
1260
1259
`Piedra` , `Papel` , `Tijera`
1261
1260
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.
1263
1262
1264
1263
*(1/3)*
1265
1264
1266
1265
---
1267
1266
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:
1270
1276
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:
1275
1277
```markdown
1276
1278
1. Iniciar una nueva partida
1277
1279
2. Mostrar puntajes
@@ -1283,39 +1285,35 @@ Debe incluir:
1283
1285
1284
1286
---
1285
1287
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.
1292
1291
- 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
1295
1293
1296
1294
*(3/3)*
1297
1295
1298
1296
---
1299
1297
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`
1307
1305
1308
1306
*(1/3)*
1309
1307
1310
1308
---
1311
1309
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:
1319
1317
```markdown
1320
1318
1. Ingresar el nombre de la pista de audio
1321
1319
2. Ajustar volumen
@@ -1328,11 +1326,11 @@ Debe incluir:
1328
1326
1329
1327
---
1330
1328
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.
1334
1332
- 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
0 commit comments