canvas实现迷宫大逃杀效果代码

代码语言:html

所属分类:其他

代码描述:canvas实现迷宫大逃杀效果代码

代码标签: canvas 迷宫 大逃杀

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

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

<head>
  <meta charset="UTF-8">
  

  
  
  
  
<style>
* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

body {
  background: #000;
  color: #fff;
}

canvas {
  height: 100%;
  width: 100%;
}

.app{
  align-content: center;
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  text-align: center;
  width: 100%;
}

.container {
  align-content: stretch;
  align-items: center;
  background: #000;
  display: flex;
  flex-wrap: wrap;
  height: 100%;
  justify-content: center;
  position: relative;
  width: 100%;
}

.app .card {
  display: block;
  font-size: 0.8em;
  width: 100vmin;
}
</style>


  
</head>

<body translate="no">
  <article>
  <section id="top" class="container app">
    <div id="visual" class="card show-visual">
      <canvas id="display"></canvas>
    </div>
  </section>
</article>
  
      <script  >
// SETTINGS
// Set a size for the first maze (between 4 - 12)
let start_size = 4;

// Set a max size for the maze, each new game will double the size (bigger sizes can cause lag and take longer to complete, choose 100 or less)
let end_size = 100;

// Set the number of players (max 7)
let player_count = 7;

// Define all the colors (use CSS named colors)
const background = "black";
const open_path = "white";
const player1 = "red";
const player2 = "green";
const player3 = "blue";
const player4 = "yellow";
const player5 = "orange";
const player6 = "purple";
const player7 = "magenta";

// --- END OF SETTINGS --- //

// Set the maze size in terms of blocks
let maze_size = start_size;

// Define a mode for the display canvas
let mode;

// Define the cell size
let cell_size = 15;

// The maze is made up of blocks of 4 blocks in a 2 x 2 formation so calculate the block size
let block_size = cell_size * 2;

// Apply the chosen colours into an array for easy referencing
let colors = [background, open_path, player1, player2, player3, player4, player5, player6, player7];

// Initiate the canvas variables for creating the display
let canvas = document.getElementById('display');
let grid = canvas.getContext('2d');

// Create a variable to keep track of the players' paths
let players;

// Define the function for drawing the maze blocks
function draw(queue, blocks) {
  // Only draw the blocks in the queue
  while (queue.length) {
    // Get the location based on the index numbers
    let [i, j] = queue.pop();
    // Make it clearer which is x and which is y then multply them by the block size
    let y = i * block_size;
    let x = j * block_size;
    // The top left cell of each block is stored in index [0] index, which in the.........完整代码请登录后点击上方下载按钮下载查看

网友评论0