Skip to content

Commit

Permalink
Versión 1.4.0
Browse files Browse the repository at this point in the history
Se hicieron más correcciones para que el programa pueda correr en replit sin anomalías y se agregaron nuevos bloqueos.
  • Loading branch information
Suazo-kun committed Feb 18, 2023
1 parent f835b77 commit d5658c2
Show file tree
Hide file tree
Showing 3 changed files with 61 additions and 18 deletions.
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -8,4 +8,4 @@
*.dll
*.so
temp.*
build/
build/
50 changes: 33 additions & 17 deletions src/equiscero.c
Original file line number Diff line number Diff line change
Expand Up @@ -26,35 +26,32 @@ unsigned char RealizarJugadaPorPatron(char tabla[9]) {
}

if (jugadas_cantidad == 1) {
if (strcmp(tabla, " x ") == 0) {
if (strncmp(tabla, " x ", 9) == 0) {
tabla[2] = O_CHAR;
return 1;

} else if (
(strcmp(tabla, "x ") == 0) || (strcmp(tabla, " x ") == 0) ||
(strcmp(tabla, " x ") == 0) || (strcmp(tabla, " x") == 0)) {
(strncmp(tabla, "x ", 9) == 0) || (strncmp(tabla, " x ", 9) == 0) ||
(strncmp(tabla, " x ", 9) == 0) || (strncmp(tabla, " x", 9) == 0)) {
tabla[4] = O_CHAR;
return 1;

} else if (strcmp(tabla, " x ") == 0) {
tabla[7] = O_CHAR;
return 1;

} else if (strcmp(tabla, " x ") == 0) {
tabla[5] = O_CHAR;
return 1;
} else {
char tabla_temp[] = " ";

} else if (strcmp(tabla, " x ") == 0) {
tabla[3] = O_CHAR;
return 1;
for (i=1;i<8;i+=2) {
if (i > 1) tabla_temp[i-2] = LIMPIO;
tabla_temp[i] = X_CHAR;

} else if (strcmp(tabla, " x ") == 0) {
tabla[1] = O_CHAR;
return 1;
if (strncmp(tabla, tabla_temp, 9) == 0) {
tabla[8-i] = O_CHAR;
return 1;
}
}
}

} else if (jugadas_cantidad == 3) {
if ((strcmp(tabla, "x o x") == 0) || (strcmp(tabla, " x o x ") == 0)) {
if ((strncmp(tabla, "x o x", 9) == 0) || (strncmp(tabla, " x o x ", 9) == 0)) {
tabla[ObtenerNumeroAleatorio(0, 3) * 2 + 1] = O_CHAR;
return 1;
}
Expand Down Expand Up @@ -89,6 +86,22 @@ unsigned char RealizarJugadaPorPatron(char tabla[9]) {
}
}

for (i=1;i<8;i+=6) {
if ((tabla[1*i] == X_CHAR) && (tabla[3] == X_CHAR) && (tabla[7/i] == O_CHAR)) {
tabla[i-1] = O_CHAR;
return 1;
} else if ((tabla[1*i] == X_CHAR) && (tabla[5] == X_CHAR) && (tabla[7/i] == O_CHAR)) {
tabla[i+1] = O_CHAR;
return 1;
} else if ((tabla[i-1?3:5] == X_CHAR) && (tabla[1] == X_CHAR) && (tabla[i-1?5:3] == O_CHAR)) {
tabla[i-1?0:2] = O_CHAR;
return 1;
} else if ((tabla[i-1?3:5] == X_CHAR) && (tabla[7] == X_CHAR) && (tabla[i-1?5:3] == O_CHAR)) {
tabla[i-1?6:8] = O_CHAR;
return 1;
}
}

if ((tabla[1] == X_CHAR) && (tabla[8] == X_CHAR)) {
tabla[2] = O_CHAR;
return 1;
Expand All @@ -114,6 +127,9 @@ unsigned char RealizarJugadaPorPatron(char tabla[9]) {
tabla[6] = O_CHAR;
return 1;
}
} else if ((jugadas_cantidad == 5) && (tabla[4] == LIMPIO)) {
tabla[4] = O_CHAR;
return 1;
}

return 0;
Expand Down
27 changes: 27 additions & 0 deletions src/main.c
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@
#include <locale.h>
#include "equiscero.h"

#define VERSION L"v1.4.0 (18 feb. 2023)"

#if (defined __WIN32__) || (defined _WIN32)
#include <windows.h>
#define limpiar() system("cls")
Expand Down Expand Up @@ -160,6 +162,7 @@ void Iniciar() {
unsigned char mamanema = 0;

limpiar();
wprintf(L"%ls\n", VERSION);
EquisCeroLogo();

while (1) {
Expand Down Expand Up @@ -396,4 +399,28 @@ void Test() {
ImprimirTabla(); wprintf(L"\n");
TurnoDeLaPC(tabla, 3);
ImprimirTabla(); wprintf(L"\n");

wprintf(L"Test 15:\n");
LimpiarTabla();
tabla[2] = tabla[3] = tabla[7] = X_CHAR;
tabla[0] = tabla[5] = O_CHAR;
ImprimirTabla(); wprintf(L"\n");
TurnoDeLaPC(tabla, 3);
ImprimirTabla(); wprintf(L"\n");

wprintf(L"Test 16:\n");
LimpiarTabla();
tabla[1] = tabla[3] = X_CHAR;
tabla[5] = O_CHAR;
ImprimirTabla(); wprintf(L"\n");
TurnoDeLaPC(tabla, 3);
ImprimirTabla(); wprintf(L"\n");

wprintf(L"Test 17:\n");
LimpiarTabla();
tabla[5] = tabla[7] = X_CHAR;
tabla[1] = O_CHAR;
ImprimirTabla(); wprintf(L"\n");
TurnoDeLaPC(tabla, 3);
ImprimirTabla(); wprintf(L"\n");
}

0 comments on commit d5658c2

Please sign in to comment.