質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

解決済

1回答

838閲覧

javaScript ゲーム、何を入れても答えになってしまう

Kaede0902

総合スコア32

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

0クリップ

投稿2018/09/05 21:49

アルファベットあてゲームをしたいのですがなぜか何を入れても正解になってしまいます。

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>

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m.ts10806

2018/09/05 22:11

簡単に箇条書きで良いのでこのゲームの仕様を記載していただいて良いですか?コードから読み取れるとは限りませんし、「ゴール」が明確になっていないとどのように調整していけば良いか回答者も判断できませんので。
guest

回答1

0

ベストアンサー

以下の分岐はletterToGuessの値をletterPressedへ代入した上でその値を評価していますが正しいですか?

Javascript

1function eventKeyPressed(e) { 2... 3 4 if (letterPressed = letterToGuess) { 5// letterPressed === letterToGuess ではないか

投稿2018/09/05 23:10

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Kaede0902

2018/09/06 00:22

ifの比較のイコールは二つ!!!! gameOverは一つ!!そこだ!!! 完全に忘れて居ました...... ありがとうございました!!
退会済みユーザー

退会済みユーザー

2018/09/06 00:32

どんまいです:D 私もたまにあります
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問