script game html sederhana
Berikut ini adalah contoh script game HTML sederhana:
<!DOCTYPE html>
<html>
<head>
<title>Game Sederhana</title>
<style>
#game-board {
width: 400px;
height: 400px;
margin: 0 auto;
border: 2px solid black;
display: flex;
flex-wrap: wrap;
}
.tile {
width: 33.33%;
height: 33.33%;
box-sizing: border-box;
border: 1px solid black;
display: flex;
align-items: center;
justify-content: center;
font-size: 30px;
cursor: pointer;
}
</style>
</head>
<body>
<div id="game-board"></div>
<script>
// Membuat array untuk menyimpan status tile (kosong, X, O)
var board = ['', '', '', '', '', '', '', '', ''];
// Membuat variabel untuk menentukan giliran pemain (0 = player 1, 1 = player 2)
var currentPlayer = 0;
// Memilih elemen dengan id game-board
var gameBoard = document.getElementById('game-board');
// Menambahkan event listener untuk setiap tile
for (var i = 0; i < 9; i++) {
var tile = document.createElement('div');
tile.className = 'tile';
tile.setAttribute('data-index', i);
tile.addEventListener('click', makeMove);
gameBoard.appendChild(tile);
}
// Fungsi untuk melakukan langkah pemain
function makeMove(event) {
var index = event.target.getAttribute('data-index');
// Memeriksa apakah tile sudah terisi atau belum
if (board[index] === '') {
// Mengisi tile dengan simbol pemain (X atau O)
board[index] = currentPlayer === 0 ? 'X' : 'O';
// Menampilkan simbol pemain di tile
event.target.innerText = board[index];
// Memeriksa apakah ada pemenang setelah langkah pemain
if (checkWinner()) {
alert('Player ' + (currentPlayer + 1) + ' Menang!');
resetGame();
return;
}
// Memeriksa apakah game berakhir seri
if (checkDraw()) {
alert('Permainan Berakhir Seri!');
resetGame();
return;
}
// Mengganti giliran pemain
currentPlayer = currentPlayer === 0 ? 1 : 0;
}
}
// Fungsi untuk memeriksa apakah ada pemenang
function checkWinner() {
var winningCombinations = [
[0, 1, 2],
[3, 4, 5],
[6, 7, 8],
[0, 3, 6],
[1, 4, 7],
[2, 5, 8],
[0, 4, 8],
[2, 4, 6]
];
for (var i = 0; i < winningCombinations.length; i++) {
var [a, b, c] = winningCombinations[i];
if (board[a] !== '' && board[a] === board[b] && board[a] === board[c]) {
return true;
}
}
return false;
}
// Fungsi untuk memeriksa apakah game berakhir seri
function checkDraw() {
for (var i = 0; i < board.length; i++) {
if (board[i] === '') {
return false;
}
}
return true;
}
// Fungsi untuk mereset game
function resetGame() {
board = ['', '', '', '', '', '', '', '', ''];
currentPlayer = 0;
var tiles = document.querySelectorAll('.tile');
for (var i = 0; i < tiles.length; i++) {
tiles[i].innerText = '';
}
}
</script>
</body>
</html>
Script di atas adalah contoh game tic-tac-toe sederhana. Pemain akan bergantian mengisi tile dengan simbol X atau O. Pemenang akan ditentukan jika ada tiga simbol yang sama dalam satu baris, kolom, atau diagonal. Jika tidak ada pemenang dan semua tile sudah terisi, maka game akan berakhir seri
原文地址: http://www.cveoy.top/t/topic/iTjd 著作权归作者所有。请勿转载和采集!