Conecta 4 en C++ - Jugar partida contra CPU (inteligencia artificial)

Conecta 4 en C++ con IA, ranking y estadísticas de jugadores

En este post te mostraré el juego de Conecta 4 en C++ con opción para jugar contra el CPU con un algoritmo y una pequeña inteligencia artificial.

Además del juego de Conecta 4 en CPP llevaremos la gestión de usuarios con estadísticas, un ranking de mejores jugadores, opción para cambiar el tamaño del tablero y una manera de repetir la última partida.

Por cierto, he mejorado un poco el algoritmo del CPU, de modo que es más complejo ganarle una partida de Conecta 4. Pero bueno, vayamos a la explicación y el código fuente.

(más…)

Guardar y recuperar colección de struct en archivo usando C++

Guardar y recuperar struct en archivo usando C++

En el post de hoy veremos cómo guardar los datos de un vector de struct en un archivo de texto para más tarde poder recuperarlo.

Es decir, guardar varias estructuras (un arreglo de ellas) en un archivo y en cualquier otro momento del tiempo leer ese archivo y convertirlo de nuevo a una colección de structs usando C++.

Básicamente vamos a serializar y deserializar structs en un archivo usando CPP.

(más…)

Adjuntar contenido a archivo en C++ (no sobrescribir)

Adjuntar contenido a archivo en C++

En este artículo te enseñaré a abrir un archivo y adjuntarle contenido con C++. Es decir, crear el archivo si no existe, y en caso de que exista, agregarle el contenido.

De este modo vamos a añadir contenido a un archivo de C++ en lugar de sobrescribirlo.

(más…)

Saber si archivo existe en C++

En este post te mostraré cómo comprobar si un archivo existe usando el lenguaje de programación C++ también conocido como CPP.

Vamos a encerrar el comportamiento en una función que nos devolverá un booleano indicando si el archivo existe.

(más…)

Actualizar versión de C++ (v11) a Dev-C++

Cambiar versión de C++ en Dev-C++

Hoy voy a enseñarte cómo usar la última versión de C++ al usar el IDE Dev-C++, que por defecto usa una versión antigua del compilador g++.

Para esto te recomiendo descargar la última versión de Dev-C++ ya que también traerá la última versión del compilador.

Nota: si bien la última versión de C++ es la 17, en Dev-cpp solo podemos usar hasta la 11. Por eso yo te recomiendo usar MinGW y compilar manualmente.

(más…)

Ejercicio en C++ con archivo CSV, listas ligadas y disponibilidad de camas

En este post te mostraré la solución a un ejercicio en C++ que tiene que ver con archivos CSV y disponibilidad de camas en hospitales.

Básicamente es leer un archivo CSV, pasarlo a la lista enlazada (estructura de datos) y luego generar estadísticas, eliminar repetidos, eliminar un registro y borrarlo.

Nos vamos a basar ampliamente en dos tutoriales que ya he publicado en mi blog: leer archivos CSV con C++ y listas enlazadas en C++.

(más…)

Leer y escribir RFID - Almacenamiento de datos

Leer y escribir en etiquetas RFID con MFRC522 (RFID-RC522)

En este post te voy a mostrar cómo guardar información en las tarjetas o etiquetas RFID usando el lector MFRC522 y un Arduino o NodeMCU ESP8266.

Leer y escribir RFID - Almacenamiento de datos

Leer y escribir RFID – Almacenamiento de datos

Anteriormente ya te mostré cómo leer el serial de estas etiquetas, pero ahora te voy a enseñar a escribir y leer información dentro de ellas.

Gracias a esto puedes crear infinidad de aplicaciones como una tarjeta de crédito, monedero electrónico, control de entrada para el transporte público, etcétera.

Te voy a mostrar cómo leer y escribir datos usando la NodeMCU ESP8266 pero teóricamente puedes usar cualquier Arduino, ya sea el UNO, Mega, etcétera; lo único que cambia es la conexión, pues el código se queda casi intacto.

(más…)

Lista ligada en C++ - Programación y estructura de datos

Lista ligada en C++

Hoy te enseñaré cómo implementar una lista ligada en el lenguaje de programación C++ también conocido como CPP.

Además de mostrarte la clase Lista y la clase Nodo, te enseñaré las operaciones que podemos realizar con ella. Son las siguientes:

  • Recorrer la lista imprimiendo los valores
  • Verificar si un elemento existe dentro de la lista
  • Eliminar un elemento de la lista ligada en C++
  • Crear una nueva lista sin elementos repetidos (eliminar duplicados)

Todo esto usando C++ e implementando los métodos y algoritmos manualmente. Por cierto, en este caso el tipo de dato que vamos a almacenar será un int pero fácilmente puedes cambiarlo a cualquier otro tipo de dato.

(más…)

Cortar cadena en C++ usando substr

Cortar cadena en C++

En este post de programación en C++ con cadenas o strings te mostraré cómo extraer una subcadena de una cadena.

Dicho en otras palabras, te enseñaré a cortar una cadena en C++. Por ejemplo, extraer solo los primeros 4 N caracteres de una string o extraer una porción de la misma.

Todo esto lo haremos con la función substr de C++.

(más…)

Por parzibyte, hace
Leer y extraer valores de CSV con C++

Leer CSV con C++

En este artículo de programación en C++ (también conocido como CPP) te enseñaré a leer y parsear un archivo CSV (valores separados por coma) para leer todo su contenido, sin usar librerías externas.

Para ello vamos a necesitar leer el archivo línea por línea y luego separar cada línea según el delimitador. Todo esto lo vamos a hacer con C++ y funciones nativas.

(más…)

Programación C++ - Separar cadena usando punto y coma

C++ | Separar cadena por delimitador

En este post te enseñaré cómo separar una cadena por delimitador o token (una coma, espacios, punto y coma, saltos de línea, puntos) en C++. Esto se conoce en varios lenguajes como la función split, aunque en C++ no existe esa función pero podemos llegar al mismo resultado.

Con lo que te enseñaré hoy podrás separar una cadena por comas, punto y coma, etecétera usando el lenguaje C++ también conocido como CPP. Recuerda que puedes hacerlo con strtok usando C, pero hoy te enseñaré otro enfoque que funciona en C++.

(más…)

Por parzibyte, hace