javascript ゲーム制作
Blue
数あてゲーム
ゲームオーバーの条件:
難易度に応じて、最大試行回数を設定しました。
簡単 (1-100): 最大10回
普通 (1-500): 最大7回
難しい (1-1000): 最大5回
プレイヤーがこの回数を超えた場合、ゲームオーバーとなり、正解の数が表示されます。
スコアボード:
現在のスコアを表示する機能はそのまま維持されています。
遊び方
難易度を選択します。
数を入力して挑戦します。
ヒントを参考にして正しい数を当てましょう。
最大試行回数に達するとゲームオーバーになります。
ここから↓
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>数当てゲーム</title>
<style>
body { font-family: Arial, sans-serif; text-align: center; margin-top: 50px; }
input { padding: 10px; width: 100px; }
button { padding: 10px; }
#result, #scoreboard { margin-top: 20px; font-size: 20px; }
</style>
</head>
<body>
<h1>数当てゲーム</h1>
<label for="difficulty">難易度:</label>
<select id="difficulty">
<option value="100">簡単 (1-100)</option>
<option value="500">普通 (1-500)</option>
<option value="1000">難しい (1-1000)</option>
</select>
<p>あなたの挑戦:</p>
<input type="number" id="guess" min="1">
<button onclick="checkGuess()">挑戦!</button>
<div id="result"></div>
<div id="scoreboard"></div>
<script>
let randomNumber;
let attempts = 0;
let hintsGiven = 0;
let score = 0;
let maxAttempts;
function startGame() {
const difficulty = Number(document.getElementById('difficulty').value);
randomNumber = Math.floor(Math.random() * difficulty) + 1;
attempts = 0;
hintsGiven = 0;
maxAttempts = getMaxAttempts(difficulty);
document.getElementById('result').innerText = '';
document.getElementById('guess').value = '';
updateScoreboard();
}
function getMaxAttempts(difficulty) {
if (difficulty === 100) return 10; // 簡単
if (difficulty === 500) return 7; // 普通
return 5; // 難しい
}
function checkGuess() {
const userGuess = Number(document.getElementById('guess').value);
attempts++;
if (userGuess < 1 || userGuess > Number(document.getElementById('difficulty').value)) {
document.getElementById('result').innerText = '設定した範囲内の数を入力してください。';
return;
}
if (userGuess < randomNumber) {
hintsGiven++;
if (hintsGiven === 3) {
document.getElementById('result').innerText = 'ヒント: 数は ' + (randomNumber % 2 === 0 ? '偶数' : '奇数') + ' です。';
} else {
document.getElementById('result').innerText = 'もっと大きい数です。';
}
} else if (userGuess > randomNumber) {
hintsGiven++;
if (hintsGiven === 3) {
document.getElementById('result').innerText = 'ヒント: 数は ' + (randomNumber < 50 ? '50より小さい' : '50以上') + ' です。';
} else {
document.getElementById('result').innerText = 'もっと小さい数です。';
}
} else {
score += 10;
document.getElementById('result').innerText = `おめでとうございます! ${attempts} 回目で正解です! スコア: ${score}`;
updateScoreboard();
startGame();
return;
}
if (attempts >= maxAttempts) {
document.getElementById('result').innerText = `ゲームオーバーです。正解は ${randomNumber} でした。`;
startGame();
}
}
function updateScoreboard() {
document.getElementById('scoreboard').innerText = `現在のスコア: ${score}`;
}
// ゲーム開始時に初期化
window.onload = startGame;
</script>
</body>
</html>
新規登録で充実の読書を
- マイページ
- 読書の状況から作品を自動で分類して簡単に管理できる
- 小説の未読話数がひと目でわかり前回の続きから読める
- フォローしたユーザーの活動を追える
- 通知
- 小説の更新や作者の新作の情報を受け取れる
- 閲覧履歴
- 以前読んだ小説が一覧で見つけやすい
アカウントをお持ちの方はログイン
ビューワー設定
文字サイズ
背景色
フォント
組み方向
機能をオンにすると、画面の下部をタップする度に自動的にスクロールして読み進められます。
応援すると応援コメントも書けます