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

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

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

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

Q&A

4回答

588閲覧

JavaScript

jtjqjemwu

総合スコア0

JavaScript

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

0グッド

0クリップ

投稿2020/10/30 13:55

編集2020/10/30 14:00

JavaScriptのボタンで、ランダムにジャンケンのグー、チョキ、パーを出したいのですが途中からのソースコードの表し方がわかりません。ランダムにグー、チョキ、パーを出す方法を教えて欲しいです。
ボタンを押すと、1回目:パー 2回目:グー  みたいなかんじにしたいです。

varcnt=0;

1document.write('<button id="mybtn">ボタン</button>'); 2 document.write('<div id="mydiv">' + cnt + '回目:</div>'); 3document.getElementById("mybtn").onclick = myclick; 4function myclick() { cnt++; 5document.getElementById("mydiv").innerHTML = cnt + '回目:'; }> varcnt=0; 6document.write('<button id="mybtn">ボタン</button>'); 7document.write('<div id="mydiv">' + cnt + '回目:</div>'); document.getElementById("mybtn").onclick = myclick; 8function myclick() { cnt++; 9document.getElementById("mydiv").innerHTML = cnt + '回目:'; }

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

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

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

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

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

miyabi_takatsuk

2020/10/30 15:27

何点か ・cntはどこかでいったん数値で定義していますか? undefinedに対して、インクリメントをしても、数値にはなりません。 ・document.writeは非推奨なので使うのはやめましょう。 ・グー・チョキ・パーを表示するような構文がありませんが、それさえも方法を提示してほしいということですか? ・結局今起きている”問題”はなんですか?何がわからないのでしょうか? 表し方といっても、もし、まるっきり方法がわかりませんだと、 丸投げの域をでません。 具体的に何がどうできていないのか、を具体的に明記しましょう。
m.ts10806

2020/10/31 01:05

タイトルには要件を タグにある内容だけ書いても何一つ伝わりません
guest

回答4

0

「じゃんけん javascript」でググったところ、3番目に出てきたこれが比較的わかりやすいのではないでしょうか。

hisNumber = Math.floor(Math.random()*3);

「Math.floor」「Math.random」はあらかじめ定義されている関数。
「Math.floor()」で小数以下を切り捨てて整数にする。
「Math.random()」で0以上1未満の範囲で乱数を発生させる。
なので「Math.random()*3」は0以上3未満の小数を含んだ数値。
それを「Math.floor()」すると「0」「1」「2」のいずれかとなる。
そして、そのいずれかが「hisNumber」に代入される。
……

if( hisNumber == 0 ){
hisHand = "グー";
}
if( hisNumber == 1 ){
hisHand = "チョキ";
}
if( hisNumber == 2 ){
hisHand = "パー";
}

前項で説明した通り「hisNumber」は「0」「1」「2」のいずれか。

このような場合には「if(条件式){処理}」で処理を分岐させる必要がある。
なお、条件式で左辺と右辺が等しい場合は「==」を使う。
他の場合は「<」「>」「<=」「>=」「!=」を使い分ける。

1行目「if(hisNumber==0){」は、もし「hisNumber」が「0」なら、

2行目「hisHand」に「グー」を代入する。
雑文の小部屋 JavaScriptじゃんけんゲーム作り方

投稿2020/10/31 01:19

Lhankor_Mhy

総合スコア36960

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

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

Lhankor_Mhy

2021/01/16 04:14

まあ一応、低評価の理由を書いといてください。
guest

0

乱数を生成し、値に応じて出す手を変えればよいのではないでしょうか

javascript

1var random = Math.floor(Math.random()*3); 2var hand = ["グー","パー","チョキ"]; 3 4if( random == 0 ){ 5 document.write(hand[0]); 6}else if( random == 2 ){ 7 document.write(hand[1]); 8}else{ 9 document.write(hand[2]); 10}

投稿2021/01/15 11:18

編集2021/01/15 11:25
masao1234

総合スコア8

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

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

aiueomaruta

2021/01/20 07:41

var hand = ['グー','チョキ','パー'][Math.floor(Math.random()*3)] とすることで、リストを作成して、さらにランダムな番号からリストの何番目というように選択しました。そしてその値を変数に入れました。なので、このコードのあとに document.write(hand) を入れればできます。
guest

0

var hand = ['グー','チョキ','パー'][Math.floor(Math.random()*3)];
このようにすると短縮できます????
グー、チョキ、パーのリストの中からランダムに選ぶようになっています。

投稿2020/11/05 21:59

aiueomaruta

総合スコア27

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

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

0

ボタン押すごとに、0から2の乱数を生成させて、それをもとにグー(0)、チョキ(1)、パー(2)を出しましょう

投稿2020/10/31 00:22

y_waiwai

総合スコア88042

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問