-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathLogic.js
More file actions
76 lines (59 loc) · 1.49 KB
/
Logic.js
File metadata and controls
76 lines (59 loc) · 1.49 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
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
const MAX_TURNS = 10;
let turnsDone = 0;
let player1 = new Player()
let player2 = new Player()
class Player {
years: number;
inputted: boolean;
betray: boolean;
constructor() {
this.years = 0;
}
}
radio.onDataPacketReceived((receivedNumber) => {
let n = receivedNumber.receivedString;
if (n === "0" || n === "1") {
if (player1.inputted)
return;
player1.inputted = true;
player1.betray = n === "1";
} else if (n === "2" || n === "3") {
if (player2.inputted)
return;
player2.inputted = true;
player2.betray = n === "3";
}
if (player1.inputted && player2.inputted) {
player1.inputted = false;
player2.inputted = false;
resolve();
//SEND DATA
turnsDone++;
}
if (turnsDone >= MAX_TURNS) {
//GAME END
reset();
}
})
radio.setGroup(1);
function resolve() {
let input1 = player1.betray;
let input2 = player2.betray;
if (input1 && input2) { //both betray
player1.years += 2;
player2.years += 2;
} else if (!input1 && !input2) { //both silent
player1.years += 1;
player2.years += 1;
} else { //1 betray, 1 silent
if (input1) { //player 1 betray, player 2 silent
player2.years += 3;
} else if (input2) { //player 2 betray, player 1 silent
player1.years += 3;
}
}
}
function reset() {
player1.years = 0;
player2.years = 0;
}