じゃんけんしてみよう
じゃんけんするプログラムの要件
自分がグー・チョキ・パーのいずれかのボタンを押すとじゃんけんができる
プログラム側ではランダムにいずれかを選んで、一つ手を決める
最終的に比べた結果で勝敗を判断する
また、ボタンを押せば次のじゃんけんができる
いけたらやりたいこと
自分が出した手と相手の出した手を画像で表示させてみたい
押した後、「じゃん」「けん」「ぽん」の表示をして、その後で結果が表示される
勝敗表を出せる
まずは何回勝ってるかわかればオッケー
更に余裕があれば、一回毎の勝敗を出したい
シンプルな回答例
HTML
<!doctype html>
<html>
<head>
<title>じゃんけんアプリ</title>
<script src="./script.js"></script>
</head>
<body>
<input type="button" value="グー" onclick="rsp(0);">
<input type="button" value="チョキ" onclick="rsp(1);">
<input type="button" value="パー" onclick="rsp(2);">
<div>
<div id="player"></div>
<div id="computer"></div>
<div id="resultMsg"></div>
</div>
</body>
</html>
JavaScript (script.js)
/*
* じゃんけんの手
* 0: グー
* 1: チョキ
* 2: パー
* として処理する
*/
function rsp(playerSelect) {
let result;
let playerSelectHand;
let comSelectHand;
let resultString;
let random = Math.random();
let comSelect = Math.floor(random * 3);
console.log(comSelect);
console.log(playerSelect);
/*
* 勝ち負けは(プレイヤーが)
* 0: 負け
* 1: 勝ち
* 2: あいこ
*/
if (playerSelect == comSelect) {
// 一緒だったらあいこ
result = 2;
} else {
// 違うので条件によって勝敗を振り分ける
if (playerSelect == 0) {
// プレイヤーはグー
if (comSelect == 1) {
// コンピューターはチョキ
result = 1;
} else {
// コンピューターはパー
result = 0;
}
} else if (playerSelect == 1) {
// プレイヤーはチョキ
if (comSelect == 0) {
// コンピューターはグー
result = 0;
} else {
// コンピューターはパー
result = 1;
}
} else {
// プレイヤーはパー
if (comSelect == 0) {
// コンピューターはグー
result = 1;
} else {
// コンピューターはチョキ
result = 0;
}
}
}
console.log(result);
if (playerSelect == 0) {
playerSelectHand = 'グー';
} else if (playerSelect == 1) {
playerSelectHand = 'チョキ';
} else {
playerSelectHand = 'パー';
}
if (comSelect == 0) {
comSelectHand = 'グー';
} else if (comSelect == 1) {
comSelectHand = 'チョキ';
} else {
comSelectHand = 'パー';
}
if (result == 0) {
resultString = '負け';
} else if (result == 1) {
resultString = '勝ち';
} else {
resultString = 'あいこ';
}
document.getElementById('player').innerHTML = 'あなたは ' + playerSelectHand;
document.getElementById('computer').innerHTML =
'コンピューターは ' + comSelectHand;
document.getElementById('resultMsg').innerHTML = '結果は ' + resultString;
}
Last updated