// original code inspired by Evan You https://github.com/yyx990803/vue-wordle/ import { LetterState } from '../types'; import type { Board, BadgeComponent } from '../types'; export function clearTile(board: Board, currentRowIndex: number) { const newBoard = [...board]; const currentRow = newBoard[currentRowIndex]; for (const tile of [...currentRow].reverse()) { if (tile.letter) { tile.letter = ''; break; } } return newBoard; } export function fillTile(board: Board, currentRowIndex: number, letter: string) { const newBoard = [...board]; const currentRow = newBoard[currentRowIndex]; for (const tile of currentRow) { if (tile.correct === ' ') { tile.letter = ' '; } if (!tile.letter) { tile.letter = letter; break; } } return newBoard; } export const colors = { [LetterState.CORRECT]: '#00b81a', [LetterState.PRESENT]: '#ffc80a', [LetterState.ABSENT]: '#d9d9d9', [LetterState.INITIAL]: '#5d5d5d' }; export const badgesComponents: BadgeComponent = { 2: 'two', 5: 'five', 10: 'ten', 15: 'fifteen', 20: 'twenty', 35: 'thirtyfive', 50: 'fifty' }; export const cheersMessages = [ '🤗 Hugging 🤗', '🧞 Genius 🧞', '🤩 Magnificent 🤩', '😲 Impressive 😲', '🧚 Splendid 🧚', '✳ Great ✳', '🍡 Phew 🍡' ];