-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmain.js
114 lines (100 loc) · 3.26 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
111
112
113
114
var game = '';
var homeScreen = document.querySelector('#startMenu');
var instScreen = document.querySelector('#instructionMenu');
var gameScreen = document.querySelector('#gameWindow');
var playedCard = document.querySelector('#playedPile');
var cardCount = document.querySelector('#cardsInPile');
var slapUpdate = document.querySelector('#gameUpdates');
var leftWins = document.querySelector('#leftWins');
var rightWins = document.querySelector('#rightWins');
var newGameButton = document.querySelector('#newGame');
homeScreen.addEventListener('click', homeScreenPress);
instScreen.addEventListener('click', returnHome);
newGameButton.addEventListener('click', newGamePress);
document.addEventListener('keydown', playerKeyPress);
function homeScreenPress() {
if (event.target.id === 'play') {
startGame();
} else if (event.target.id === 'instructions') {
showRules();
}
}
function returnHome() {
if (event.target.id === 'return') {
showRules();
}
}
function newGamePress() {
showNewGame();
makeGame();
updateTopText();
updateCardCount();
}
function playerKeyPress(key) {
var yourCard = '';
if (game.turn === 'Player 1' && key.key === 'q') {
game.playerTurn(game.playerOne);
updateCardShadow('left-card')
} else if (game.turn === 'Player 2' && key.key === 'p') {
game.playerTurn(game.playerTwo);
updateCardShadow('right-card')
} else if (game.turn && key.key === 'f' && game.playedCards[0]) {
game.slapCard(game.playerOne);
} else if (game.turn && key.key === 'j' && game.playedCards[0]) {
game.slapCard(game.playerTwo);
}
updateCardCount();
updateTopText();
}
function startGame() {
homeScreen.classList.toggle('hidden');
gameScreen.classList.toggle('hidden');
slapUpdate.classList.remove('hidden');
makeGame();
}
function showRules() {
homeScreen.classList.toggle('hidden');
instScreen.classList.toggle('hidden');
}
function showNewGame() {
newGameButton.classList.toggle('hidden');
cardCount.classList.toggle('hidden');
}
function makeGame() {
player1 = new Player('Player 1');
player2 = new Player('Player 2');
game = new Game(player1, player2);
game.playerOne.wins = JSON.parse(localStorage.getItem('Player 1')) || 0;
game.playerTwo.wins = JSON.parse(localStorage.getItem('Player 2')) || 0;
leftWins.innerText = game.playerOne.wins;
rightWins.innerText = game.playerTwo.wins;
game.deal();
}
function updateTopText() {
slapUpdate.innerText = game.slapResult;
}
function updateCardCount() {
cardCount.innerText = game.playedCards.length || '0';
if (game.playedCards[0]) {
playedCard.innerHTML = game.playedCards[0].image;
} else {
playedCard.innerHTML = '';
}
}
function updateCardShadow(className) {
playedCard.classList.remove('left-card');
playedCard.classList.remove('right-card');
playedCard.classList.add(className);
}
function gameOver() {
if (game.winner === game.playerOne.name) {
playedCard.innerHTML = `<h2>${game.playerOne.name} wins!</h2>`;
game.slapResult = `${game.winner} HAS WON!`;
leftWins.innerText = game.playerOne.wins;
} else if (game.winner === game.playerTwo.name) {
playedCard.innerHTML = `<h2>${game.playerTwo.name} wins!</h2>`;
game.slapResult = `${game.winner} HAS WON!`;
rightWins.innerText = game.playerTwo.wins;
}
updateTopText();
}