-
Notifications
You must be signed in to change notification settings - Fork 0
/
maze.js
117 lines (106 loc) · 3.24 KB
/
maze.js
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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
document.querySelector('.main').innerHTML='';
const main = document.querySelector('.main');
const multiline = `***********.*
*S.....**.*.T
*****.....*.*
*****.***.*.*
*****.*****.*
*****.*****.*
*****.......*
*****.*******
*.........***
*.******...**
*....********`
const allLaby = document.createElement('div')
allLaby.className='tile'
main.appendChild(allLaby)
const player = document.createElement('div')
player.className = 'player'
for (let i = 0; i < multiline.length; i++) {
if (multiline[i].split('')=='*') {
const mur = document.createElement('div')
mur.className = 'mur'
allLaby.appendChild(mur)
}
else if (multiline[i].split('')=='.') {
const route = document.createElement('div')
route.className = 'route'
allLaby.appendChild(route)
}
else if (multiline[i].split('')=='S') {
const start = document.createElement('div')
start.className = 'start'
allLaby.appendChild(start)
}
else if (multiline[i].split('')=='T') {
const finish = document.createElement('div')
finish.className = 'finish'
allLaby.appendChild(finish)
let end = i
console.log(end);
}
}
document.querySelector("body > main > div > div.start").appendChild(player)
let playerpos = 15
function bougetop() {
let play = playerpos - 13
if (document.querySelector("body > main > div div:nth-child("+play+")").classList.contains('route','finish')) {
playerpos = play
document.querySelector("body > main > div div:nth-child("+playerpos+")").appendChild(player)
}
else{
console.log('il y a un mur');
}
}
function bougeright() {
let play = playerpos + 1
if (document.querySelector("body > main > div div:nth-child("+play+")").classList.contains('route')) {
playerpos++
document.querySelector("body > main > div div:nth-child("+playerpos+")").appendChild(player)
}
else if (document.querySelector("body > main > div div:nth-child("+play+")").classList.contains('finish')) {
playerpos++
document.querySelector("body > main > div div:nth-child("+playerpos+")").appendChild(player)
}
else{
console.log('il y a un mur');
}
}
function bougeleft() {
let play = playerpos - 1
if (document.querySelector("body > main > div div:nth-child("+play+")").classList.contains('route','finish')) {
playerpos--
document.querySelector("body > main > div div:nth-child("+playerpos+")").appendChild(player)
}
else{
console.log('il y a un mur');
}
}
function bougebot() {
console.log(playerpos);
let play = playerpos + 13
if (document.querySelector("body > main > div div:nth-child("+play+")").classList.contains('route','finish')) {
playerpos = play
document.querySelector("body > main > div div:nth-child("+playerpos+")").appendChild(player)
}
else{
console.log('il y a un mur');
}
}
document.body.addEventListener('keyup', function (e) {
if (e.key == 'z') {
bougetop()
}
if (e.key == 'd') {
bougeright()
}
if (e.key == 'q') {
bougeleft()
}
if (e.key == 's') {
bougebot()
}
if (playerpos == 26) {
alert('fin')
}
})