Started working on mode handling
This commit is contained in:
parent
29849c2dd1
commit
3112046256
3 changed files with 16 additions and 20 deletions
|
@ -76,7 +76,6 @@ class Mode(str, Enum):
|
||||||
EXPLORE = "explore"
|
EXPLORE = "explore"
|
||||||
GOTOSTATION = "gotostation"
|
GOTOSTATION = "gotostation"
|
||||||
TARGET = "target"
|
TARGET = "target"
|
||||||
TARGET2 = "target2"
|
|
||||||
COMPLETE = "complete"
|
COMPLETE = "complete"
|
||||||
|
|
||||||
|
|
||||||
|
@ -104,8 +103,13 @@ class Communication:
|
||||||
def status(self):
|
def status(self):
|
||||||
return self._status
|
return self._status
|
||||||
|
|
||||||
def update(self):
|
def update(self, edges): # TODO: FINISH
|
||||||
pass
|
if(edges is None and self._status is Mode.EXPLORE):
|
||||||
|
self._status = Mode.GOTOSTATION
|
||||||
|
elif(edges is None):
|
||||||
|
pass
|
||||||
|
else:
|
||||||
|
pass
|
||||||
|
|
||||||
# THIS FUNCTIONS SIGNATURE MUST NOT BE CHANGED
|
# THIS FUNCTIONS SIGNATURE MUST NOT BE CHANGED
|
||||||
""" Handles the callback if any message arrived """
|
""" Handles the callback if any message arrived """
|
||||||
|
|
22
src/main.py
22
src/main.py
|
@ -23,30 +23,18 @@ def run():
|
||||||
while(communication.planetname is None):
|
while(communication.planetname is None):
|
||||||
communication.process_messages()
|
communication.process_messages()
|
||||||
|
|
||||||
print("received Planet Name")
|
|
||||||
|
|
||||||
while(communication.status() is not Mode.COMPLETE):
|
while(communication.status() is not Mode.COMPLETE):
|
||||||
while(communication.status() is Mode.GOTOSTATION): # should be triggered if current station has no unexplored edges
|
while(communication.status() is Mode.GOTOSTATION or communication.status() is Mode.TARGET): # should be triggered if current station has no unexplored edges
|
||||||
for instructions in communication.navto:
|
for instructions in communication.navto:
|
||||||
for instructions in communication.navto:
|
for instructions in communication.navto:
|
||||||
|
communication.update(None)
|
||||||
move.turnto(instructions[1])
|
move.turnto(instructions[1])
|
||||||
move.traversetonextstation(True)
|
move.traversetonextstation(True)
|
||||||
communication.update()
|
|
||||||
|
|
||||||
while(communication.status() is Mode.TARGET): # should be triggered when communication gets TARGET signal from server
|
communication.update(move.getstationedges()) # TODO: Register in map
|
||||||
for instructions in communication.navto:
|
|
||||||
for instructions in communication.navto:
|
|
||||||
move.turnto(instructions[1])
|
|
||||||
move.traversetonextstation(True)
|
|
||||||
communication.update()
|
|
||||||
|
|
||||||
communication(move.getstationedges()) # TODO: Register in map
|
|
||||||
move.turnto(communication.navto[0][1]) # TODO: add control mechanism to communication class
|
move.turnto(communication.navto[0][1]) # TODO: add control mechanism to communication class
|
||||||
move.traversetonextstation(False) # TODO: let same control mechanism decide if station is known, also traversetonextstation needs a return value
|
if(communication.check(move.traversetonextstation(False)) is False): # TODO: let same control mechanism decide if station is known, also traversetonextstation needs a return value
|
||||||
|
move.setcurdir(communication.getdir())
|
||||||
communication.update()
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# DO NOT EDIT
|
# DO NOT EDIT
|
||||||
|
|
|
@ -52,6 +52,7 @@ class Planet:
|
||||||
self._planetmap = {}
|
self._planetmap = {}
|
||||||
self._unexedge = []
|
self._unexedge = []
|
||||||
self._curnode = None
|
self._curnode = None
|
||||||
|
self._curdir = Direction.NORTH
|
||||||
self.target = None
|
self.target = None
|
||||||
|
|
||||||
# Adds a bidirectional path defined between the start and end coordinates to the map and assigns the weight to it.
|
# Adds a bidirectional path defined between the start and end coordinates to the map and assigns the weight to it.
|
||||||
|
@ -74,6 +75,9 @@ class Planet:
|
||||||
def getcurnode(self):
|
def getcurnode(self):
|
||||||
return self._curnode
|
return self._curnode
|
||||||
|
|
||||||
|
def getcurdir(self):
|
||||||
|
return self._curdir
|
||||||
|
|
||||||
def addtounexedge(self, node_edge_list):
|
def addtounexedge(self, node_edge_list):
|
||||||
self._unexedge = self._unexedge + node_edge_list
|
self._unexedge = self._unexedge + node_edge_list
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue