Tablero de ajedrez en terminal

LinuxLinuxIntermediate
Practicar Ahora

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

En este proyecto, aprenderás a crear un tablero de ajedrez utilizando un script de Bash. Al completar este proyecto, adquirirás experiencia en el uso de bucles anidados, impresión en color y scripting de shell.

🎯 Tareas

En este proyecto, aprenderás:

  • Cómo configurar el entorno para crear el tablero de ajedrez
  • Cómo solicitar al usuario el tamaño del tablero de ajedrez
  • Cómo utilizar bucles anidados para imprimir el tablero de ajedrez con celdas alternadas de color negro y blanco

🏆 Logros

Después de completar este proyecto, serás capaz de:

  • Crear un tablero de ajedrez visual utilizando un script de Bash
  • Utilizar bucles anidados para generar una estructura en forma de cuadrícula
  • Implementar la impresión en color para mejorar la apariencia visual de la salida
  • Solicitar al usuario una entrada y utilizar esa entrada para generar la salida deseada

Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/BasicSystemCommandsGroup(["Basic System Commands"]) linux(("Linux")) -.-> linux/BasicFileOperationsGroup(["Basic File Operations"]) linux(("Linux")) -.-> linux/FileandDirectoryManagementGroup(["File and Directory Management"]) linux(("Linux")) -.-> linux/VersionControlandTextEditorsGroup(["Version Control and Text Editors"]) linux/BasicSystemCommandsGroup -.-> linux/echo("Text Display") linux/BasicSystemCommandsGroup -.-> linux/read("Input Reading") linux/BasicFileOperationsGroup -.-> linux/chmod("Permission Modifying") linux/FileandDirectoryManagementGroup -.-> linux/cd("Directory Changing") linux/VersionControlandTextEditorsGroup -.-> linux/vim("Text Editing") linux/VersionControlandTextEditorsGroup -.-> linux/nano("Simple Text Editing") subgraph Lab Skills linux/echo -.-> lab-299820{{"Tablero de ajedrez en terminal"}} linux/read -.-> lab-299820{{"Tablero de ajedrez en terminal"}} linux/chmod -.-> lab-299820{{"Tablero de ajedrez en terminal"}} linux/cd -.-> lab-299820{{"Tablero de ajedrez en terminal"}} linux/vim -.-> lab-299820{{"Tablero de ajedrez en terminal"}} linux/nano -.-> lab-299820{{"Tablero de ajedrez en terminal"}} end

Configurar el entorno

En este paso, configurarás el entorno para crear el tablero de ajedrez.

  1. Abre un editor de texto y crea un nuevo archivo llamado chess_board.sh.
  2. Agrega la siguiente línea de shebang al principio del archivo:
#!/bin/bash

Esta línea le indica al sistema que use el shell Bash para ejecutar el script.

Solicitar al usuario el tamaño del tablero

En este paso, solicitarás al usuario que ingrese el tamaño del tablero de ajedrez.

  1. Agrega el siguiente código a tu script:
echo -e "\e[44m[Input]\e[0m Enter the size of the chess board: "
read value

Este código mostrará un mensaje para que el usuario ingrese el tamaño del tablero de ajedrez y almacenará la entrada del usuario en la variable value.

Imprimir el tablero de ajedrez

En este paso, utilizarás bucles anidados para imprimir el tablero de ajedrez.

  1. Agrega el siguiente código a tu script:
echo -e "\n\n\e[42m[OUTPUT]\e[0m TABLERO DE AJEDREZ SOLICITADO \e[42m[OUTPUT]\e[0m"

for ((row = 1; row <= value; row++)); do
  for ((col = 1; col <= value; col++)); do
    sumOfRowAndCol=$(($(($row + $col)) % 2))
    if [ $sumOfRowAndCol -eq 0 ]; then
      echo -e -n "\033[47m" " "
    else
      echo -e -n "\033[40m" " "
    fi
  done
  echo -ne "\033[0m" " "
  echo
done

echo -n -e "\033[0m"

Este código utiliza bucles anidados para iterar a través de las filas y columnas del tablero de ajedrez. Para cada celda, calcula la suma de los índices de la fila y la columna y utiliza este valor para determinar si la celda debe ser negra o blanca. Los comandos echo se utilizan para imprimir el color adecuado para cada celda y para restablecer el color después de cada fila.

Ejecutar el script

En este paso, ejecutarás el script para generar el tablero de ajedrez.

  1. Guarda el archivo chess_board.sh.
  2. Abre una terminal y navega hasta el directorio donde guardaste el script.
  3. Haz el script ejecutable ejecutando el siguiente comando:
chmod +x chess_board.sh
  1. Ejecuta el script ejecutando el siguiente comando:
./chess_board.sh

El script te pedirá que ingreses el tamaño del tablero de ajedrez y luego imprimirá el tablero en la terminal.

¡Felicidades! Has creado con éxito un tablero de ajedrez utilizando un script de Bash.

✨ Revisar Solución y Practicar

Resumen

¡Felicidades! Has completado este proyecto. Puedes practicar más laboratorios en LabEx para mejorar tus habilidades.