Skip to content

Commit 649f909

Browse files
authored
[doc] Complete missing todos (#23)
2 parents b6876e5 + 275c3ca commit 649f909

24 files changed

+424
-195
lines changed

.github/ISSUE_TEMPLATE/bug_report.md

Lines changed: 9 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,18 @@
11
---
2-
3-
name: "REPORT A BUG, HERE YOU HAVE A PATTERN"
4-
about: "Lets talk about bug or changes that can help us to improve the project."
5-
title: " 👉 - Short description of the bug"
2+
name: 'Report a bug'
3+
about: 'Basic report template with a structure to report a bug.'
4+
title: '<Verb in infinitive> Short title related to the bug'
65
labels: bug
7-
assignees: ""
8-
96
---
107

11-
## REPORT (Necessary)👀
12-
13-
### EXPECTED BEHAVIOR
8+
## Description
149

15-
Describe lo que esperabas que ocurriera al realizar los pasos anteriores.
16-
Explain to us what you were expecting from the program result after you introduced the data
10+
\<Short description of the bug>
1711

18-
### SCREENSHOTS OR FILE THAT SUPPLY EVIDENCE
12+
## Steps to reproduce it
1913

20-
If you could, please attach the log error or a screenshot
14+
1. \<Steps needed to reproduce the bug>
2115

22-
### ADDITIONAL INFORMATIONl
16+
## Expected behavior
2317

24-
Any important information that you want to mention.
18+
\<Expected behaviour on resolve the bug>
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
---
2+
name: 'Report a missing documentation'
3+
about: 'Basic report template with a structure to report a missing documentation.'
4+
title: '<Verb in infinitive> Short title related to the missing documentation'
5+
labels: documentation
6+
---
7+
8+
- `<Function, Macro, Structure, etc. with missing documentation>`

.github/ISSUE_TEMPLATE/fix_report.md

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
---
2+
name: 'Report a wanted fix'
3+
about: 'Basic report template with a structure to report a wanted fix.'
4+
title: '<Verb in infinitive> Short title related to the fix'
5+
labels: fix
6+
---
7+
8+
## Description
9+
10+
\<Short description of the fix>
11+
12+
## Expected behavior
13+
14+
\<Expected behaviour of the program on complete the fix>
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
---
2+
name: 'Report a wanted improvement'
3+
about: 'Basic report template with a structure to report a wanted improvement.'
4+
title: '<Verb in infinitive> Short title related to the improvement'
5+
labels: improvement
6+
---
7+
8+
## Description
9+
10+
\<Short description of the improvement>
11+
12+
## Benefits
13+
14+
\<Benefits on implementing the improvement>

.github/ISSUE_TEMPLATE/todo_report.md

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
---
2+
name: 'Report a new TODO'
3+
about: 'Basic report template with a structure to report a new TODO.'
4+
title: '<Verb in infinitive> Short title related to the new TODO'
5+
labels: todo
6+
---
7+
8+
## Description
9+
10+
\<Short description of the new TODO>
11+
12+
## Expected behavior
13+
14+
\<Expected behaviour of the program on complete the new TODO>

README.md

Lines changed: 65 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@
88
<strong>- <a href="https://www.unlam.edu.ar/">UNLaM</a> (National University of La Matanza) -</strong>
99
</p>
1010

11-
1211
<p align="center">
1312
<a href="#summary">Summary</a> •
1413
<a href="#features">Features</a> •
@@ -30,13 +29,7 @@
3029
</p>
3130

3231
<p align="center">
33-
<a href="#"> <!-- TODO -->
34-
<img src="./docs/statics/preview.png" width="800" alt="Preview"> <!-- TODO -->
35-
</a>
36-
</p>
37-
38-
<p align="center">
39-
<a href="#" target="_blank">(demonstration video)</a> <!-- TODO -->
32+
<img src="./docs/statics/preview.png" width="800" alt="Preview">
4033
</p>
4134

4235
## Summary
@@ -46,13 +39,18 @@ This repository contains the practical work for the Algorithms and Data Structur
4639
## Features
4740

4841
- Architecture planning.
42+
- Artificial intelligence (AI).
4943
- Code conventions and standards.
5044
- Code documentation using [Doxygen](https://www.doxygen.nl/) syntax.
5145
- Commits following the [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/).
46+
- Communication with [APIs](https://simple.wikipedia.org/wiki/Application_programming_interface) (GET and POST).
5247
- Continuous integration with [GitHub Actions](https://docs.github.com/en/actions).
5348
- Deployment of releases.
49+
- Dynamic memory.
50+
- Inputs control using validations.
51+
- local storage of records.
52+
- Singly linked list implementation.
5453
- Team Workflow planning (branches, tags, and releases).
55-
- TODO. <!-- TODO -->
5654

5755
## Installation
5856

@@ -77,7 +75,43 @@ This repository contains the practical work for the Algorithms and Data Structur
7775

7876
## How to play
7977

80-
TODO. <!-- TODO -->
78+
1. Start the game
79+
80+
When the program starts, a menu with three options will appear.
81+
82+
- [A] Play Tic-Tac-Toe: Starts a game of [Tic-Tac-Toe](https://en.wikipedia.org/wiki/Tic-tac-toe).
83+
- [B] Show ranking: Displays the current ranking of the group of players.
84+
- [C] Exit: Ends the program.
85+
86+
2. Start a match
87+
88+
- Players are asked to enter their names. Any number of names can be entered.
89+
- The play order is determined randomly and displayed on the screen.
90+
- Each player will be asked if they are ready to start.
91+
92+
3. During the match
93+
94+
- Each player will play a specified number of games, defined in the [configuration file](./src/statics/configuration.txt).
95+
- In each game, it is randomly assigned whether the player will be `X` or `O`.
96+
- The 3x3 board will be displayed, and the player must enter the position where they want to place their symbol.
97+
- The AI makes its move strategically:
98+
- Blocks the player's victory if possible.
99+
- Wins if it has the opportunity.
100+
- Plays randomly if there are no clear moves.
101+
- The turn alternates between the player and the AI until someone wins or a tie is declared.
102+
103+
4. End of the match
104+
- Points are assigned for each game as follows:
105+
- If the player wins, they receive 3 points.
106+
- If a tie is declared, the player receives 2 points.
107+
- If the AI wins, the player loses 1 point.
108+
- Once all games are completed, a report is generated with:
109+
- Details of the games (including the final state of the board).
110+
- Winner of each game.
111+
- Total score of each player.
112+
- Final result indicating the players with the highest score.
113+
- The report is saved in a text file with the format `game-report_YYYY-MM-DD-HH-mm.txt`.
114+
- The results are sent to an [API](https://simple.wikipedia.org/wiki/Application_programming_interface).
81115

82116
### Rules
83117

@@ -93,24 +127,29 @@ TODO. <!-- TODO -->
93127
<details>
94128
<summary>How can I change the game configuration?</summary>
95129

96-
TODO. <!-- TODO -->
130+
To change the configuration, open the file [configuration.txt](./src/statics/configuration.txt).
131+
132+
- To change the [API](https://simple.wikipedia.org/wiki/Application_programming_interface) base endpoint, replace `https://algoritmos-api.azurewebsites.net/api/TaCTi` with your desired endpoint.
133+
- To change the team name, replace `TABACO` with your preferred team name.
134+
- To change the number of games per player, replace `3` with the desired number of games.
135+
136+
> [!IMPORTANT]
137+
> If [configuration.txt](./src/statics/configuration.txt) is missing, the program won't start and will throw an error in the console.
97138
98139
</details>
99140

100141
### Use cases
101142

102-
<!-- TODO -->
103-
104-
|| Description | Expected result | Received result |
105-
| :-: | :---------- | :-------------- | :-------------- |
106-
| 1 | TODO. | TODO. | TODO. |
107-
| 2 | TODO. | TODO. | TODO. |
108-
| 3 | TODO. | TODO. | TODO. |
109-
| 4 | TODO. | TODO. | TODO. |
110-
| 5 | TODO. | TODO. | TODO. |
111-
| 6 | TODO. | TODO. | TODO. |
112-
| 7 | TODO. | TODO. | TODO. |
113-
| 8 | TODO. | TODO. | TODO. |
143+
|| Description | Expected result | Received result |
144+
| :-: | :------------------------------------------- | :---------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------- |
145+
| 1 | Start the game and select `Play Tic-Tac-Toe` | Prompts for player names and starts the game with a random player | Players take turns randomly to play. |
146+
| 2 | Enter player names | Entered players are registered correctly | Player names are registered and assigned `0` initial points. |
147+
| 3 | Play a turn and win against the AI | The player receives 3 points | 3 points are added to the `points` field of the player structure. |
148+
| 4 | Play a turn and tie against the AI | The player receives 2 points | 2 points are added to the `points` field of the player structure. |
149+
| 5 | Play a turn and lose against the AI | The player loses 1 point | 1 point is subtracted from the `points` field of the player structure. |
150+
| 6 | Complete all games and generate a report | A `.txt` file is generated with the total score | A `.txt` file is generated with the game statistics. |
151+
| 7 | Check group ranking | The group ranking is displayed | The [API](https://simple.wikipedia.org/wiki/Application_programming_interface) is queried, and the group ranking is displayed. |
152+
| 8 | End the game | The program ends without errors | The program ends without errors. |
114153

115154
## Application structure
116155

@@ -223,17 +262,17 @@ C-Algorithms-Practical-Work-2025/
223262

224263
### Tags
225264

226-
- `vMAJOR.MINOR.PATCH`: This tag indicates a release of the practical work following [Semantic Versioning](https://semver.org/), and will only be present in the `Master` branch commits.
265+
- `vMAJOR.MINOR.PATCH`: This tag indicates a [release](https://github.com/hozlucas28/C-Algorithms-Practical-Work-2025/releases) of the practical work following [Semantic Versioning](https://semver.org/), and will only be present in the `Master` branch commits.
227266

228267
### Branches
229268

230-
- `Master`: Branch containing the development versions of the practical work, where team members will introduce new changes (commits).
269+
- `Master`: Branch containing the development versions of the practical work, where team members will introduce new changes (commits) through [pull requests](https://github.com/hozlucas28/C-Algorithms-Practical-Work-2025/pulls?q=is%3Apr).
231270

232271
> [!IMPORTANT]
233272
> Stable versions are only available as [releases](https://github.com/hozlucas28/C-Algorithms-Practical-Work-2025/releases).
234273
235274
> [!NOTE]
236-
> The other branches are fictional and represent individual contributions from each member to the `Master` branch.
275+
> The other branches are fictional and represent individual contributions from each member through [pull requests](https://github.com/hozlucas28/C-Algorithms-Practical-Work-2025/pulls?q=is%3Apr) to the `Master` branch.
237276
238277
## Development team
239278

docs/statics/preview.png

558 KB
Loading

docs/statics/preview.psd

2.14 MB
Binary file not shown.

docs/translations/es/README.md

Lines changed: 65 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -29,13 +29,7 @@
2929
</p>
3030

3131
<p align="center">
32-
<a href="#"> <!-- TODO -->
33-
<img src="../../statics/preview.png" width="800" alt="Vista previa">
34-
</a>
35-
</p>
36-
37-
<p align="center">
38-
<a href="#" target="_blank">(video demostrativo)</a> <!-- TODO -->
32+
<img src="../../statics/preview.png" width="800" alt="Vista previa">
3933
</p>
4034

4135
## Resumen
@@ -44,14 +38,19 @@ Este repositorio contiene el trabajo práctico de la materia Algoritmos y Estruc
4438

4539
## Características
4640

41+
- Almacenamiento local de registros.
42+
- Comunicación con [APIs](https://en.wikipedia.org/wiki/API) (GET y POST).
4743
- Confirmaciones siguiendo la guía de los [Commits Convencionales](https://www.conventionalcommits.org/es/v1.0.0/).
44+
- Control de entradas utilizando validaciones.
4845
- Convenciones y estándares de código.
4946
- Despliegue de entregables.
5047
- Documentación del código utilizando la sintaxis de [Doxygen](https://www.doxygen.nl/).
48+
- Implementación de lista enlazada simple.
5149
- Integración continua con [GitHub Actions](https://docs.github.com/es/actions).
50+
- Inteligencia artificial (IA).
51+
- Memoria dinámica.
5252
- Planificación de la arquitectura.
5353
- Planificación del flujo de trabajo del equipo (ramas, etiquetas y versionado).
54-
- TODO. <!-- TODO -->
5554

5655
## Instalación
5756

@@ -76,7 +75,43 @@ Este repositorio contiene el trabajo práctico de la materia Algoritmos y Estruc
7675

7776
## Cómo jugar
7877

79-
TODO. <!-- TODO -->
78+
1. Iniciar el juego
79+
80+
Al iniciar el programa, aparecerá un menú con tres opciones.
81+
82+
- [A] Jugar Tic-Tac-Toe: Comienza una partida de [Tateti (Ta-C-Ti)](https://es.wikipedia.org/wiki/Tres_en_l%C3%ADnea).
83+
- [B] Mostrar ranking: Muestra el ranking actual de los jugadores del grupo.
84+
- [C] Salir: Finaliza el programa.
85+
86+
2. Iniciar una partida
87+
88+
- Se solicita ingresar los nombres de los jugadores. Se puede ingresar la cantidad de nombres que se desee.
89+
- El orden de juego se determina aleatoriamente y se muestra en pantalla.
90+
- Cada jugador será consultado si está listo para comenzar.
91+
92+
3. Durante la partida
93+
94+
- Cada jugador jugará una cantidad determinada de partidas, definida en el [archivo de configuración](../../../src/statics/configuration.txt).
95+
- En cada partida, se asigna aleatoriamente si el jugador será `X` o `O`.
96+
- Se mostrará el tablero 3x3 y el jugador deberá ingresar la posición donde desea colocar su símbolo.
97+
- La IA realiza su jugada de manera estratégica:
98+
- Bloquea la victoria del jugador si es posible.
99+
- Gana si tiene la oportunidad.
100+
- Juega aleatoriamente si no hay jugadas claras.
101+
- El turno alterna entre el jugador y la IA hasta que alguien gane o se declare empate.
102+
103+
4. Finalización de la partida
104+
- Por cada partida se asignan puntos de la siguiente manera:
105+
- Si el jugador gana, recibe 3 puntos.
106+
- Si declara empate, el jugador recibe 2 puntos.
107+
- Si la IA gana, el jugador pierde 1 punto.
108+
- Una vez finalizadas todas las partidas, se genera un informe con:
109+
- Detalle de las partidas (incluyendo el estado final del tablero).
110+
- Ganador de cada partida.
111+
- Puntaje total de cada jugador.
112+
- Resultado final indicando los jugadores con mayor puntaje.
113+
- El informe se guarda en un archivo de texto con el formato `informe-juego_YYYY-MM-DD-HH-mm.txt`.
114+
- Los resultados se envían a una [API](https://en.wikipedia.org/wiki/API).
80115

81116
### Reglas
82117

@@ -92,24 +127,29 @@ TODO. <!-- TODO -->
92127
<details>
93128
<summary>¿Cómo puedo cambiar la configuración del juego?</summary>
94129

95-
TODO. <!-- TODO -->
130+
Para cambiar la configuración, abre el archivo [configuration.txt](../../../src/statics/configuration.txt).
131+
132+
- Para cambiar el endpoint base de la [API](https://en.wikipedia.org/wiki/API), reemplaza `https://algoritmos-api.azurewebsites.net/api/TaCTi` con el endpoint que desees.
133+
- Para cambiar el nombre del equipo, reemplaza `TABACO` con el nombre del equipo que prefieras.
134+
- Para cambiar el número de juegos por jugador, reemplaza `3` con la cantidad de juegos que desees.
135+
136+
> [!IMPORTANTE]
137+
> Si falta el archivo [configuration.txt](../../../src/statics/configuration.txt), el programa no iniciará y mostrará un error en la consola.
96138
97139
</details>
98140

99141
### Casos de uso
100142

101-
<!-- TODO -->
102-
103-
|| Descripción | Resultado esperado | Resultado recibido |
104-
| :-: | :---------- | :----------------- | :----------------- |
105-
| 1 | TODO. | TODO. | TODO. |
106-
| 2 | TODO. | TODO. | TODO. |
107-
| 3 | TODO. | TODO. | TODO. |
108-
| 4 | TODO. | TODO. | TODO. |
109-
| 5 | TODO. | TODO. | TODO. |
110-
| 6 | TODO. | TODO. | TODO. |
111-
| 7 | TODO. | TODO. | TODO. |
112-
| 8 | TODO. | TODO. | TODO. |
143+
|| Descripción | Resultado esperado | Resultado recibido |
144+
| :-: | :------------------------------------------------- | :----------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------- |
145+
| 1 | Iniciar el juego y seleccionar `Jugar Tic-Tac-Toe` | Solicita los nombres de los jugadores y comienza el juego un jugador aleatorio | Los jugadores se turnan aleatoriamente para jugar. |
146+
| 2 | Ingresar nombres de jugadores | Se registran correctamente los jugadores ingresados | Los nombres de los jugadores se registran y se les asigna `0` puntos iniciales. |
147+
| 3 | Jugar un turno y ganar contra la IA | El jugador recibe 3 puntos | Se suman 3 puntos al campo `puntos` de la estructura del jugador. |
148+
| 4 | Jugar un turno y empatar contra la IA | El jugador recibe 2 puntos | Se suman 2 puntos al campo `puntos` de la estructura del jugador. |
149+
| 5 | Jugar un turno y perder contra la IA | El jugador pierde 1 punto | Se resta 1 punto al campo `puntos` de la estructura del jugador. |
150+
| 6 | Completar todas las partidas y generar un informe | Se genera un archivo `.txt` con el puntaje total | Se genera un archivo `.txt` con las estadísticas de las partidas. |
151+
| 7 | Consultar ranking del grupo | Se muestra el ranking del grupo | Se consulta a la [API](https://en.wikipedia.org/wiki/API) y se muestra el ranking del grupo. |
152+
| 8 | Finalizar el juego | El programa finaliza sin errores | El programa finaliza sin errores. |
113153

114154
## Estructura de la aplicación
115155

@@ -222,17 +262,17 @@ C-Algorithms-Practical-Work-2025/
222262

223263
### Etiquetas
224264

225-
- `vMAYOR.MINOR.PATCH`: Esta etiqueta indica la publicación de un Release del trabajo práctico siguiendo el [Semantic Versioning](https://semver.org/), y solo estará presente en las confirmaciones de la rama `Master`.
265+
- `vMAYOR.MINOR.PATCH`: Esta etiqueta indica la publicación de una [Release](https://github.com/hozlucas28/C-Algorithms-Practical-Work-2025/releases) del trabajo práctico siguiendo el [Semantic Versioning](https://semver.org/), y solo estará presente en las confirmaciones de la rama `Master`.
226266

227267
### Ramas
228268

229-
- `Master`: Rama que alberga las versiones en desarrollo del trabajo práctico, donde los miembros del equipo incorporarán nuevos cambios (confirmaciones).
269+
- `Master`: Rama que alberga las versiones en desarrollo del trabajo práctico, donde los miembros del equipo incorporarán nuevos cambios (confirmaciones) a través de [Pull Requests](https://github.com/hozlucas28/C-Algorithms-Practical-Work-2025/pulls?q=is%3Apr).
230270

231271
> [!IMPORTANT]
232272
> Las versiones estables solo están disponibles como [lanzamientos](https://github.com/hozlucas28/C-Algorithms-Practical-Work-2025/releases).
233273
234274
> [!NOTE]
235-
> Las demás ramas son ficticias y representan las contribuciones individuales que cada miembro hará sobre la rama `Master`.
275+
> Las demás ramas son ficticias y representan las contribuciones individuales de cada miembro a través de [Pull Requests](https://github.com/hozlucas28/C-Algorithms-Practical-Work-2025/pulls?q=is%3Apr) a la rama `Master`.
236276
237277
## Equipo de desarrollo
238278

0 commit comments

Comments
 (0)