From fca6c9a0cff472b39cfcd91a7e3d04bd380ea9d6 Mon Sep 17 00:00:00 2001
From: Christian Julian Jimenez <zs22016079@estudiantes.uv.mx>
Date: Wed, 12 Feb 2025 08:41:21 -0600
Subject: [PATCH] =?UTF-8?q?Se=20agreg=C3=B3=20la=20funcionalidad=20del=20c?=
 =?UTF-8?q?ambio=20de=20color=20de=20car=C3=A1cteres?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 index.html | 17 ++++++++++-------
 1 file changed, 10 insertions(+), 7 deletions(-)

diff --git a/index.html b/index.html
index d33f75e..6db47b9 100644
--- a/index.html
+++ b/index.html
@@ -34,13 +34,14 @@
     <input type="color" value="#000000" id="colorPicker">
     <canvas id="lienzoCuadriculado" width="500" height="500"></canvas>
     <script>
+        const colorPicker = document.getElementById("colorPicker");
         const lienzo = document.getElementById("lienzoCuadriculado");
         const contexto = lienzo.getContext("2d");
         const tamanoCuadricula = 20; // Tamaño de cada celda en píxeles
         let dibujando = false;
         const seleccionAscii = document.getElementById("seleccionAscii");
         
-        // Mapa para almacenar los caracteres dibujados
+        // Mapa para almacenar los caracteres y sus colores
         const caracteresEnPosiciones = new Map();
 
         function dibujarCuadricula() {
@@ -65,23 +66,25 @@
 
         function dibujarAscii(x, y) {
             const ascii = seleccionAscii.value;
+            const color = colorPicker.value;
             const posicionClave = `${x},${y}`;
-            const caracterActual = caracteresEnPosiciones.get(posicionClave);
+            const caracterInfo = caracteresEnPosiciones.get(posicionClave);
 
-            // Solo dibuja si la celda está vacía o si el carácter es diferente
-            if (!caracterActual || caracterActual !== ascii) {
+            // Solo dibuja si la celda está vacía o si el carácter o color es diferente
+            if (!caracterInfo || caracterInfo.ascii !== ascii || caracterInfo.color !== color) {
                 // Limpia la celda antes de dibujar
                 contexto.clearRect(x, y, tamanoCuadricula, tamanoCuadricula);
                 // Redibuja la línea de la cuadrícula para esa celda
                 contexto.strokeStyle = "#ddd";
                 contexto.strokeRect(x, y, tamanoCuadricula, tamanoCuadricula);
                 
-                // Dibuja el nuevo carácter
+                // Dibuja el nuevo carácter con el color seleccionado
                 contexto.font = `${tamanoCuadricula}px monospace`;
+                contexto.fillStyle = color;
                 contexto.fillText(ascii, x, y + tamanoCuadricula - 5);
                 
-                // Almacena el nuevo carácter en el mapa
-                caracteresEnPosiciones.set(posicionClave, ascii);
+                // Almacena el nuevo carácter y su color en el mapa
+                caracteresEnPosiciones.set(posicionClave, { ascii, color });
             }
         }