ここから本文です

JavaScriptがうまく作動してくれません。 プログラム初心者です。 最近ある方の...

bel********さん

2017/6/323:31:21

JavaScriptがうまく作動してくれません。
プログラム初心者です。
最近ある方の動画を見ながらJavaScriptでゲームを作る練習をしていました。

途中まではうまくいっていたのですが『case』を使い始めた途端うまく動作してくれなくなりました。
どこか間違っていますでしょうか。

<DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<body>
<script type="text/javascript">
window.addEventListener ( "keydown", keyPressed, false ) ;

document.body.style.color = "#ffffff"; // 文字色
document.bgColor = "#000000"; // 背景色


var x = "トンヌラ"; // プレイヤー名
var lv = 30 ; // プレイやーレベル
var hp = 30 ; // プレイヤーヒットポイント
var gold = 50 ; // プレイヤーの所持金

putjyosyo();
putCommand();


function keyPressed( event ) {

switch( event.keyCode) {
case 49 : { // Wキー.倒しに行く
if ( lv < 40 ) {
putGameOver() ;
}else{
putGameClear() ;
}
break;
}
case 83 : { // Sキー.修行する
lv += 5 ;
hp -= 3 ;

if ( lv / 4 > hp ) {
document.body.style.color = "#ffaa00" ; // ピンチの時の文字色変更
}

document.body.innerHTML = "" ;
putStatus();
put(" <img src=\"bouzu.png\">") ; // 坊主の画像表示

putWindow( x + "は" + 3 + "ポイントのダメージを受けた!<br>" + x + "はレベルが" + 5 + "上がった") ;


if ( hp <= 0 ){
put( "GAME OVER" ) ;
}else{
putCommand() ;
}
break ;

}
case 65 :{ // Aキー.宿屋に泊まる
if ( gold >= 10 ) {
hp = lv ;
gold -= 10 ; // 宿代
}
document.body.style.color = "#ffffff" ; // 宿屋に泊まると文字色変更
document.body.innerHTML = "" ;
putStatus() ;
putCommand() ;
break ;
}

}


// ウィンドウを表示
function putWindow( str )
{
put("<div style=\"border :2px solid #ffffff ; border-radius : 6px ; width : 18em ;\">" + str +"</div>" ) ;

}


// ステータスの表示
function putStatus()
{
putWindow( x + " LV" + lv + " HP" + hp + " " + gold + "G" ) ;

}

// 序章の文章を表示
function putjyosyo()
{

put( "魔王が世界を滅ぼそうとしています。" ) ;
putStatus() ;
put( x + "はLv" + lv + " HP" + hp + " 所持金" + gold + " Gのつわものです。" ) ;

}

// コマンドの表示
function putCommand()
{
put( "Wキー. 倒しに行く" ) ;
put( "Sキー. 修行する" ) ;
put( "Aキー.宿屋に泊まる" ) ;
}

// ゲームオーバ時の関数
function putGameOver()
{
put( x + "はLvが" + lv + "しかなかったので魔王に敗れました。" ) ;
put( "GAME OVER" ) ;
}

// ゲームクリア時の関数
function putGameClear()
{
put( x + "は魔王を倒しました。" ) ;
if ( lv > 200 ){
put( "Lv" + lv + "になったので魔王はゴミでした。" ) ;
}else if ( lv > 70 ){
put( "Lv" + lv + "だったので簡単に倒せました。" ) ;
}else{
put( "Lv" + lv + "だったので苦戦しました。" ) ;
}
put( "GAME CLEAR!" ) ;
}


function put( str )
{
document.body.innerHTML += str + "<br>" ;
}

</script>
</body>
</html>

閲覧数:
40
回答数:
1
お礼:
100枚

違反報告

ベストアンサーに選ばれた回答

rok********さん

2017/6/400:02:02

case 49 : { // Wキー.倒しに行く
について。
wキーなら87ではないでしょうか。

function keyPressed(event) {について
最後にかっこが一つ足りないようです。
「}」を一つ追加してみてください。

質問した人からのコメント

2017/6/4 12:06:06

ありがとうござます!
上手くいきました!!

この質問につけられたタグ

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる