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

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

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

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

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

Q&A

解決済

1回答

942閲覧

モンスターを倒すゲームを作ろうとしていますが、体力が正常に動作してくれません。

退会済みユーザー

退会済みユーザー

総合スコア0

JavaScript

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

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

0グッド

0クリップ

投稿2020/03/11 04:57

編集2020/03/11 06:48

前提・実現したいこと

なんとなく作ってみたいなーと思っていてゲームを作ろうとしていて、
モンスターを倒すゲームを作っていて、自分の体力の表示が考えているところと結構違っています。

発生している問題・エラーメッセージ

エラーメッセージは出ていません。

該当のソースコード

HTML

1<!DOCTYPE html> 2<html> 3 4<head> 5 <link rel="stylesheet" type="text/css" href="../../../css/Monster_mainpage.css"> 6 <script type="text/javascript" src="../../../js/Monster_mainpage.js"></script> 7 <meta http-equiv="content-type" content="text/html; charset=UTF-8"> 8 <title>モンスターゲーム 9 </title> 10 11</head> 12 13<body> 14 15 <a href="../../../html/startscreen.html" style="text-decoration: none ;"><span 16 class="monstertitle">モンスターズ</span></a> 17 <br><br> 18 <p>モンスターをタッチすると、説明が見られます。</p> 19 20 <br> 21 22 <img src="../../../image/player_hed.png"><input type="image" 23 onclick="window.open('../description/monster3_description.html')" src="../../../image/モンスター3.png"> 24 <br><br> 25 <h4>攻撃</h4> 26 ・<input type="button" value="ひっかく" onclick="normaltype_scratch()">威力:90 27 <br> 28 ・<input type="button" value="突進" onclick="normaltype_rush()">威力:50 29 <h4>HP????</h4> 30 <p>あなた:</p> 31 <p id="player1_monster3_you">300</p><br> 32 <p>モンスター:</p> 33 <p id="monster3_monster">250</p><br> 34</body> 35 36</html>

javascript

1// alert 2function monster3_page_display() { 3 alert('ラーヌが現れた!'); 4} 5 6// ゲームオーバー 7function gameover() { 8 if (player1_HP = 0 | player1_HP < 0) { 9 location.href = '../gameover.html'; 10 } else { 11 ; 12 } 13} 14 15/* 16// HPカラー変更 17 18var player1_HP_half = document.getElementById('player1_monster3_you'); 19if (player1_HP_half < 150,player1_HP_half = 150) { 20 player1_HP_half.style.color = '#ffff00'; 21} 22*/ 23 24// ID取得 25/* 26player1_HP_id = document.getElementById('player1_monster3_you'); 27monster3_HP_id = document.getElementById('monster3_monster'); 28*/ 29 30// プレイヤーHP 31var player1_HP = 300 32 33// monsterパワー 34var monster3_power = 100 35 36 37// 自分の技 定義 38var scratch_power = 90; // ひっかく 39var rush_power = 50; // 突進 40var rush_reaction = 10; // 突進の反動 41 42 43// monsterHP定義 44var monster3_HP = 250 // monster3 45 46// monster3 処理 47function normaltype_scratch() { 48 alert('あなたのひっかく'); 49 alert('ラーヌの攻撃!\nシャドーボール!'); 50 player1_HP_kekka_scratch = player1_HP - monster3_power; 51 player1_HP_id = document.getElementById('player1_monster3_you'); 52 player1_HP_id.innerHTML = player1_HP_kekka_scratch; 53 monster3_HP_kekka = monster3_HP - scratch_power; 54 monster3_HP_id = document.getElementById('monster3_monster'); 55 monster3_HP_id.innerHTML = monster3_HP_kekka; 56 player1_HP = player1_HP_kekka_scratch; 57 console.log(player1_HP); 58 monster3_HP = monster3_HP_kekka; 59 console.log(monster3_HP); 60 gameover() 61} 62 63function normaltype_rush() { 64 alert('あなたの突進!'); 65 alert('反動によるダメージを受けた!'); 66 alert('ラーヌのシャドーボール!'); 67 player1_HP = player1_HP - monster3_power - rush_reaction; 68 69 console.log(player1_HP); 70 player1_HP_id = document.getElementById('player1_monster3_you'); 71 player1_HP_id.innerHTML = player1_HP; 72 73 monster3_HP = monster3_HP - rush_power; 74 console.log(monster3_HP); 75 monster3_HP_id = document.getElementById('monster3_monster'); 76 monster3_HP_id.innerHTML = monster3_HP; 77 gameover() 78}

