-
Notifications
You must be signed in to change notification settings - Fork 0
/
Classes.py
50 lines (42 loc) · 1.72 KB
/
Classes.py
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
class CoordinatePair:
def __init__(self, x, y):
self.x = x
self.y = y
def __eq__(self, other):
if(self.x == other.x and self.y == other.y):
return True
else:
return False
class Value:
def __init__(self, firstPriority, secondPriority, thirdPriority):
self.firstPriority = firstPriority
self.secondPriority = secondPriority
self.thirdPriority = thirdPriority
def __add__(self, other):
return Value(self.firstPriority+other.firstPriority, self.secondPriority+other.secondPriority, self.thirdPriority+other.thirdPriority)
def __eq__(self, other):
if (self.firstPriority == other.firstPriority and self.secondPriority == other.secondPriority and self.thirdPrority == other.thirdPrority):
return True
else:
return False
def __gt__(self, other):
if ((self.firstPriority > other.firstPriority) or (self.firstPriority == other.firstPriority and self.secondPriority > other.secondPriority) or (self.firstPriority == other.firstPriority and self.secondPriority == other.secondPriority and self.thirdPriority > other.thirdPriority)):
return True
else:
return False
class Node:
def __init__(self, coordinates, visited, score, uct):
self.coordinates = coordinates
self.visited = visited
self.score = score
self.uct = uct
self.parent = 0
self.children = []
def __eq__(self, other):
if(self.coordinates.x == other.coordinates.x and self.coordinates.y == other.coordinates.y):
return True
else:
return False
class Boolean:
def __init__(self, value):
self.value = value