原生js实现贪吃蛇小游戏效果代码

代码语言:html

所属分类:游戏

代码描述:原生js实现贪吃蛇小游戏效果代码

代码标签: 贪吃 小游戏 效果

下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开

<!DOCTYPE html>
<html lang="en">

<head>

    <meta charset="UTF-8">





    <style>
        html,
        body {
            height: 100%;
            margin: 0;
        }

        body {
            --size: 15px;
            --color: black;
            font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
            color: var(--color);
            background-color: #ff8585;
            background: linear-gradient(
            162deg,
            rgba(255, 133, 133, 1) 0%,
            rgba(227, 84, 95, 1) 100%
            );
        }

        footer {
            font-size: 0.8em;
        }

@media (min-height: 425px) {
            body {
                --size: 25px;
            }

            footer {
                height: 40px;
                font-size: 1em;
            }
        }

        .container {
            display: flex;
            flex-direction: column;
            justify-content: center;
            align-items: center;
            height: 100%;
        }

        header {
            display: flex;
            justify-content: space-between;
            width: calc(var(--size) *17);
            font-size: 2em;
            font-weight: 900;
        }

        .grid {
            display: grid;
            grid-template-columns: repeat(15, auto);
            grid-template-rows: repeat(15, auto);
            border: var(--size)solid var(--color);
        }
        .tile {
            position: relative;
            width: var(--size);
            height: var(--size);
        }
        .content {
            position: absolute;
            width: 100%;
            height: 100%;
        }

        footer {
            margin-top: 20px;
            max-width: calc(var(--size) *17);
            text-align: center;
        }

        footer a:visited {
            color: inherit;
        }
    </style>


</head>

<body translate="no">
    <div class="container">
        <header>
            <div class="contrast">
                100%
            </div>
            <div class="score">
                0
            </div>
        </header>
        <div class="grid"></div>
        <footer>
            Press an arrow key or space to start!
            <div>
                Ready for hard more? Press H

            </div>

        </footer>
    </div>
    <script>
        // Follow me on twitter: https://twitter.com/HunorBorbely

        document.addEventListener("DOMContentLoaded", function (event) {
            // Game data
            let snakePositions; // An array of snake positions, starting head first
            let applePosition; // The position of the apple

            let startTimestamp; // The starting timestamp of the animation
            let lastTimestamp; // The previous timestamp of the animation
            let stepsTaken; // How many steps did the snake take
            let score;
            let contrast;

            let inputs; // A list of directions the snake still has to take in order

            let gameStarted = false;
            let hardMode = false;

            // Configuration
            const width = 15; // Grid width
            const height = 15; // Grid height

            const speed = 200; // Milliseconds it takes for the snake to take a step in the grid
            let fadeSpeed = 5000; // milliseconds it takes the grid to disappear (initially)
            let fadeExponential = 1.024; // after each score it will gradually take more time for the grid to fade
            const contrastIncrease = 0.5; // contrast you gain after each score
            const color = "black";

            // Setup: Build up the grid
            // The grid consists of (width x height) tiles
            // The tiles take the the shape of a grid using CSS grid
            // The tile can represent a part .........完整代码请登录后点击上方下载按钮下载查看

网友评论0