補足情報(FW/ツールのバージョンなど)

HTMLコードには書いてありませんが、ちゃんとjavascriptを外部ファイルとしてやってあります。
まだわからないことがあるので(初心者です)、わかりやすく説明してくれるとありがたいです。
よろしくお願いします。

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

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

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

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

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

m.ts10806

2020/03/11 05:26 編集

「正常に動作しない」「違ってます」と言われても「どうなったら正解なのか」要件を具体的に記載しないと誰にも答えられないし、 最後、なんの説明を求められているのかわかりません。 読むのは全くの赤の他人です。 書いていないことは汲み取れません。この質問読んでも「結局どうしたいの?」という漠然とした疑問しかないです。 質問内容調整してください。 特に…回答依頼を出すのでしたら尚更です。 少なくとも回答依頼いただいた私が回答可能な情報は提示されてません。
m.ts10806

2020/03/11 05:20

どう見ても提示されたHTMLにはjsへのリンクがありません。コピペで再現できる情報もご提示ください。 この内容で「ちゃんと外部ファイルやってる」と他人に伝えるのは無理があります。提示されたコードの通り、リンクされてないことだけ。
hayato7

2020/03/11 05:22

> 自分の体力の表示が考えているところと結構違っています 考えているところについて、見る側はわからないので、どう違っているのか詳細に書いていただきたいです。 ・やりたいこと ・実装しようとしてつまっていること(やりたいことは〜〜だけど、実際には...になるのようなものでいいので) よろしくお願いいたします。
退会済みユーザー

退会済みユーザー

2020/03/11 05:27

ごめんなさい???? 改めて見たら、意味不明でした。 今、体力(自分の)が何をやっても-110になっている状況です。 「ひっかく」をやると90ダメージをmonster3の体力から引く。 「突進」をやると50ダメージをmonster3の体力から引いて、自分の体力から10ダメージ(反動のダメージ)を引きたいです。 本当にごめんなさい
m.ts10806

2020/03/11 05:38

質問は編集できますので調整してもらえればそれでよいのです
sakura_hana

2020/03/11 06:12

各console.logの結果はどうなっていますか? 複数回発動したりしていませんか?
Lhankor_Mhy

2020/03/11 08:54

ご提示のコードを試してみましたが、「今、体力(自分の)が何をやっても-110になっている状況です。」という問題が再現しませんでした。 「ひっかく」をやると自分の体力は200 「突進」をやると自分の体力は190 となりました。 問題が再現するコードをご提示ください。
退会済みユーザー

退会済みユーザー

2020/03/11 10:29

Lhankor_Mhyさん 説明が不十分でした。 2回目にいずれかの技をすると-110になります。
guest

回答1

0

ベストアンサー

代入演算子と等価演算子を間違えているようです。

js

1function gameover() { 2 if (player1_HP = 0 | player1_HP < 0) {

js

1function gameover() { 2 if (player1_HP == 0 | player1_HP < 0) {

あと、論理演算子にすべきところがビット演算子になっています。まあ、問題なく動くでしょうけれども。

投稿2020/03/11 10:40

Lhankor_Mhy

総合スコア36115

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

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

退会済みユーザー

退会済みユーザー

2020/03/11 10:45

ありがとうございます。 動きました。
Lhankor_Mhy

2020/03/11 10:49 編集

ご解決されて何よりです。 蛇足ですが、 player1_HP == 0 | player1_HP < 0 は、 player1_HP <= 0 と、同じ結果だと思います。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問