-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmain.js
110 lines (98 loc) · 3.71 KB
/
main.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
var newGame = new Game()
var vanillaButton = document.getElementById('vanilla')
var spicyButton = document.getElementById('spicy')
var changeGameButton = document.getElementById('changeGame')
var humanWins = document.getElementById('humanWins')
var cpuWins = document.getElementById('cpuWins')
var gameChoiceContainer = document.querySelector('.choices-styling')
var fighterIconsView = document.querySelector('.choices-container')
var resultView = document.getElementById('resultMsg')
var choiceHeader = document.getElementById('gameChoicePrompt')
var showdown = document.querySelector('.showdown')
var battleView = document.getElementById('battleView')
var actionHeader = document.getElementById('actionEncourage')
gameChoiceContainer.addEventListener('click', selectGamemode)
changeGameButton.addEventListener('click', returnToGameSelect)
fighterIconsView.addEventListener('click', chooseFighter)
function hide(element){
element.classList.add('hidden')
}
function show(element){
element.classList.remove('hidden')
}
function selectGamemode (e){
if(e.target.parentElement.id === 'spicy'){
hide(gameChoiceContainer)
show(actionHeader)
show(changeGameButton)
hide(choiceHeader)
newGame.gameMode = 'spicy'
fighterIconsView.innerHTML =
`<article class="choices-container">
<img class="fighter" id="alien" src="./assets/alien.png" alt="alien image">
<img class="fighter" id="paper" src="./assets/paper.png" alt="paper image">
<img class="fighter" id="scissors" src="./assets/scissors.png" alt="scissors image">
<img class="fighter" id="lizard" src="./assets/lizard.png" alt="lizard image">
<img class="fighter" id="rock" src="./assets/rock.png" alt="rock image">
</article>`
}
if(e.target.parentElement.id === 'vanilla'){
hide(gameChoiceContainer)
show(actionHeader)
show(changeGameButton)
hide(choiceHeader)
newGame.gameMode = 'vanilla'
fighterIconsView.innerHTML =
`<article class="choices-container">
<img class="fighter" id="paper" src="./assets/paper.png" alt="paper image">
<img class="fighter" id="scissors" src="./assets/scissors.png" alt="scissors image">
<img class="fighter" id="rock" src="./assets/rock.png" alt="rock image">
</article>`
}
}
function returnToGameSelect(){
show(gameChoiceContainer)
hide(changeGameButton)
show(choiceHeader)
hide(actionHeader)
fighterIconsView.innerHTML = ""
}
function chooseFighter(e){
newGame.playerOneChoice = e.target.id
runGame()
updateWinsView()
hide(fighterIconsView)
displayPlayerChoices()
setTimeout(resetGame, 2000)
}
function resetGame(){
newGame.playerOneChoice = ""
newGame.playerTwoChoice = ""
battleView.innerHTML = ""
changeGameButton.disabled = false
hide(resultView)
show(fighterIconsView)
show(actionHeader)
}
function runGame(){
newGame.checkWinStates(newGame.playerOneChoice, newGame.gameMode)
displayResult()
}
function updateWinsView(){
humanWins.innerText = `Wins: ${newGame.playerOne.wins}`
cpuWins.innerText = `Wins: ${newGame.playerTwo.wins}`
}
function displayResult(){
changeGameButton.disabled = true
resultView.innerText = `${newGame.winMsg}`
show(resultView)
hide(actionHeader)
}
function displayPlayerChoices(){
battleView.innerHTML = `
<img class="player" src="${newGame.playerOne.token}">
<img class="player" src="${newGame.playerTwo.token}">
<img class="fighter" src="./assets/${newGame.playerOneChoice}.png">
<img class="fighter" src="./assets/${newGame.playerTwoChoice}.png">
`
}