Initialisierung von Board und Häusern

This commit is contained in:
Martin Putzlocher 2022-04-19 10:15:33 +02:00
parent 55d804f3bc
commit ba5b38e7c4
4 changed files with 38 additions and 22 deletions

View File

@ -38,11 +38,10 @@ class Board(object):
for i in range(10): for i in range(10):
f = Field.Field(self, i, self.colors[n], house=False) f = Field.Field(self, i, self.colors[n], house=False)
self._list_all_fields.append(f) self._list_all_fields.append(f)
IDlist = [f.get_id() for f in self._list_all_fields] IDlist = [f.get_id() for f in self._list_all_fields]
print(IDlist) print(IDlist)
def get_next_standard_field(self, current_field): def get_next_standard_field(self, current_field):
""" """
@ -52,9 +51,11 @@ class Board(object):
@author @author
""" """
pass current_index = self._list_all_fields.index(current_field)
next_field = self._list_all_fields[current_index + 1]
return next_field
def get_next_field_by_color(self, current_field, color = "black"): def get_next_field_by_color(self, current_field, color_of_stone = "black"):
""" """
:param Field: current_field : Current field :param Field: current_field : Current field
@ -65,8 +66,16 @@ class Board(object):
@author @author
""" """
curr_id = current_field.get_id() current_field_color = current_field.get_color()
next_field = self.get_next_standard_field(current_field)
next_field_color = next_field.get_color()
if color_of_stone == next_field_color and current_field_color != next_field_color:
# TODO
# next_field = im Haus des aktuellen Spielers
pass
else:
pass
return next_field

View File

@ -7,21 +7,11 @@ class Field():
:author: Martin Putzlocher :author: Martin Putzlocher
"""
""" ATTRIBUTES
board (private)
occupied (private)
number (private)
color (private)
""" """
def __init__(self, board:Board.Board=None, number:int=0, color:str="black", house:bool=False): def __init__(self, board:Board.Board=None, number:int=0, color:str="black", house:bool=False):
""" Constructor
"""
if board is None: if board is None:
raise Exception("No Board Exception") raise Exception("No Board Exception")
self.board = board self.board = board
@ -30,6 +20,7 @@ class Field():
self._h = house self._h = house
self._id = "" self._id = ""
self.set_id(color, number, house) self.set_id(color, number, house)
self.occupied = False
def get_id(self): def get_id(self):
""" Get ID of field instance """ Get ID of field instance
@ -52,6 +43,16 @@ class Field():
self._id = "S" + color[:3] + str(number) self._id = "S" + color[:3] + str(number)
return self._id return self._id
def get_number(self):
""" Get the number 0...9 of the field
"""
return self._n
def get_color(self):
""" Get the color of the field
"""
return self._c
def get_next_field(self, color_of_stone="black"): def get_next_field(self, color_of_stone="black"):
""" Give back next field on board, dependent on the color of a stone on the current """ Give back next field on board, dependent on the color of a stone on the current
field. field.

View File

@ -26,7 +26,10 @@ class GameController(object):
self.list_of_players = list() self.list_of_players = list()
for i in range(number_of_players): for i in range(number_of_players):
self.add_player("Player " + str(i), GameController.COLORS[i]) self.add_player("Player " + str(i), GameController.COLORS[i])
print([[p.name, p.color] for p in self.list_of_players])
self.board = Board(GameController.COLORS, number_of_players) self.board = Board(GameController.COLORS, number_of_players)
for p in self.list_of_players:
p.init_house(self.board)
self.game_view = GameView() self.game_view = GameView()
def add_player(self, name, color): def add_player(self, name, color):

View File

@ -22,9 +22,12 @@ class Player():
def __init__(self, name:str="Nobody", color:str="black"): def __init__(self, name:str="Nobody", color:str="black"):
self.name = name self.name = name
self.color = color self.color = color
self.house = House() self.house = None
self.set_of_stones = list() self.set_of_stones = list()
def init_house(self, board):
self.house = House(board, self.color)
def take_turn(self): def take_turn(self):
""" """