以下是一个使用 JavaScript 编写的简单打飞碟游戏示例。在 HTML 文件中添加以下代码,并将该文件保存为.html格式,然后在浏览器中打开即可运行试玩游戏。

<!DOCTYPE html>
<html>
<head>
    <title>打飞碟游戏</title>
    <style>
        #game-container {
            position: relative;
            width: 800px;
            height: 400px;
            border: 1px solid black;
        }

        .disc {
            position: absolute;
            width: 50px;
            height: 50px;
            background-color: red;
            border-radius: 50%;
            cursor: pointer;
        }
    </style>
</head>
<body>
    <h1>打飞碟游戏</h1>
    <p>得分: <span id="score">0</span></p>
    <p>关卡: <span id="level">1</span></p>
    <div id="game-container"></div>

    <script>
        var score = 0;
        var level = 1;
        var discCount = 5;
        var discSpeed = 2;
        var gameContainer = document.getElementById("game-container");
        var scoreElement = document.getElementById("score");
        var levelElement = document.getElementById("level");

        gameContainer.addEventListener("click", function(event) {
            if (event.target.classList.contains("disc")) {
                event.target.style.display = "none";
                score++;
                scoreElement.textContent = score;
            }
        });

        function createDisc() {
            var disc = document.createElement("div");
            disc.className = "disc";
            disc.style.left = Math.random() * (gameContainer.offsetWidth - 50) + "px";
            disc.style.top = Math.random() * (gameContainer.offsetHeight - 50) + "px";
            gameContainer.appendChild(disc);
            return disc;
        }

        function moveDiscs() {
            var discs = document.getElementsByClassName("disc");
            for (var i = 0; i < discs.length; i++) {
                var disc = discs[i];
                var currentLeft = parseFloat(disc.style.left);
                var currentTop = parseFloat(disc.style.top);
                var newLeft = currentLeft + discSpeed;
                var newTop = currentTop + discSpeed;
                if (newLeft > gameContainer.offsetWidth - 50 || newTop > gameContainer.offsetHeight - 50) {
                    disc.remove();
                    if (discs.length <= 1) {
                        level++;
                        levelElement.textContent = level;
                        discCount += 5;
                        discSpeed += 1;
                        startGame();
                    }
                } else {
                    disc.style.left = newLeft + "px";
                    disc.style.top = newTop + "px";
                }
            }
        }

        function startGame() {
            for (var i = 0; i < discCount; i++) {
                createDisc();
            }
            setInterval(moveDiscs, 10);
        }

        startGame();
    </script>
</body>
</html>

这个游戏有一个简单的界面,显示得分和关卡。玩家需要点击出现的飞碟来得分。每个飞碟都会以一定的速度从左上角飞到右下角,当飞碟超出边界时,会消失并生成新的飞碟。每次击中飞碟后,得分会增加,当所有飞碟都被击中时,游戏会进入下一关,飞碟数量和速度会增加。

这只是一个简单的示例,你可以根据自己的需求进行修改和扩展,添加更多的功能和元素。


原文地址: https://www.cveoy.top/t/topic/pM74 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录