Home – Jaguar – Lynx – 8 Bit
2600/7800 – Faq – Comments

Atari Hangman

https://lemonadejs.net/v4/lemonade.js
function Hangman() { // Initializing self. const self = this; // Possible words self.words = [‘pacman’, ‘lynx’, ‘jaguar’, ‘foodfight’, ‘pitfall’, ‘missilecommand’, ‘foodfight’, ‘darkchambers’, ‘aceofaces’, ‘barnstorming’, ‘donkeykong’, ‘poleposition’, ‘keystonekappers’, ‘raidersofthelostark’, ‘spaceinvaders’, ‘starraiders’, ‘wizardofwor’, ‘moonpatrol’, ‘qix’]; self.onload = function() { // Reset game self.reset(); } self.reset = function() { // Make sure to restart the game self.el.classList.remove(‘over’); // Hide figure elements Array.from(self.figure.children).map(function(v) { v.style.display = ”; }); // Pick one word from the possible nes let index = Math.floor(Math.random()*self.words.length); // Reset answers given so far self.answer = []; // Secret word self.secret = self.words[index].split(”).map(function(v, k) { return { letter: v.toUpperCase(), position: k }; }); // Focus on the first element self.secret[0].el.focus(); } self.input = function(e, s) { // Input letter let letter = e.target.value.toUpperCase(); // Check letter if (self.secret[s.position].letter == letter) { // Correct word disabled element e.target.setAttribute(‘disabled’, true); // Make sure capital letter e.target.value = letter; // Focus on the next one if (e.target.nextElementSibling) { e.target.nextElementSibling.focus(); } } else { // Show figure self.figure.children[self.answer.length].style.display = ‘block’; // Wrong answers self.answer.push({letter}); // Refresh template self.refresh(‘answer’); // Reset input e.target.value = ”; // Check end of the game if (self.answer.length > 5) { // Focus on the reset button self.button.focus(); // Game over self.el.classList.add(‘over’); // Alert alert(‘Game over’); } } } return `
{{self.letter}}
`; } lemonade.render(Hangman, document.getElementById(‘root’));

Hangman Code from LemonadeJS.