chatGPTで自然言語だけでスロットゲームを作ってみました
chatGPT plusに話しかけるだけでスロットゲームを作ってみました。
以下、「A.」がプロンプト(chatGPTへの入力)「Q.」がchatGPTの回答です。
A.スロットゲームをhtmlファイル1つで作成して頂けますか。
Q.もちろん、シンプルなスロットゲームをHTMLとJavaScriptを使って作成することができます。以下に、基本的なスロットゲームのHTMLファイルを示します。このコードは、3つのリールがあり、それぞれに3つのシンボル(🍎、🍌、🍇)が含まれています。ボタンをクリックするとリールがランダムに回転し、結果が表示されます。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Simple Slot Game</title>
<style>
.slot-container { display: flex; justify-content: center; align-items: center; }
.reel { margin: 0 10px; font-size: 24px; }
button { display: block; margin: 10px auto; }
</style>
</head>
<body>
<div class="slot-container">
<div class="reel" id="reel1">🍎</div>
<div class="reel" id="reel2">🍎</div>
<div class="reel" id="reel3">🍎</div>
</div>
<button id="spinButton">Spin</button>
<script>
const reel1 = document.getElementById('reel1');
const reel2 = document.getElementById('reel2');
const reel3 = document.getElementById('reel3');
const spinButton = document.getElementById('spinButton');
const symbols = ['🍎', '🍌', '🍇'];
function spinReel(reel) {
const randomIndex = Math.floor(Math.random() * symbols.length);
reel.textContent = symbols[randomIndex];
}
spinButton.addEventListener('click', () => {
spinReel(reel1);
spinReel(reel2);
spinReel(reel3);
});
</script>
</body>
</html>
このコードをコピーして、新しいHTMLファイルに貼り付けて保存し、ブラウザで開くことでスロットゲームを試すことができます。このシンプルなゲームは、リールの数やシンボルを追加したり、勝利の組み合わせを定義して報酬を与える機能を実装することで、さらに拡張することができます。
A.スピンボタンの代わりにスタートボタンとストップボタンをつけてください。スタートボタンを押すと、リールが回転し、ストップボタンを押すと絵柄が止まります。得点欄をつけて最初は100、1回回すごとに1減らし、絵柄が全て同じになったら100点と「おめでとうございます」アラートを表示してください。よろしくお願いいたします。
Q.要望に沿って、スタートボタンとストップボタンがあり、得点欄を持つスロットゲームのHTMLファイルを作成しました。以下にコードを示します。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Simple Slot Game</title>
<style>
.slot-container { display: flex; justify-content: center; align-items: center; }
.reel { margin: 0 10px; font-size: 24px; }
.buttons { display: flex; justify-content: center; }
button { margin: 10px; }
#score { text-align: center; }
</style>
</head>
<body>
<div class="slot-container">
<div class="reel" id="reel1">🍎</div>
<div class="reel" id="reel2">🍎</div>
<div class="reel" id="reel3">🍎</div>
</div>
<div class="buttons">
<button id="startButton">Start</button>
<button id="stopButton" disabled>Stop</button>
</div>
<div id="score">Score: 100</div>
<script>
const reel1 = document.getElementById('reel1');
const reel2 = document.getElementById('reel2');
const reel3 = document.getElementById('reel3');
const startButton = document.getElementById('startButton');
const stopButton = document.getElementById('stopButton');
const score = document.getElementById('score');
const symbols = ['🍎', '🍌', '🍇'];
let spinning = false;
let spinInterval;
let currentScore = 100;
function spinReel(reel) {
const randomIndex = Math.floor(Math.random() * symbols.length);
reel.textContent = symbols[randomIndex];
}
function startSpinning() {
if (!spinning) {
spinning = true;
spinInterval = setInterval(() => {
spinReel(reel1);
spinReel(reel2);
spinReel(reel3);
}, 100);
stopButton.disabled = false;
startButton.disabled = true;
}
}
function stopSpinning() {
if (spinning) {
clearInterval(spinInterval);
spinning = false;
stopButton.disabled = true;
startButton.disabled = false;
currentScore -= 1;
score.textContent = `Score: ${currentScore}`;
if (reel1.textContent === reel2.textContent && reel2.textContent === reel3.textContent) {
currentScore += 100;
score.textContent = `Score: ${currentScore}`;
alert("おめでとうございます!");
}
}
}
startButton.addEventListener('click', startSpinning);
stopButton.addEventListener('click', stopSpinning);
</script>
</body>
</html>
このコードでは、スタートボタンを押すとリールが回転し始め、ストップボタンを押すとリールが止まります。また、得点欄があり、スタートボタンを押すたびに1点減らされ、すべてのリールで同じシンボルが揃った場合、100点が加算され、「おめでとうございます!」のアラートが表示されます。このコードは、リールの数やシンボルを追加したり、勝利の組み合わせや得点システムを変更することで、さらに拡張することができます。
このコードをコピーして新しいHTMLファイルに貼り付け、保存し、ブラウザで開くことで、スロットゲームを試すことができます。また、必要に応じてデザインや機能をカスタマイズして、自分だけのオリジナルのスロットゲームを作成することができます。
こんな感じの可愛いスロットゲームが出来ました。
この記事が気に入ったらサポートをしてみませんか?