Advertisement
Guest User

Untitled

a guest
Jun 25th, 2019
57
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.75 KB | None | 0 0
  1. ```javascript
  2. //main.js
  3. // include main methods
  4.  
  5. //MAIN METHODS
  6.  
  7.  
  8. //check whether guessed letter is correct and enter into blanks
  9. let checkLetter= function(letter){
  10.  
  11.  
  12. if(game.word.wordLetters.includes(letter)){
  13. //if correct
  14.  
  15. console.log(`Correct! ${letter} is inside ${game.word.name}`)
  16.  
  17. //collect indexes in list
  18. let indexList=[]
  19. game.word.wordLetters.filter(
  20. function(currentValue,index){
  21. if(currentValue==letter){
  22. indexList.push(index)
  23. }
  24. }
  25. )
  26.  
  27. let blanks = document.getElementById('blanks');
  28. indexList.forEach(function(index){
  29. game.correctList[index]=true;
  30. blanks.childNodes[index].innerHTML= letter;
  31. })
  32.  
  33. if(game.correctList.every(function(currentValue){
  34. return currentValue==true;
  35. })){
  36. alert("You Win!")
  37. }
  38.  
  39.  
  40. }else{
  41. // if wrong
  42.  
  43. console.log(`Wrong! ${letter} is not in ${game.word.name}`);
  44. player.lives--
  45. console.log(`You have ${player.lives} lives left`)
  46. showLives();
  47. draw();
  48.  
  49. if(player.lives==0){
  50. alert("Game Over!")
  51. }
  52. }
  53.  
  54. }
  55.  
  56. // create buttons
  57. let showButtons = function () {
  58. let keyboard = document.getElementById('keyboard');
  59. let letters = document.createElement('ul');
  60. letters.id = 'letters';
  61. keyboard.appendChild(letters);
  62. for (let i = 0; i < game.alphabets.length; i++) {
  63. let letter = document.createElement('li');
  64. letter.id= 'letter'
  65. let buttonLetter= document.createElement('button')
  66. buttonLetter.setAttribute('id','buttonLetter');
  67. buttonLetter.innerHTML = game.alphabets[i];
  68. buttonLetter.addEventListener('click',function(id){
  69. console.log(`you just clicked ${this.innerHTML}`)
  70. checkLetter(this.innerHTML)
  71. this.parentNode.removeChild(this);
  72. })
  73. letters.appendChild(letter);
  74. letter.appendChild(buttonLetter);
  75. }
  76. }
  77.  
  78. // display all blanks
  79. // expose spaces and special characters
  80. let showBlanks = function(){
  81. let blanksFrame = document.getElementById('blanksFrame');
  82. let blanks = document.createElement('ul');
  83. blanks.setAttribute('id','blanks')
  84. blanksFrame.appendChild(blanks);
  85. for (let i=0; i<game.word.wordLetters.length; i++) {
  86. let blank = document.createElement('li');
  87. blank.setAttribute('id','blank')
  88.  
  89. // if not alphabet then put special character
  90. if(!game.alphabets.includes(game.word.wordLetters[i])){
  91.  
  92. if(game.word.wordLetters[i]==" "){
  93. blank.innerHTML = "&nbsp&nbsp&nbsp";
  94. }else{
  95. blank.innerHTML = game.word.wordLetters[i];
  96.  
  97. }
  98. // make filled blank with space or special character correct
  99. game.correctList[i]=true;
  100.  
  101. }else{
  102. blank.innerHTML = "__";
  103. }
  104.  
  105.  
  106.  
  107. blanks.appendChild(blank);
  108. }
  109.  
  110.  
  111.  
  112. }
  113.  
  114. //show hint (do not need to click button)
  115. let showHint= function(){
  116. let hint= document.getElementById('hint');
  117. hint.innerHTML = game.word.definition;
  118. }
  119.  
  120. // show lives based on player object
  121. let showLives= function(){
  122. let lives= document.getElementById('lives');
  123.  
  124. lives.innerHTML= `You have ${player.lives} lives left`;
  125. }
  126.  
  127. // add limb to player based on player.lives
  128. let draw =function(){
  129.  
  130. switch(player.lives){
  131. case 9:
  132.  
  133. drawLine(5, 130, 30, 130)
  134.  
  135. break;
  136.  
  137. case 8:
  138. drawLine(10, 20, 10, 130)
  139.  
  140.  
  141. break;
  142.  
  143. case 7:
  144. drawLine(10, 20, 50, 20)
  145. break;
  146.  
  147. case 6:
  148. drawLine(50,20,50,30)
  149. break;
  150.  
  151. case 5:
  152.  
  153. //drawing head
  154. context.beginPath();
  155. context.arc(50, 40, 10, 0, Math.PI*2, true);
  156. context.stroke();
  157. break;
  158.  
  159. case 4:
  160.  
  161. drawLine(50,50,50,90)
  162.  
  163. break;
  164.  
  165. case 3:
  166. drawLine(50,90,30,110)
  167. break;
  168.  
  169. case 2:
  170. drawLine(50,90,70,110)
  171. break;
  172.  
  173. case 1:
  174. drawLine(50,60,30,80)
  175. break;
  176.  
  177. case 0:
  178.  
  179. drawLine(50,60,70,80)
  180. break;
  181.  
  182. }
  183.  
  184.  
  185. }
  186.  
  187. ```
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement