-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathgame.js
104 lines (85 loc) · 2.82 KB
/
game.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
const rock = document.getElementById("rock") //Todas estas const toman la información de los botones del HTML
const paper = document.getElementById("paper")
const scissors = document.getElementById("scissors")
const userScore = document.getElementById('user')
const pcScore = document.getElementById('pc')
userScore.innerHTML = 0
pcScore.innerHTML = 0
class Game {
constructor() {
this.iniciar()
this.eventosDeUsuario()
}
iniciar() {
this.options = {
rock,
paper,
scissors
}
}
eventosDeUsuario() {
this.options.rock.addEventListener('click', this.eleccionDeUsuario.bind(this))
this.options.paper.addEventListener('click', this.eleccionDeUsuario.bind(this))
this.options.scissors.addEventListener('click', this.eleccionDeUsuario.bind(this))
}
cambiarEleccionANumero(opcionUsuario) {
switch (opcionUsuario) {
case 'rock':
return 1
case 'paper':
return 2
case 'scissors':
return 3
}
}
cambiarNumeroAOpcion(usuario) {
switch (usuario) {
case 1:
return 'Rock'
case 2:
return 'Paper'
case 3:
return `Scissors`
}
}
cambiarPcAOpcion(pc) {
switch (pc) {
case 1:
return 'Rock'
case 2:
return 'Paper'
case 3:
return `Scissors`
}
}
eleccionDeUsuario (ev) {
const opcionUsuario = ev.target.dataset.opcion
let usuario = this.cambiarEleccionANumero(opcionUsuario)
let pc = Math.floor(Math.random()* (3 + 1 - 1) + 1)
if (pc === usuario) {
this.empate(usuario, pc)
} else if (usuario === 1 && pc === 3 || usuario === 2 && pc === 1 || usuario === 3 && pc === 2) {
this.ganaste(usuario, pc)
} else {
this.perdiste(usuario, pc)
}
}
empate (usuario, pc) {
let usuarioFinal = this.cambiarNumeroAOpcion(usuario)
let pcFinal = this.cambiarPcAOpcion(pc)
swal('TIE!', `You chose ${usuarioFinal} and pc chose ${pcFinal}`, 'error')
}
ganaste (usuario, pc) {
let usuarioFinal = this.cambiarNumeroAOpcion(usuario)
let pcFinal = this.cambiarPcAOpcion(pc)
userScore.innerHTML++
swal('YOU WIN!', `You chose ${usuarioFinal} and pc chose ${pcFinal}`, 'success')
}
perdiste (usuario, pc) {
let usuarioFinal = this.cambiarNumeroAOpcion(usuario)
let pcFinal = this.cambiarPcAOpcion(pc)
pcScore.innerHTML++
swal('YOU LOSE :(', `You chose ${usuarioFinal} and pc chose ${pcFinal}`, 'error')
}
}
var juego = new Game()