-
Notifications
You must be signed in to change notification settings - Fork 0
/
script.js
109 lines (85 loc) · 2.76 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
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
let cores = {
"amarela": "#ffff00ff",
"branca": "#ffffffff",
"verde": "#37c837ff",
"vermelha": "#ff0000ff",
"laranja": "#ff6600ff",
"azul": "#0000ffff"
};
faces = ["topo", "esquerda", "direita"];
setas = ["giraEsquerda", "giraTopo", "giraBaixo", "giraDireita"];
coordenadasCubinhos = [
"NW", "N", "NE",
"W", "C", "E",
"SW", "S", "SE",
];
let corAtual = "";
var escolheCor = (cor) => {
corAtual = cores[cor];
}
//-------------------------------------------------------
let setaCorCubinho = (cor, idCubo) => {
document.getElementById(idCubo).style.fill = cor;
}
let setaCorFace = (cor, face) => {
coordenadasCubinhos.forEach(coordenada => {
document.getElementById(face + coordenada).style.fill = cores[cor];
});
}
/* configura a mudança da cor do cubinho pela cor atual
(definida pela última cor escolhida pelo mouse)*/
let configClickCubinho = (id) => {
document.getElementById(id).onclick = () => {
/*console.log("Clicou no " + id);
console.log(corAtual);*/
// se corAtual não for vazia (o valor com o qual é inicializada, pinta o cubinho com o id definido no param)
if (corAtual != "") document.getElementById(id).style.fill = corAtual;
}
}
// ---------------------------
// INÍCIO CONFIG SETAS
// ---------------------------
// só para fins de teste da(s) seta(s) de giro
let configSetasGiro = () => {
document.getElementById("giraEsquerda").onclick = () => {
//console.log("Girou Esquerda");
setaCorFace("vermelha", "esquerda");
setaCorFace("azul", "direita");
};
document.getElementById("giraTopo").onclick = () => {
//console.log("Girou Topo");
setaCorFace("laranja", "topo");
setaCorFace("amarela", "direita");
}
document.getElementById("giraDireita").onclick = () => {
//console.log("Girou Esquerda");
setaCorFace("vermelha", "esquerda");
setaCorFace("azul", "direita");
}
}
// as setas só serão configuradas no próximo commit
// por enquanto, vão ficar invisíveis
setas.forEach(seta => {
document.getElementById(seta).style.display = "none";
});
configSetasGiro();
// ---------------------------
// FIM CONFIG SETAS
// ---------------------------
faces.forEach(face => {
coordenadasCubinhos.forEach(coordenada => {
configClickCubinho(face + coordenada);
});
});
let inicializaCores = () => {
coordenadasCubinhos.forEach(coordenada => {
setaCorCubinho(cores.branca, "topo" + coordenada);
});
coordenadasCubinhos.forEach(coordenada => {
setaCorCubinho(cores.azul, "esquerda" + coordenada);
});
coordenadasCubinhos.forEach(coordenada => {
setaCorCubinho(cores.laranja, "direita" + coordenada);
});
}
inicializaCores();