Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ```javascript
- //main.js
- // include main methods
- //MAIN METHODS
- //check whether guessed letter is correct and enter into blanks
- let checkLetter= function(letter){
- if(game.word.wordLetters.includes(letter)){
- //if correct
- console.log(`Correct! ${letter} is inside ${game.word.name}`)
- //collect indexes in list
- let indexList=[]
- game.word.wordLetters.filter(
- function(currentValue,index){
- if(currentValue==letter){
- indexList.push(index)
- }
- }
- )
- let blanks = document.getElementById('blanks');
- indexList.forEach(function(index){
- game.correctList[index]=true;
- blanks.childNodes[index].innerHTML= letter;
- })
- if(game.correctList.every(function(currentValue){
- return currentValue==true;
- })){
- alert("You Win!")
- }
- }else{
- // if wrong
- console.log(`Wrong! ${letter} is not in ${game.word.name}`);
- player.lives--
- console.log(`You have ${player.lives} lives left`)
- showLives();
- draw();
- if(player.lives==0){
- alert("Game Over!")
- }
- }
- }
- // create buttons
- let showButtons = function () {
- let keyboard = document.getElementById('keyboard');
- let letters = document.createElement('ul');
- letters.id = 'letters';
- keyboard.appendChild(letters);
- for (let i = 0; i < game.alphabets.length; i++) {
- let letter = document.createElement('li');
- letter.id= 'letter'
- let buttonLetter= document.createElement('button')
- buttonLetter.setAttribute('id','buttonLetter');
- buttonLetter.innerHTML = game.alphabets[i];
- buttonLetter.addEventListener('click',function(id){
- console.log(`you just clicked ${this.innerHTML}`)
- checkLetter(this.innerHTML)
- this.parentNode.removeChild(this);
- })
- letters.appendChild(letter);
- letter.appendChild(buttonLetter);
- }
- }
- // display all blanks
- // expose spaces and special characters
- let showBlanks = function(){
- let blanksFrame = document.getElementById('blanksFrame');
- let blanks = document.createElement('ul');
- blanks.setAttribute('id','blanks')
- blanksFrame.appendChild(blanks);
- for (let i=0; i<game.word.wordLetters.length; i++) {
- let blank = document.createElement('li');
- blank.setAttribute('id','blank')
- // if not alphabet then put special character
- if(!game.alphabets.includes(game.word.wordLetters[i])){
- if(game.word.wordLetters[i]==" "){
- blank.innerHTML = "   ";
- }else{
- blank.innerHTML = game.word.wordLetters[i];
- }
- // make filled blank with space or special character correct
- game.correctList[i]=true;
- }else{
- blank.innerHTML = "__";
- }
- blanks.appendChild(blank);
- }
- }
- //show hint (do not need to click button)
- let showHint= function(){
- let hint= document.getElementById('hint');
- hint.innerHTML = game.word.definition;
- }
- // show lives based on player object
- let showLives= function(){
- let lives= document.getElementById('lives');
- lives.innerHTML= `You have ${player.lives} lives left`;
- }
- // add limb to player based on player.lives
- let draw =function(){
- switch(player.lives){
- case 9:
- drawLine(5, 130, 30, 130)
- break;
- case 8:
- drawLine(10, 20, 10, 130)
- break;
- case 7:
- drawLine(10, 20, 50, 20)
- break;
- case 6:
- drawLine(50,20,50,30)
- break;
- case 5:
- //drawing head
- context.beginPath();
- context.arc(50, 40, 10, 0, Math.PI*2, true);
- context.stroke();
- break;
- case 4:
- drawLine(50,50,50,90)
- break;
- case 3:
- drawLine(50,90,30,110)
- break;
- case 2:
- drawLine(50,90,70,110)
- break;
- case 1:
- drawLine(50,60,30,80)
- break;
- case 0:
- drawLine(50,60,70,80)
- break;
- }
- }
- ```
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement