дополнен код,но есть баги
This commit is contained in:
parent
9c97a90f20
commit
b8968208bd
|
@ -5,7 +5,6 @@
|
|||
</component>
|
||||
<component name="ChangeListManager">
|
||||
<list default="true" id="b389cdea-22f5-4ba2-8b46-337091984b3c" name="Changes" comment="код по 22 части урока">
|
||||
<change beforePath="$PROJECT_DIR$/../Переделка.rar" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/ShipField.py" beforeDir="false" afterPath="$PROJECT_DIR$/ShipField.py" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/main.py" beforeDir="false" afterPath="$PROJECT_DIR$/main.py" afterDir="false" />
|
||||
|
@ -187,7 +186,7 @@
|
|||
<breakpoints>
|
||||
<line-breakpoint enabled="true" suspend="THREAD" type="python-line">
|
||||
<url>file://$PROJECT_DIR$/main.py</url>
|
||||
<line>147</line>
|
||||
<line>155</line>
|
||||
<option name="timeStamp" value="1" />
|
||||
</line-breakpoint>
|
||||
</breakpoints>
|
||||
|
|
|
@ -186,6 +186,9 @@ class ShipField:
|
|||
# в противном случае фолс
|
||||
return self.field[row * ShipField.field_size + col].strip() == "1"
|
||||
|
||||
def check_end(self):
|
||||
return "1" not in self.field
|
||||
|
||||
def check_possible(self, row, col):
|
||||
# Функция должна возвращать True, если можно поставить сюда корабль,
|
||||
# в противном случае - False
|
||||
|
|
Binary file not shown.
|
@ -10,7 +10,6 @@ from ShipField import ShipField
|
|||
from GameMode import GameMode
|
||||
from ShootResult import ShootResult
|
||||
|
||||
active_view = {}
|
||||
|
||||
|
||||
def create_view(window, enemy):
|
||||
|
@ -65,22 +64,31 @@ def colorize(view):
|
|||
def keypress_handler(e):
|
||||
if e.keysym.isnumeric():
|
||||
if my_view.active:
|
||||
my_view.ship_field.set_ship_size(e.keysym)
|
||||
my_view.ship_field.set_ship_size(int(e.keysym))
|
||||
elif enemy_view.active:
|
||||
enemy_view.ship_field.set_ship_size(e.keysym)
|
||||
enemy_view.ship_field.set_ship_size(int(e.keysym))
|
||||
|
||||
|
||||
def left_button_click(view, row, col):
|
||||
if view.ship_field.action(row, col) and view_enemy and game_mode == GameMode.Battle:
|
||||
enemy_shoot_result = ShootResult.UNDEFINED
|
||||
while enemy_shoot_result != ShootResult.EMPTY:
|
||||
|
||||
action_result = view.ship_field.action(row, col)
|
||||
|
||||
if action_result and view_enemy and game_mode == GameMode.Battle:
|
||||
enemy_shoot_result = ShootResult.UNDEFINED
|
||||
# Ход соперника
|
||||
while enemy_shoot_result != ShootResult.EMPTY:
|
||||
my_row = random.randint(0, ShipField.field_size)
|
||||
my_col = random.randint(0, ShipField.field_size - 1)
|
||||
|
||||
enemy_shoot_result= my_view.ship_field.shoot(my_row, my_col)
|
||||
|
||||
enemy_shoot_result = my_view.ship_field.shoot(my_row, my_col)
|
||||
if game_mode == GameMode.BATTLE and my_view.ship_field.check_end():
|
||||
next_game_mode()
|
||||
return
|
||||
colorize(my_view)
|
||||
|
||||
if game_mode == GameMode.BATTLE and view.ship_field.check_end():
|
||||
next_game_mode()
|
||||
return
|
||||
|
||||
colorize(view)
|
||||
|
||||
|
|
Loading…
Reference in New Issue