-
Notifications
You must be signed in to change notification settings - Fork 0
/
script.js
94 lines (73 loc) · 1.77 KB
/
script.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
document.addEventListener
(
'DOMContentLoaded',
() =>
{
const bird = document.querySelector('.bird')
const viewPort = document.querySelector('.game-container')
const ground = document.querySelector('.ground')
let birdLeft = 220
let birdBottom = 100
let gravity = 2
const control = (e) =>
{
if (e.key == ' ')
{
jump()
}
}
const startGame = () =>
{
if (birdBottom > 0)
birdBottom -= gravity
bird.style.bottom = birdBottom
}
const jump = () =>
{
if (birdBottom < 500)
{
birdBottom += 50
bird.style.bottom = birdBottom
}
}
bird.style.left = birdLeft
let gameTimer = setInterval(startGame, 20)
document.addEventListener
(
'keypress',
control
)
const generateObstacle = () =>
{
var randomHeight = Math.random() * 200 - 50
var obstacleLeft = 500
var obstacleBottom = randomHeight
const topObstacle = document.createElement('div')
const bottomObstacle = document.createElement('div')
topObstacle.classList.add('obstacle')
bottomObstacle.classList.add('obstacle')
viewPort.appendChild(topObstacle)
viewPort.appendChild(bottomObstacle)
topObstacle.style.left = obstacleLeft
bottomObstacle.style.left = obstacleLeft
topObstacle.style.bottom = obstacleBottom
bottomObstacle.style.bottom = obstacleBottom + 500
const moveObstacle = () =>
{
obstacleLeft -= 2
topObstacle.style.left = obstacleLeft
bottomObstacle.style.left = obstacleLeft
if (obstacleLeft == -60)
{
clearInterval(obstacleTimer)
viewPort.removeChild(topObstacle)
viewPort.removeChild(bottomObstacle)
}
}
const obstacleTimer = setInterval(moveObstacle, 20)
setTimeout(generateObstacle, 3000)
}
generateObstacle()
// clearInterval(gameTimer)
}
)