79740971

Date: 2025-08-20 10:53:02
Score: 1.5
Natty:
Report link
from PIL import Image, ImageDraw, ImageFont

# Palabras y pistas personalizadas
words = [
    ("Enero", "El mes en que nuestras vidas se cruzaron ❄️"),
    ("Higueruela", "Nuestro primer hogar compartido 🏡"),
    ("Merida", "Nuestro primer viaje inolvidable ✈️"),
    ("Bestialburger", "Donde comenzó nuestra historia con papas 🍔"),
    ("Instagram", "La red social que nos conectó por primera vez 📲"),
    ("Cucharita", "Nuestra forma favorita de dormir abrazados 🛌"),
    ("Mirada", "Lo que aún me pone nerviosa de ti 👀"),
    ("Destino", "Lo que nos juntó, aunque no lo planeamos ✨"),
    ("Fotos", "Tenemos muchas, pero siempre queremos más 📸"),
    ("Desayuno", "Lo que me haces con amor cada mañana 🥞"),
    ("2304", "El día que todo comenzó 💫"),
    ("Amor", "Lo que crece cada día entre nosotros ❤️")
]

# Crear cuadrícula base
grid_size = 20
grid = [['' for _ in range(grid_size)] for _ in range(grid_size)]
positions = list(range(1, len(words)*2, 2))  # Filas espaciadas

# Insertar palabras horizontalmente
for i, (word, _) in enumerate(words):
    row = positions[i]
    col = 1
    for j, letter in enumerate(word.upper()):
        grid[row][col + j] = letter

# Configurar imagen
cell_size = 40
img_size = grid_size * cell_size
img = Image.new("RGB", (img_size, img_size + 300), "white")
draw = ImageDraw.Draw(img)

# Fuente
try:
    font = ImageFont.truetype("arial.ttf", 20)
except IOError:
    font = ImageFont.load_default()

# Dibujar celdas y letras
for i in range(grid_size):
    for j in range(grid_size):
        x = j * cell_size
        y = i * cell_size
        draw.rectangle([x, y, x + cell_size, y + cell_size], outline="black", width=1)
        if grid[i][j] != '':
            letter = grid[i][j]
            # Calcular tamaño del texto
            bbox = draw.textbbox((0, 0), letter, font=font)
            w = bbox[2] - bbox[0]
            h = bbox[3] - bbox[1]
            draw.text(
                (x + (cell_size - w) / 2, y + (cell_size - h) / 2),
                letter,
                fill="black",
                font=font
            )

# Escribir las pistas debajo de la cuadrícula
y_offset = img_size + 20
for i, (word, clue) in enumerate(words, start=1):
    draw.text((10, y_offset), f"{i}. {clue}", fill="black", font=font)
    y_offset += 25

# Guardar imagen final
img.save("sopa_de_letras.png")
img.show()

Reasons:
  • Blacklisted phrase (2): Crear
  • Long answer (-1):
  • Has code block (-0.5):
  • Low reputation (1):
Posted by: Jennifer Sempere