Skip to content

Commit bf40d61

Browse files
authored
Merge develop branch into Master branch - Release v1.4.0 (#9)
2 parents 8cd9ebf + a9b055a commit bf40d61

30 files changed

+606
-262
lines changed

.github/translations/en/documentation.md

Lines changed: 7 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Code Documentation
1+
# Code documentation
22

33
This document provides a series of templates and examples to document the [structures](#structures), [functions](#functions), and [macros](#macros) of the application.
44

@@ -21,10 +21,7 @@ The documentation must follow these rules:
2121
* <DETAILED DESCRIPTION OF THE STRUCTURE (PURPOSE, AND LISTS OF FIELDS)>.
2222
*/
2323
typedef struct {
24-
/**
25-
* @brief <BRIEF DESCRIPTION OF THE MEMBER>.
26-
*/
27-
DataType01 member01;
24+
DataType01 member01; /** <BRIEF DESCRIPTION OF THE MEMBER>. */
2825

2926
// ...
3027
} MyStruct;
@@ -42,15 +39,8 @@ _For example..._
4239
* representing the x and y coordinates.
4340
*/
4441
typedef struct {
45-
/**
46-
* @brief The x-coordinate of the point.
47-
*/
48-
int x;
49-
50-
/**
51-
* @brief The y-coordinate of the point.
52-
*/
53-
int y;
42+
int x; /** The x-coordinate of the point. */
43+
int y; /** The y-coordinate of the point. */
5444
} Point2D;
5545
```
5646

@@ -116,7 +106,9 @@ int factorial(int n) {
116106
* @def <MACRO NAME>
117107
* @brief <BRIEF DESCRIPTION OF WHAT THE MACRO DOES>.
118108
*
119-
* @warning <WARNINGS ABOUT THE USE OF THE MACRO (OPTIONAL)>.
109+
* <DETAILED DESCRIPTION OF THE MACRO (OPTIONAL)>.
110+
*
111+
* @warning <WARNINGS ABOUT THE USE OF THE MACRO>.
120112
*/
121113
#define MY_MACRO value
122114
```

.github/translations/en/requirements.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,13 @@
33
> [!CAUTION]
44
> 2 grades are required in the subject, the practical work (PW) must be submitted and defended individually in parts 1 and 2 before the midterm exam. The defense will be individual, and you must demonstrate mastery of the tools in general and the practical work in particular. For the PW to be archived, it must be submitted by the deadline indicated by the teachers in the following format: `ID_LASTNAME_FIRSTNAME_PW.zip`, e.g., `41127133_PEREZ_MARIA_PIA_PW.zip`. Note that it is a `.zip`, not `.rar` or `.7z`, respect the submission format. The PW as a suffix indicates it is practical work. Attach the statement and remove the `bin` and `obj` folders, as you are sharing programs, and for obvious reasons, the servers will delete compressed files containing binaries or executables.
55
6-
## Necessary Knowledge
6+
## Necessary knowledge
77

88
- **Part 1**: Structured programming and arrays.
99
- **Part 2**: Dynamic memory.
1010
- **Part 3**: Files.
1111

12-
## General Guidelines and Statement
12+
## General guidelines and statement
1313

1414
Develop the following work in groups of 3 to 5 people. Submission and defense are mandatory. Parts 1 and 2 will be required to take the midterm exam. Keep in mind that the solution must be executable in the laboratories of the [UNLaM](https://www.unlam.edu.ar/), so it must be compatible with the **MinGW 64-bit** compiler. For richer and lag-free visualization, it is recommended to use the [SDL (Simple DirectMedia Layer)](https://www.libsdl.org/) library, the teachers will provide a project with the library included. You will only need to know the functions that allow drawing the elements of the work (_Illustration 1_).
1515

.github/translations/es/README.md

Lines changed: 93 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -40,9 +40,16 @@ Este repositorio contiene el trabajo práctico de la materia Tópicos de Program
4040

4141
## Características
4242

43+
- Confirmaciones siguiendo la guía de los [Commits Convencionales](https://www.conventionalcommits.org/es/v1.0.0/)
44+
- Control de entradas utilizando validaciones
4345
- Convenciones y estándares de código
46+
- Despliegue de entregables
47+
- Diseño responsivo
4448
- Documentación del código utilizando la sintaxis de [Doxygen](https://www.doxygen.nl/)
49+
- Implementación de argumentos del programa
50+
- Implementación de la libraría [Simple DirectMedia Layer (SDL)](https://www.libsdl.org/)
4551
- Integración continua con [GitHub Actions](https://docs.github.com/es/actions)
52+
- Lectura e interpretación de archivos
4653
- Memoria dinámica
4754
- Planificación de la arquitectura
4855
- Planificación del flujo de trabajo del equipo (ramas, etiquetas y versionado)
@@ -57,7 +64,27 @@ Este repositorio contiene el trabajo práctico de la materia Tópicos de Program
5764

5865
4. Selecciona el proyecto [src.cbp](./src/src.cbp) (proyecto principal) y ejecútalo en modo Release para disfrutar del Juego de la Vida de Conway.
5966

60-
## Problemas conocidos
67+
### Argumentos del programa
68+
69+
| Argumento | Descripción | Valor/es aceptado/s | Valor por defecto | Ejemplo |
70+
| :--------------------- | :----------------------------------------------------- | :--------------------------------------------------------------------- | :---------------------------------------------------- | ---------------------------------------------------- |
71+
| `--dashboard-rows` | Cantidad de filas que tendrá el tablero. | `int` (0, valor por defecto] | `(<RESOLUCIÓN DEL ALTO DE LA PANTALLA> / 10) * 0.93` | `--dashboard-rows=28` |
72+
| `--dashboard-cols` | Cantidad de columnas que tendrá el tablero. | `int` (0, valor por defecto] | `(<RESOLUCIÓN DEL ANCHO DE LA PANTALLA> / 10) * 0.99` | `--dashboard-cols=55` |
73+
| `--pattern` | Patrón a dibujar en el centro del tablero. | `"glider"`, `"toad"`, `"press"` ó `"glider cannon"` | `""` | `--pattern="glider cannon"` |
74+
| `--maximum-generation` | Generaciones máximas. | `int` (un valor menor a `0` se interpreta como generaciones infinitas) | `0` | `--maximum-generation=-1` |
75+
| `--delay` | Tiempo de espera para generar la siguiente generación. | `int` [0, 1000] | `0` | `--delay=50` |
76+
| `--platform` | Plataforma en donde se dibujara el tablero. | `"console"` ó `"sdl"` | `""` | `--platform="sdl"` |
77+
| `--initial-state-file` | Ruta a un archivo con el estado inicial del tablero. | Cualquier ruta a un archivo con extensión `.txt` ó `.csv` | `""` | `--initial-state-file="./statics/initial-state.csv"` |
78+
79+
> [¿Cómo defino los argumentos del programa?](https://www.youtube.com/watch?v=9Mi_TTOml94) (opcional).
80+
81+
> [!IMPORTANT]
82+
> Todos los argumentos (exceptuando `--dashboard-rows`, `--dashboard-cols` y `--initial-state-file`) serán solicitados por consola si no son definidos o acepados. Además, el parámetro `--pattern` sera ignorado si se declara un parámetro `--initial-state-file` válido.
83+
84+
> [!WARNING]
85+
> El contenido del archivo apuntado por el parámetro `--initial-state-file` debe seguir un formato especifico como puede observar en el archivo [initial-state.csv](../../../src/statics/initial-state.csv).
86+
87+
### Problemas conocidos
6188

6289
| Problema | Solución |
6390
| :-------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
@@ -70,6 +97,7 @@ C-Practical-Work-2024/
7097
7198
├── .github/
7299
│ ├── statics/
100+
│ │ ├── demo.mp4
73101
│ │ ├── illustration-01.png
74102
│ │ ├── illustration-02.png
75103
│ │ └── preview.png
@@ -85,14 +113,8 @@ C-Practical-Work-2024/
85113
│ │ └── requirements.md
86114
│ │
87115
│ └── workflows/
116+
│ ├── format-code-on-pr.yml
88117
│ └── format-code.yml
89-
90-
├── src/
91-
│ ├── main.c
92-
│ ├── src.cbp
93-
│ │
94-
│ └── statics/
95-
│ └── initial-state.txt
96118
|
97119
├── libs/
98120
│ ├── libs.cbp
@@ -103,6 +125,13 @@ C-Practical-Work-2024/
103125
│ ├── validators.c
104126
│ ├── validators.h
105127
| |
128+
│ ├── game/
129+
| | ├── macros.h
130+
| | ├── main.h
131+
| | ├── methods.c
132+
| | ├── methods.h
133+
| | └── structs.h
134+
| |
106135
│ └── patterns/
107136
│ ├── constructors.c
108137
│ ├── constructors.h
@@ -111,6 +140,27 @@ C-Practical-Work-2024/
111140
│ ├── methods.c
112141
│ ├── methods.h
113142
│ └── structs.h
143+
144+
├── src/
145+
│ ├── macros.h
146+
│ ├── main.c
147+
│ ├── src.cbp
148+
│ ├── structs.h
149+
│ ├── utilities.c
150+
│ ├── utilities.h
151+
│ ├── validators.c
152+
│ ├── validators.h
153+
│ │
154+
│ ├── sdl/
155+
│ │ ├── main.h
156+
│ │ ├── methods.c
157+
│ │ ├── methods.h
158+
│ │ │
159+
│ │ └── SDL2/
160+
│ │ └── ( ... )
161+
│ │
162+
│ └── statics/
163+
│ └── initial-state.csv
114164
|
115165
├── .clang-format
116166
├── .gitignore
@@ -124,35 +174,57 @@ C-Practical-Work-2024/
124174
- **[translations](./.github/translations)** - Traducciones de los archivos con extensión `.md` (Markdown).
125175
- **[workflows](./.github/workflows)** - Flujos de trabajo de las GitHub Actions.
126176

127-
- **[src](./src)** - Proyecto principal de la aplicación.
128-
129-
- **[main.c](./src/main.c)** - Archivo de ejecución principal.
130-
- **[src.cbp](./src/src.cbp)** - Archivo de configuración del proyecto.
131-
132-
- **[statics](./src/statics)** - Archivos (imágenes, videos, diagramas, etc.).
133-
134-
- **[initial-state.txt](./src/statics/initial-state.txt)** - Archivo con el estado inicial de la aplicación.
135-
136177
- **[libs](./libs)** - Proyecto con las librerías necesarias para la ejecución del proyecto principal de aplicación.
137178

138179
- **[libs.cbp](./libs/libs.cbp)** - Archivo de configuración del proyecto.
139180
- **[macros.h](./libs/macros.h)** - Archivo con las macros esenciales del proyecto.
140181
- **[main.h](./libs/main.h)** - Archivo que indexa todos los archivos `.h` del proyecto.
141182
- **[utilities.c](./libs/utilities.c)** - Archivo con el desarrollo de los prototipos de función presentes en `utilities.h`.
142-
- **[utilities.h](./libs/utilities.h)** - Archivo con las estructuras y los prototipos de función de uso común.
183+
- **[utilities.h](./libs/utilities.h)** - Archivo con los prototipos de función de uso común.
143184
- **[validators.c](./libs/validators.c)** - Archivo con el desarrollo de los prototipos de función presentes en `validators.h`.
144185
- **[validators.h](./libs/validators.h)** - Archivo con prototipos de funciones relacionadas con procesos de validación.
145186

187+
- **[game](./libs/game)** - Funciones y estructuras para crear e interactuar con el Juego de la Vida de Conway.
188+
189+
- **[macros.h](./libs/game/macros.h)** - Archivo con macros.
190+
- **[main.h](./libs/game/main.h)** - Archivo que indexa todos los archivos `.h` dentro de la carpeta `games`.
191+
- **[methods.c](./libs/game/methods.c)** - Archivo con el desarrollo de los prototipos de función presentes en `methods.h`.
192+
- **[methods.h](./libs/game/methods.h)** - Archivo con los prototipos de función relacionados a los métodos del Juego de la Vida de Conway.
193+
- **[structs.h](./libs/game/methods.h)** - Archivo con estructuras.
194+
146195
- **[patterns](./libs/patterns)** - Funciones y estructuras para crear patrones con células.
147196

148197
- **[constructors.c](./libs/patterns/constructors.c)** - Archivo con el desarrollo de los prototipos de función presentes en `constructors.h`.
149-
- **[constructors.h](./libs/patterns/constructors.h)** - Archivo con las estructuras y los prototipos de función relacionados a la creación de patrones.
150-
- **[macros.h](./libs/macros.h)** - Archivo con macros.
151-
- **[main.h](./libs/main.h)** - Archivo que indexa todos los archivos `.h` dentro de la carpeta `patterns`.
198+
- **[constructors.h](./libs/patterns/constructors.h)** - Archivo con los prototipos de función relacionados a la creación de patrones.
199+
- **[macros.h](./libs/patterns/macros.h)** - Archivo con macros.
200+
- **[main.h](./libs/patterns/main.h)** - Archivo que indexa todos los archivos `.h` dentro de la carpeta `patterns`.
152201
- **[methods.c](./libs/patterns/methods.c)** - Archivo con el desarrollo de los prototipos de función presentes en `methods.h`.
153202
- **[methods.h](./libs/patterns/methods.h)** - Archivo con los prototipos de función relacionados a los métodos de los patrones.
154203
- **[structs.h](./libs/patterns/methods.h)** - Archivo con estructuras.
155204

205+
- **[src](./src)** - Proyecto principal de la aplicación.
206+
207+
- **[macros.h](./src/macros.h)** - Archivo con las principales macros del proyecto.
208+
- **[main.c](./src/main.c)** - Archivo de ejecución principal.
209+
- **[src.cbp](./src/src.cbp)** - Archivo de configuración del proyecto.
210+
- **[structs.h](./src/structs.h)** - Archivo con las principales estructuras para configurar el proyecto.
211+
- **[utilities.c](./src/utilities.c)** - Archivo con el desarrollo de los prototipos de función presentes en `utilities.h`.
212+
- **[utilities.h](./src/utilities.h)** - Archivo con los prototipos de función para configurar el proyecto.
213+
- **[validators.c](./src/validators.c)** - Archivo con el desarrollo de los prototipos de función presentes en `utilities.h`.
214+
- **[validators.h](./src/validators.h)** - Archivo con los prototipos de función para validar los argumentos del proyecto.
215+
216+
- **[sdl](./src/sdl)** - Funciones para interactuar con la librería SDL2.
217+
218+
- **[SDL2](./src/sdl/SDL2)** - Librería SDL2.
219+
220+
- **[main.h](./src/sdl/main.h)** - Archivo que indexa todos los archivos `.h` dentro de la carpeta `sdl`.
221+
- **[methods.c](./src/sdl/methods.c)** - Archivo con el desarrollo de los prototipos de función presentes en `methods.h`.
222+
- **[methods.h](./src/sdl/methods.h)** - Archivo con los prototipos de función que permiten interactuar con la librería SDL2.
223+
224+
- **[statics](./src/statics)** - Archivos (imágenes, videos, diagramas, etc.).
225+
226+
- **[initial-state.csv](./src/statics/initial-state.txt)** - Archivo con el estado inicial de la aplicación.
227+
156228
- **[.clang-format](./.clang-format)** - Archivo de configuración de la herramienta de formateo de código `clang-format`.
157229
- **[.gitignore](./.gitignore)** - Archivo de configuración de Git para evitar el rastreo de archivos no deseados.
158230
- **[LICENSE](./LICENSE)** - Licencia del proyecto.

.github/translations/es/documentation.md

Lines changed: 6 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -21,10 +21,7 @@ Las documentaciones que se realicen deben seguir las siguientes reglas:
2121
* <DESCRIPCIÓN DETALLADA DE LA ESTRUCTURA (PROPÓSITO Y LISTADO DE CAMPOS)>.
2222
*/
2323
typedef struct {
24-
/**
25-
* @brief <BREVE DESCRIPCIÓN DEL MIEMBRO>.
26-
*/
27-
DataType01 member01;
24+
DataType01 member01; /** <BREVE DESCRIPCIÓN DEL MIEMBRO>. */
2825

2926
// ...
3027
} MyStruct;
@@ -42,15 +39,8 @@ _Por ejemplo..._
4239
* representing the x and y coordinates.
4340
*/
4441
typedef struct {
45-
/**
46-
* @brief The x-coordinate of the point.
47-
*/
48-
int x;
49-
50-
/**
51-
* @brief The y-coordinate of the point.
52-
*/
53-
int y;
42+
int x; /** The x-coordinate of the point. */
43+
int y; /** The y-coordinate of the point. */
5444
} Point2D;
5545
```
5646

@@ -116,7 +106,9 @@ int factorial(int n) {
116106
* @def <NOMBRE DE LA MACRO>
117107
* @brief <BREVE DESCRIPCIÓN DE LO QUE HACE LA MACRO>.
118108
*
119-
* @warning <ADVERTENCIAS SOBRE EL USO DE LA MACRO (OPCIONAL)>.
109+
* <DESCRIPCIÓN DETALLADA DE LA MACRO (OPCIONAL)>.
110+
*
111+
* @warning <ADVERTENCIAS SOBRE EL USO DE LA MACRO>.
120112
*/
121113
#define MY_MACRO value
122114
```

0 commit comments

Comments
 (0)