bla
This commit is contained in:
7
cli/Target_Strategy_Sequence.puml
Normal file
7
cli/Target_Strategy_Sequence.puml
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
@startuml
|
||||||
|
Cabinet -> TargetStrategy : Event
|
||||||
|
Game -> TargetStrategy : defines
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@enduml
|
||||||
50
cli/game.py
50
cli/game.py
@@ -1,6 +1,3 @@
|
|||||||
from observable import Observable
|
|
||||||
from FlippR_Networking import Networking
|
|
||||||
|
|
||||||
output_server_address = ''
|
output_server_address = ''
|
||||||
input_server_address = ''
|
input_server_address = ''
|
||||||
|
|
||||||
@@ -25,53 +22,6 @@ class LeftFlapEventHandler(EventHandler):
|
|||||||
# do stuff...
|
# do stuff...
|
||||||
pass
|
pass
|
||||||
|
|
||||||
class Bank(Target):
|
|
||||||
def __init__(self, targets):
|
|
||||||
self.targets = targets
|
|
||||||
self.__register_targets__()
|
|
||||||
|
|
||||||
def __target_hit__(self, target):
|
|
||||||
if all(target.is_hit for target in self.targets):
|
|
||||||
self.__all_targets_hit__()
|
|
||||||
|
|
||||||
def __all_targets_hit__(self):
|
|
||||||
self.__reset_all_targets__()
|
|
||||||
super.hit()
|
|
||||||
pass
|
|
||||||
|
|
||||||
def __reset_all_targets__(self):
|
|
||||||
for target in self.targets:
|
|
||||||
target.reset()
|
|
||||||
|
|
||||||
def __register_targets__(self):
|
|
||||||
for target in self.targets:
|
|
||||||
target.on(target.hit_key, self.__target_hit__)
|
|
||||||
|
|
||||||
class Target(Observable):#is observable
|
|
||||||
def __init__(self, points, name):
|
|
||||||
self.points = points
|
|
||||||
self.name = name
|
|
||||||
self.hit_key = "hit"
|
|
||||||
|
|
||||||
def hit(self):
|
|
||||||
#notify Observers
|
|
||||||
#notify Gamestate
|
|
||||||
self.trigger(self.hit_key, self)
|
|
||||||
|
|
||||||
class BankTarget(Target):
|
|
||||||
def __init__(self, points):
|
|
||||||
super(points)
|
|
||||||
self.is_hit = False
|
|
||||||
|
|
||||||
def hit(self):
|
|
||||||
self.is_hit = True
|
|
||||||
super.hit()
|
|
||||||
#notify Bank
|
|
||||||
|
|
||||||
def reset(self):
|
|
||||||
self.is_hit = False
|
|
||||||
|
|
||||||
|
|
||||||
class GameState:
|
class GameState:
|
||||||
def __init__(self, targets):
|
def __init__(self, targets):
|
||||||
self.score = 0
|
self.score = 0
|
||||||
|
|||||||
Reference in New Issue
Block a user