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

This commit is contained in:
ehermakov 2024-06-23 19:34:10 +03:00
parent 30e61b5497
commit d89ebc511e
1 changed files with 39 additions and 6 deletions

View File

@ -7,9 +7,9 @@ from ShipView import ShipView
from ShipField import ShipField from ShipField import ShipField
from GameMode import GameMode from GameMode import GameMode
game_mode = GameMode.MENU
active_view = {} active_view = {}
def create_view(window, col_offset=0, row_offset=0): def create_view(window, col_offset=0, row_offset=0):
field = ShipField() field = ShipField()
buttons = [] buttons = []
@ -63,6 +63,7 @@ def right_button_click(view):
view.ship_field.toggle_ship_direction() view.ship_field.toggle_ship_direction()
colorize(view) colorize(view)
def button_enter(view, row, col): def button_enter(view, row, col):
global active_view global active_view
active_view = view active_view = view
@ -85,7 +86,6 @@ def savebutton_click(view):
def loadbutton_click(view): def loadbutton_click(view):
file_path = filedialog.askopenfilename(filetypes=[('JSON files', '*.json')]) file_path = filedialog.askopenfilename(filetypes=[('JSON files', '*.json')])
if os.path.isfile(file_path): if os.path.isfile(file_path):
with open(file_path) as lines: with open(file_path) as lines:
@ -103,11 +103,42 @@ def refresh_remaining_ships_label(view):
view.remaining_ship_text.set(text[:-2]) view.remaining_ship_text.set(text[:-2])
def next_game_mode():
global game_mode
if game_mode == GameMode.MENU:
game_mode = GameMode.PLAN
elif game_mode == GameMode.PLAN:
game_mode = GameMode.BATTLE
elif game_mode == GameMode.BATTLE:
game_mode = GameMode.END
game_mode_stringvar.set(str(game_mode))
def prev_game_mode():
global game_mode
if game_mode == GameMode.END:
game_mode = GameMode.BATTLE
elif game_mode == GameMode.BATTLE:
game_mode = GameMode.PLAN
elif game_mode == GameMode.PLAN:
game_mode = GameMode.MENU
game_mode_stringvar.set(str(game_mode))
window = Tk() window = Tk()
window.title("Ship Craft!") window.title("Ship Craft!")
window.geometry('1020x640') window.geometry('1020x640')
window.bind_all('<KeyPress>', keypress_handler) window.bind_all('<KeyPress>', keypress_handler)
game_mode = GameMode.MENU
game_mode_stringvar = StringVar()
game_mode_stringvar.set(str(game_mode))
start_column_my_field = 1 start_column_my_field = 1
start_row_my_field = 1 start_row_my_field = 1
@ -151,11 +182,13 @@ savebutton_enemy.grid(column=start_column_enemy_field, row=load_button_row, colu
loadbutton_enemy = Button(window, text='Load', width=20, height=2, command=lambda: loadbutton_click(enemy_view)) loadbutton_enemy = Button(window, text='Load', width=20, height=2, command=lambda: loadbutton_click(enemy_view))
loadbutton_enemy.grid(column=start_column_enemy_field + 6, row=load_button_row, columnspan=4) loadbutton_enemy.grid(column=start_column_enemy_field + 6, row=load_button_row, columnspan=4)
prev_button = Button(window, text='<=', width=20, height=2) lbl_game_mode = Label(window, text='', width=50, height=2, textvariable=game_mode_stringvar)
lbl_game_mode.grid(column=start_column_my_field + 6, row=load_button_row + 1, columnspan=10)
prev_button = Button(window, text='<=', width=20, height=2, command=prev_game_mode)
prev_button.grid(column=start_column_my_field, row=load_button_row + 1, columnspan=4) prev_button.grid(column=start_column_my_field, row=load_button_row + 1, columnspan=4)
next_button = Button(window, text='>=', width=20, height=2, command=next_game_mode)
next_button = Button(window, text='>=', width=20, height=2)
next_button.grid(column=start_column_enemy_field + 6, row=load_button_row + 1, columnspan=4) next_button.grid(column=start_column_enemy_field + 6, row=load_button_row + 1, columnspan=4)
window.mainloop() window.mainloop()