diff --git a/src/index.html b/src/index.html index 3d8ace7..8de55b4 100644 --- a/src/index.html +++ b/src/index.html @@ -14,10 +14,13 @@
+ +
Regex People es una creación de Manz
Lenguaje HTML · Lenguaje CSS · Lenguaje JS
diff --git a/src/js/Game.ts b/src/js/Game.ts index 865908c..e7c271a 100644 --- a/src/js/Game.ts +++ b/src/js/Game.ts @@ -1,22 +1,35 @@ import Level from './Level'; import User from './User'; + + export default class Game { content: HTMLElement = document.querySelector('#content'); userinput: HTMLInputElement = document.querySelector('#userinput'); nextButton: HTMLButtonElement = document.querySelector('#next'); + nextButtonLabel: HTMLButtonElement = document.querySelector('#nextLabel'); + languageSelector: HTMLButtonElement = document.querySelectorAll('input[type="radio"][name="language"]'); level: Level; levels: any[] = []; maxLevel: number = 1; currentLevel: number = 1; + lang: string = localStorage.getItem('language') ? localStorage.getItem('language') : document.querySelector('input[name="language"]:checked').value; + constructor() { + + let lang = localStorage.getItem('language') ? localStorage.getItem('language') : document.querySelector('input[name="language"]:checked').value; + document.querySelector(`input[name="language"][value="${lang}"]`).checked = true; + // handlers this.nextButton.addEventListener('click', () => this.nextLevel()); this.userinput.addEventListener('input', e => this.onInput(e)); + for (var i = 0; i < this.languageSelector.length; i++) { + this.languageSelector[i].addEventListener('click', e => this.changeLanguage(e)); + } } - addLevel(text: string, users: any[], solutions: boolean[], forbidden: string[] = []) { + addLevel(text: object, users: any[], solutions: boolean[], forbidden: string[] = []) { this.levels[this.maxLevel] = { number: this.maxLevel, text, @@ -33,7 +46,7 @@ export default class Game { // preload level let level = this.levels[num]; let users = level.users.map(e => new User(...e)); - this.level = new Level(level.number, level.text, users, level.solutions, this.maxLevel, level.forbidden); + this.level = new Level(level.number, level.text, users, level.solutions, this.maxLevel, level.forbidden, this.lang); // save current level this.currentLevel = num; @@ -112,19 +125,19 @@ export default class Game { this.nextButton.classList.add('off'); let info = document.querySelector('#info'); info.classList.add('end'); - info.innerHTML = `
🏆 ¡Has terminado el juego!
`; + info.innerHTML = `🏆${this.lang == 'es' ? '¡Has terminado el juego!' : (this.lang == 'en' ? 'You have finished the game!' : '')}
`; let table = document.createElement('table'); table.classList.add('score'); for (let i = 0; i < this.maxLevel-1; i++) { let sol = localStorage['level'+(i+1)] || ''; - table.innerHTML += `