UNPKG

wordle-shell

Version:

A Wordle for the command line

45 lines (42 loc) 1.13 kB
import WordListPt from "./data/pt_br.json"; import WordListEn from "./data/en_us.json"; import sd from "seedrandom"; export enum Langs { ptBr = "pt-br", enUs = "en-us" } class WordPicker { private word: string; private words: string[]; constructor(lang: Langs) { this.words = WordPicker.getWordList(lang); const index = this.generateIndex(); this.word = this.words.at(index) ?? "Error"; } public static getWordList(lang: Langs) { switch (lang) { case Langs.ptBr: return WordListPt; case Langs.enUs: return WordListEn; default: return WordListEn; } } public getWordList() { return this.words; } public getWord() { return this.word; } private generateIndex() { const rng = WordPicker.seed(); const rand_number = rng(); return Math.floor(rand_number * this.words.length); } private static seed() { const today = new Date(); return sd(today.toDateString()); } } export default WordPicker;