原生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