-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathglobalVariables.js
112 lines (98 loc) · 5.2 KB
/
globalVariables.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
let points = 0;
let model = Array(20).fill().map(() => (Array(10).fill(0)));
let holdModel = Array(4).fill().map(() => (Array(4).fill(0)));
let fallingSpeed = 3;
// -- Points Data ----
const POINTS = {
0:0,
1:40,
2:100,
3:300,
4:1200
}
// -- Tetrimo Data ------
const FORM_COLOR = ["I","J","L","O","S","T","Z"]; //index of + 1
const COLORS = ["#00ffff", "#0000ff", "#ff7f00", "#ffff00", "#00ff00", "#800080", "#ff0000"];
const FORMS = {
I: [new flatVector(3, 0), new flatVector(4, 0), new flatVector(5, 0), new flatVector(6, 0)],
J: [new flatVector(4, 0), new flatVector(4, 1), new flatVector(5, 1), new flatVector(6, 1)],
L: [new flatVector(5, 0), new flatVector(3, 1), new flatVector(4, 1), new flatVector(5, 1)],
O: [new flatVector(4, 0), new flatVector(5, 0), new flatVector(4, 1), new flatVector(5, 1)],
S: [new flatVector(4, 0), new flatVector(5, 0), new flatVector(3, 1), new flatVector(4, 1)],
T: [new flatVector(4, 0), new flatVector(3, 1), new flatVector(4, 1), new flatVector(5, 1)],
Z: [new flatVector(3, 0), new flatVector(4, 0), new flatVector(4, 1), new flatVector(5, 1)]
};
const FORMS_DESIGN_STATIC ={
I: [new flatVector(0, 1.5), new flatVector(1, 1.5), new flatVector(2, 1.5), new flatVector(3, 1.5)],
J: [new flatVector(0.5, 1), new flatVector(0.5, 2), new flatVector(1.5, 2), new flatVector(2.5, 2)],
L: [new flatVector(2.5, 1), new flatVector(0.5, 2), new flatVector(1.5, 2), new flatVector(2.5, 2)],
O: [new flatVector(1, 1), new flatVector(2, 1), new flatVector(1, 2), new flatVector(2, 2)],
S: [new flatVector(1.5, 1), new flatVector(2.5, 1), new flatVector(0.5, 2), new flatVector(1.5, 2)],
T: [new flatVector(1.5, 1), new flatVector(0.5, 2), new flatVector(1.5, 2), new flatVector(2.5, 2)],
Z: [new flatVector(0.5, 1), new flatVector(1.5, 1), new flatVector(1.5, 2), new flatVector(2.5, 2)]
}
const SPIN_FORM_VECTORS = {
I: [
[new flatVector(2, -1), new flatVector(1, 0), new flatVector(0, 1), new flatVector(-1, 2)],
[new flatVector(-2, 2), new flatVector(-1, 1), new flatVector(0, 0), new flatVector(1, -1)],
[new flatVector(1, -2), new flatVector(0, -1), new flatVector(-1, 0), new flatVector(-2, 1)],
[new flatVector(-1, 1), new flatVector(0, 0), new flatVector(1, -1), new flatVector(2, -2)]
],
J: [
[new flatVector(1, 0), new flatVector(2, -1), new flatVector(0, 0), new flatVector(-1, 1)],
[new flatVector(-1, 1), new flatVector(-1, 1), new flatVector(1, 0), new flatVector(1, 0)],
[new flatVector(1, -1), new flatVector(0, 0), new flatVector(-2, 1), new flatVector(-1, 0)],
[new flatVector(-1, 0), new flatVector(-1, 0), new flatVector(1, -1), new flatVector(1, -1)]
],
L: [
[new flatVector(-1, 0), new flatVector(1, 0), new flatVector(0, 1), new flatVector(0, 1)],
[new flatVector(-1, 1), new flatVector(0, 0), new flatVector(1, -1), new flatVector(-2, 0)],
[new flatVector(0, -1), new flatVector(0, -1), new flatVector(-1, 0), new flatVector(1, 0)],
[new flatVector(2, 0), new flatVector(-1, 1), new flatVector(0, 0), new flatVector(1, -1)]
],
O: [
[new flatVector(0, 0), new flatVector(0, 0), new flatVector(0, 0), new flatVector(0, 0)],
[new flatVector(0, 0), new flatVector(0, 0), new flatVector(0, 0), new flatVector(0, 0)],
[new flatVector(0, 0), new flatVector(0, 0), new flatVector(0, 0), new flatVector(0, 0)],
[new flatVector(0, 0), new flatVector(0, 0), new flatVector(0, 0), new flatVector(0, 0)]
],
S: [
[new flatVector(0, 0), new flatVector(-1, 1), new flatVector(2, 0), new flatVector(1, 1)],
[new flatVector(0, 1), new flatVector(1, 0), new flatVector(-2, 1), new flatVector(-1, 0)],
[new flatVector(-1, -1), new flatVector(-2, 0), new flatVector(1, -1), new flatVector(0, 0)],
[new flatVector(1, 0), new flatVector(2, -1), new flatVector(-1, 0), new flatVector(0, -1)]
],
T: [
[new flatVector(0, 0), new flatVector(1, 1), new flatVector(0, 0), new flatVector(0, 0)],
[new flatVector(-1, 1), new flatVector(0, 0), new flatVector(0, 0), new flatVector(0, 0)],
[new flatVector(0, 0), new flatVector(0, 0), new flatVector(0, 0), new flatVector(-1, -1)],
[new flatVector(1, -1), new flatVector(-1, -1), new flatVector(0, 0), new flatVector(1, 1)]
],
Z: [
[new flatVector(2, 0), new flatVector(0, 1), new flatVector(1, 0), new flatVector(-1, 1)],
[new flatVector(-2, 1), new flatVector(0, 0), new flatVector(-1, 1), new flatVector(1, 0)],
[new flatVector(1, -1), new flatVector(-1, 0), new flatVector(0, -1), new flatVector(-2, 0)],
[new flatVector(-1, 0), new flatVector(1, -1), new flatVector(0, 0), new flatVector(2, -1)]
]
};
//can't spell it... :)
class teriomio {
coordinates = Array();
name = String();
color = Number();
constructor(piece) {
this.name = piece;
this.coordinates = FORMS[piece];
this.color = FORM_COLOR.indexOf(piece) + 1;
};
};
// -- Algorithem ------
let certainRotation = 0;
let certainTetrimo;
let currentHold = undefined;
let holdable = true;
// -- AI -----
let aiSpeed = 60;
// -- Key Press -----
let lastKeyTime = {}
let lastKey = [];