добавлены методы гейм моуд
This commit is contained in:
parent
30e61b5497
commit
d89ebc511e
|
@ -7,9 +7,9 @@ from ShipView import ShipView
|
|||
from ShipField import ShipField
|
||||
from GameMode import GameMode
|
||||
|
||||
game_mode = GameMode.MENU
|
||||
active_view = {}
|
||||
|
||||
|
||||
def create_view(window, col_offset=0, row_offset=0):
|
||||
field = ShipField()
|
||||
buttons = []
|
||||
|
@ -63,6 +63,7 @@ def right_button_click(view):
|
|||
view.ship_field.toggle_ship_direction()
|
||||
colorize(view)
|
||||
|
||||
|
||||
def button_enter(view, row, col):
|
||||
global active_view
|
||||
active_view = view
|
||||
|
@ -85,7 +86,6 @@ def savebutton_click(view):
|
|||
|
||||
|
||||
def loadbutton_click(view):
|
||||
|
||||
file_path = filedialog.askopenfilename(filetypes=[('JSON files', '*.json')])
|
||||
if os.path.isfile(file_path):
|
||||
with open(file_path) as lines:
|
||||
|
@ -96,18 +96,49 @@ def loadbutton_click(view):
|
|||
|
||||
def refresh_remaining_ships_label(view):
|
||||
text = ''
|
||||
for i in range(1,5):
|
||||
for i in range(1, 5):
|
||||
count = view.ship_field.ships.count(i)
|
||||
if count > 0:
|
||||
text += f'{"[]" * i}: {count}, '
|
||||
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.title("Ship Craft!")
|
||||
window.geometry('1020x640')
|
||||
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_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.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)
|
||||
|
||||
|
||||
next_button = Button(window, text='>=', width=20, height=2)
|
||||
next_button = Button(window, text='>=', width=20, height=2, command=next_game_mode)
|
||||
next_button.grid(column=start_column_enemy_field + 6, row=load_button_row + 1, columnspan=4)
|
||||
|
||||
window.mainloop()
|
||||
|
|
Loading…
Reference in New Issue