добавлен метод гейм апдейт

This commit is contained in:
ehermakov 2024-06-23 19:51:20 +03:00
parent d89ebc511e
commit d37cd7b41c
3 changed files with 30 additions and 6 deletions

View File

@ -241,11 +241,14 @@ class ShipField:
else: else:
self.ship_direction = ShipDirection.VERTICAL self.ship_direction = ShipDirection.VERTICAL
def toggle_field_mode(self): def set_field_mode(self, value):
if self.field_mode == ShipMode.PUT: if value is None:
self.field_mode = ShipMode.SHOOT return
else:
self.field_mode = ShipMode.PUT if type(value) is not ShipMode:
return
self.field_mode = value
def print_field(self): def print_field(self):
print(self.ships) print(self.ships)

View File

@ -4,6 +4,7 @@ import time
from tkinter import * from tkinter import *
from tkinter import filedialog from tkinter import filedialog
from ShipView import ShipView from ShipView import ShipView
from ShipMode import ShipMode
from ShipField import ShipField from ShipField import ShipField
from GameMode import GameMode from GameMode import GameMode
@ -113,7 +114,7 @@ def next_game_mode():
elif game_mode == GameMode.BATTLE: elif game_mode == GameMode.BATTLE:
game_mode = GameMode.END game_mode = GameMode.END
game_mode_stringvar.set(str(game_mode)) update_game_mode()
def prev_game_mode(): def prev_game_mode():
@ -126,6 +127,26 @@ def prev_game_mode():
elif game_mode == GameMode.PLAN: elif game_mode == GameMode.PLAN:
game_mode = GameMode.MENU game_mode = GameMode.MENU
update_game_mode()
def update_game_mode():
global game_mode
if game_mode == GameMode.MENU:
my_view.ship_field.set_field_mode(ShipMode.INACTIVE)
enemy_view.ship_field.set_field_mode(ShipMode.INACTIVE)
elif game_mode == GameMode.PLAN:
my_view.ship_field.set_field_mode(ShipMode.PUT)
enemy_view.ship_field.set_field_mode(ShipMode.INACTIVE)
elif game_mode == GameMode.BATTLE:
my_view.ship_field.set_field_mode(ShipMode.INACTIVE)
enemy_view.ship_field.set_field_mode(ShipMode.SHOOT)
elif game_mode == GameMode.END:
my_view.ship_field.set_field_mode(ShipMode.INACTIVE)
enemy_view.ship_field.set_field_mode(ShipMode.INACTIVE)
game_mode_stringvar.set(str(game_mode)) game_mode_stringvar.set(str(game_mode))