アルファベットあてゲームをしたいのですがなぜか何を入れても正解になってしまいます。
gameOverの値かletterToGuessの値が最初から入ってしまっていると怪しんでいるのですが、どうしてもおかしなところが見つかりません
宜しければお力添えいただけないでしょうか.....
HTML5
1<!DOCTYPE html> 2<html lang="en"> 3<head> 4 <meta charset="UTF-8"> 5 6 <title>EX4</title> 7 8 <script > 9 window.addEventListener('load', eventWindowLoaded, false); 10 11 var Debugger = function() {}; 12 Debugger.log = function(message) { 13 try { 14 console.log(message); 15 } catch(exception) { 16 return; 17 } 18 } 19 function eventWindowLoaded() { 20 canvasApp(); 21 } 22 23 function canvasApp() { 24 var guesses = 0; 25 var message = "Guess the letter from a (lower) to z(higher) "; 26 var letters = ["a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", 27 "l", "m", "n", "o", "p", "q", "r", "s" , "t", "u", "v", "w", "x", 28 "y", "z"]; 29 var today = new Date(); 30 var letterToGuess = " "; 31 var higherOrLower = " "; 32 var lettersGuessed; 33 var gameOver = false; 34 35 var theCanvas = document.getElementById("canvasOne"); 36 var context = theCanvas.getContext("2d"); 37 38 initGame(); 39 40 function initGame() { 41 var letterIndex = Math.floor(Math.random() * letters.length); 42 letterToGuess = letters[letterIndex]; 43 // guesses = 0; 44 lettersGuessed = []; 45 // gameOver = false; 46 window.addEventListener("keyup", eventKeyPressed, true); 47 var formElement = document.getElementById("createImageData"); 48 formElement.addEventListener('click', createImageDataPressed, false); 49 50 drawScreen(); 51 } 52 function eventKeyPressed(e) { 53 if (!gameOver) { 54 var letterPressed = String.fromCharCode(e.keyCode); 55 letterPressed = letterPressed.toLowerCase(); 56 guesses++; 57 lettersGuessed.push(letterPressed); 58 59 if (letterPressed = letterToGuess) { 60 gameOver = true; 61 } else { 62 letterIndex = letters.indexOf(letterToGuess); 63 guessIndex = letters.indexOf(letterPressed); 64 Debugger.log(guessIndex); 65 if (guessIndex < 0) { 66 higherOrLower = "That is not a letter"; 67 } else if (guessIndex > letterIndex) { 68 higherOrLower = "Lower"; 69 } else { 70 higherOrLower = "Higher"; 71 } 72 } 73 drawScreen(); 74 } 75 } 76 function drawScreen() { 77 context.fillStyle = "#ffffaa"; 78 context.fillRect(0, 0, 500, 300); 79 context.strokeStyle = "#000000"; 80 context.fillRect(5, 5, 490, 290); 81 context.textBaseline = "top"; 82 83 //Date 84 context.fillStyle = "#000000"; 85 context.font = "10px _san"; 86 context.fillText(today, 150, 10); 87 //Message 88 context.fillStyle = "#FF0000"; 89 context.font = "14px _sans"; 90 context.fillText (message, 125, 30); 91 //Guesses 92 context.fillStyle = "#109910"; 93 context.font = "16px _sans"; 94 context.fillText('Guesses: ' + guesses, 215, 50); 95 //Higher Or Lower 96 context.fillStyle = "#000000"; 97 context.font = "16px _sans"; 98 context.fillText("Higher Or Lower: " + higherOrLower, 150,125); 99 //Letters Guessed 100 context.fillStyle = "#FF0000"; 101 context.font = "16px _sans"; 102 context.fillText("Letters Guessed: " + lettersGuessed.toString(), 10, 260); 103 if (gameOver) { 104 context.fillStyle = "#ff0000"; 105 context.font = "40px _sans"; 106 context.fillText("You got it!", 150, 180); 107 } 108 } 109 function createImageDataPressed(e) { 110 window.open(theCanvas.toDataURL(), "canvasImage", 111 "left = 0, top = 0, width =" + theCanvas.width + ",height =" 112 + theCanvas.height + ", toolbar = 0, resizable = 0"); 113 } 114 } 115 116 </script> 117</head> 118<body> 119 <div style="position: absolute; top: 50px; left: 50px;"> 120 <canvas id="canvasOne" width="500" height="300"></canvas> 121 <form> 122 <input type="button" id="createImageData" value="Export Canvas"> 123 </form> 124 </div> 125</body> 126</html>
簡単に箇条書きで良いのでこのゲームの仕様を記載していただいて良いですか?コードから読み取れるとは限りませんし、「ゴール」が明確になっていないとどのように調整していけば良いか回答者も判断できませんので。
回答1件
あなたの回答
tips
プレビュー