-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmazePainter.js
More file actions
47 lines (41 loc) · 1.33 KB
/
mazePainter.js
File metadata and controls
47 lines (41 loc) · 1.33 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
(function(global) {
"use strict";
var jsmaze = global.jsmaze;
if (!jsmaze) {
jsmaze = {};
global.jsmaze = jsmaze;
}
jsmaze.getStyle = function(maze, blockType) {
switch (blockType) {
case maze.WALL:
return "#484848";
case maze.PATH:
return "#DEDEFF";
case maze.BOARDER:
return "#11228F";
case maze.ENTRANCE:
return "#FF0000";
case maze.EXIT:
return "#00FF00";
case maze.PLAYER:
return "#FFFF00";
case maze.TRACE:
return "#FF00FF";
}
return "#FFFFFF";
}
jsmaze.drawMaze = function(maze) {
for (var column = 0; column < maze.width; column++) {
for (var row = 0; row < maze.height; row++) {
jsmaze.drawBlock(maze, column, row, maze.cells[column][row]);
}
}
}
jsmaze.drawBlock = function(maze, x, y, blockType) {
maze.canvasContext.beginPath();
maze.canvasContext.rect(x * maze.PLAYER_SIZE, y * maze.PLAYER_SIZE, maze.PLAYER_SIZE, maze.PLAYER_SIZE);
maze.canvasContext.closePath();
maze.canvasContext.fillStyle = jsmaze.getStyle(maze, blockType);
maze.canvasContext.fill();
}
})(this);