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