-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathsystem.js
More file actions
41 lines (41 loc) · 1.12 KB
/
Copy pathsystem.js
File metadata and controls
41 lines (41 loc) · 1.12 KB
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
//System controlled variables
let currentState = 0;
let currentState1 = 0;
export function updateGame(gameState, inputs) {
if (inputs["button1"]) {
gameState = newVill(gameState);
}
if (inputs["button2"]) {
gameState = setVillToCollect(gameState);
}
gameState = updateRes(gameState);
return gameState;
}
function setVillToCollect(g) {
for (let i = 0; i < g["player"]["villagers"].length; i++) {
if (g["player"]["villagers"][i]["state"] === "idle") {
g["player"]["villagers"][i]["state"] = "collecting";
break;
}
}
return g;
}
function updateRes(g) {
g["player"]["resources"]["r1"] += g["player"]["villagers"].filter(v => v["state"] === "collecting").length;
return g;
}
function newVill(g) {
if (g["player"]["resources"]["r1"] >= 50) {
let vill = {
"id": g["player"]["villagers"].length,
"state": "idle"
};
g["player"]["resources"]["r1"] -= 50;
g["player"]["villagers"].push(vill);
}
else {
//add an error message field to player?
g = g;
}
return g;
}