Top News

แจก prompt เกม zoom

 


คุณคือผู้เชี่ยวชาญด้านการพัฒนาเกม คุณช่วยสร้างเกม xo มีตัวเลือกเล่น 1 คนกับ 2 คน หน้าจอแบบ 3d มีมิติอย่างสวยงาม มีระบบคะแนน มีหน้าสรุปเกม มีคำอธิบายก่อนเริ่มเกม ใส่อีโมติคอน ตกแต่งให้น่าสนใจ สร้างเป็นภาษา HTML

ตัวอย่างโค๊ต จาก chatGPT

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>3D XO Game</title>
  <style>
    body {
      font-family: Arial, sans-serif;
      background: linear-gradient(135deg, #1e1e2f, #3a3a5e);
      color: #fff;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      height: 100vh;
      margin: 0;
      perspective: 800px;
    }
    h1 {
      margin: 0.5em 0;
    }
    #menu, #game, #result {
      display: none;
      text-align: center;
    }
    #menu.active, #game.active, #result.active {
      display: block;
    }
    .btn {
      padding: 10px 20px;
      margin: 10px;
      border: none;
      border-radius: 5px;
      cursor: pointer;
      font-size: 18px;
      color: #fff;
      background: #5a5acb;
      box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3);
      transition: background 0.3s;
    }
    .btn:hover {
      background: #7878f0;
    }
    #board {
      display: grid;
      grid-template-columns: repeat(3, 100px);
      grid-template-rows: repeat(3, 100px);
      gap: 5px;
      margin: 20px auto;
      transform: rotateX(20deg) rotateZ(10deg);
    }
    .cell {
      width: 100px;
      height: 100px;
      background: #fff;
      border-radius: 5px;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 36px;
      font-weight: bold;
      color: #333;
      cursor: pointer;
      box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
      transition: transform 0.2s, background 0.3s;
    }
    .cell:hover {
      transform: scale(1.1);
      background: #f0f0f0;
    }
    .scoreboard {
      margin: 20px 0;
      display: flex;
      justify-content: space-around;
      width: 80%;
    }
    .scoreboard div {
      font-size: 18px;
    }
  </style>
</head>
<body>
  <div id="menu" class="active">
    <h1>Welcome to 3D Tic Tac Toe! 🎮</h1>
    <p>Choose your game mode:</p>
    <button class="btn" onclick="startGame(1)">1 Player (vs AI 🤖)</button>
    <button class="btn" onclick="startGame(2)">2 Players 👥</button>
  </div>

  <div id="game">
    <h1>Tic Tac Toe</h1>
    <div class="scoreboard">
      <div>Player X: <span id="scoreX">0</span></div>
      <div>Player O: <span id="scoreO">0</span></div>
    </div>
    <div id="board"></div>
    <button class="btn" onclick="resetGame()">Reset Game</button>
    <button class="btn" onclick="showMenu()">Back to Menu</button>
  </div>

  <div id="result">
    <h1 id="winnerMessage"></h1>
    <button class="btn" onclick="resetGame()">Play Again</button>
    <button class="btn" onclick="showMenu()">Back to Menu</button>
  </div>

  <script>
    const menu = document.getElementById('menu');
    const game = document.getElementById('game');
    const result = document.getElementById('result');
    const board = document.getElementById('board');
    const scoreX = document.getElementById('scoreX');
    const scoreO = document.getElementById('scoreO');
    let currentPlayer = 'X';
    let scores = { X: 0, O: 0 };
    let gameMode = 2; // Default to 2 players
    let boardState = Array(9).fill(null);

    function startGame(mode) {
      gameMode = mode;
      menu.classList.remove('active');
      game.classList.add('active');
      createBoard();
    }

    function createBoard() {
      board.innerHTML = '';
      boardState.fill(null);
      for (let i = 0; i < 9; i++) {
        const cell = document.createElement('div');
        cell.className = 'cell';
        cell.dataset.index = i;
        cell.onclick = () => makeMove(i);
        board.appendChild(cell);
      }
    }

    function makeMove(index) {
      if (boardState[index]) return;
      boardState[index] = currentPlayer;
      document.querySelector(`.cell[data-index='${index}']`).textContent = currentPlayer;
      if (checkWin(currentPlayer)) {
        scores[currentPlayer]++;
        endGame(`${currentPlayer} Wins! 🎉`);
      } else if (boardState.every(cell => cell)) {
        endGame("It's a Tie! 🤝");
      } else {
        currentPlayer = currentPlayer === 'X' ? 'O' : 'X';
        if (gameMode === 1 && currentPlayer === 'O') aiMove();
      }
    }

    function aiMove() {
      const emptyCells = boardState.map((val, i) => (val ? null : i)).filter(i => i !== null);
      const randomMove = emptyCells[Math.floor(Math.random() * emptyCells.length)];
      makeMove(randomMove);
    }

    function checkWin(player) {
      const winningCombos = [
        [0, 1, 2], [3, 4, 5], [6, 7, 8], // Rows
        [0, 3, 6], [1, 4, 7], [2, 5, 8], // Columns
        [0, 4, 8], [2, 4, 6]             // Diagonals
      ];
      return winningCombos.some(combo => combo.every(i => boardState[i] === player));
    }

    function endGame(message) {
      document.getElementById('winnerMessage').textContent = message;
      scoreX.textContent = scores.X;
      scoreO.textContent = scores.O;
      game.classList.remove('active');
      result.classList.add('active');
    }

    function resetGame() {
      currentPlayer = 'X';
      createBoard();
      game.classList.add('active');
      result.classList.remove('active');
    }

    function showMenu() {
      game.classList.remove('active');
      result.classList.remove('active');
      menu.classList.add('active');
    }
  </script>
</body>
</html>

Post a Comment

ใหม่กว่า เก่ากว่า