Compare commits

..

No commits in common. "d51d6b9fd1009b5d2eec1276597e4b6e34e005b5" and "dc1ba63fefe4ffc0b5a39c22afa359f252ad3bb7" have entirely different histories.

2 changed files with 12 additions and 6 deletions

View File

@ -24,6 +24,7 @@ class ShipField:
self.ship_size = 4 self.ship_size = 4
self.ship_direction = ShipDirection.VERTICAL self.ship_direction = ShipDirection.VERTICAL
def from_json(self, obj): def from_json(self, obj):
self.field = obj['field'] self.field = obj['field']
self.ships = obj['ships'] self.ships = obj['ships']
@ -32,6 +33,7 @@ class ShipField:
self.ship_size = obj['ship_size'] self.ship_size = obj['ship_size']
self.ship_direction = obj['ship_direction'] self.ship_direction = obj['ship_direction']
def __getitem__(self, item): def __getitem__(self, item):
if item is None: if item is None:
return None return None
@ -44,6 +46,7 @@ class ShipField:
return None return None
def action(self, row, col): def action(self, row, col):
self.clear_marker() self.clear_marker()
@ -57,6 +60,7 @@ class ShipField:
elif self.field_mode == ShipMode.SHOOT: elif self.field_mode == ShipMode.SHOOT:
self.shoot(row, col) self.shoot(row, col)
def target(self, row, col): def target(self, row, col):
self.clear_marker() self.clear_marker()
@ -75,8 +79,10 @@ class ShipField:
self.field[row * self.field_size + c] = "p" self.field[row * self.field_size + c] = "p"
else: else:
self.field[row * self.field_size + c] = "r" self.field[row * self.field_size + c] = "r"
else: else:
self.field[row * self.field_size + col] += "+" self.field[row * self.field_size + col] = "+"
def clear_marker(self): def clear_marker(self):
for i in range(0, len(self.field)): for i in range(0, len(self.field)):

View File

@ -33,11 +33,10 @@ def colorize(field, buttons):
bg = 'black' bg = 'black'
if field.field[i] == "p": if field.field[i] == "p":
bg = 'blue' bg = 'blue'
if field.field[i] == "r":
bg = 'red'
if "+" in field.field[i]: if "+" in field.field[i]:
bg = 'orange' bg = 'orange'
if "r" in field[i]:
bg = 'red'
buttons[i].configure(bg=bg) buttons[i].configure(bg=bg)
@ -112,4 +111,5 @@ loadbutton = Button(window, text='Load', width=20, height=2)
loadbutton.bind('<Button-1>', loadbutton_click) loadbutton.bind('<Button-1>', loadbutton_click)
loadbutton.grid(column=5, row=11, columnspan=4) loadbutton.grid(column=5, row=11, columnspan=4)
window.mainloop() window.mainloop()