загружаю мейн с учетом проведенного урока 05022024

This commit is contained in:
ehermakov 2024-02-11 18:03:07 +03:00
parent 3cb6dc31e1
commit 23fd823e50
2 changed files with 57 additions and 19 deletions

View File

@ -1,19 +0,0 @@
import tkinter as tk
root = tk.Tk()
l1 = tk.Label(root, text='Col:8 Row:1', bg='red')
l1.grid(column=8, row=1)
l2 = tk.Label(root, text='Col:1 Row:8', bg='red')
l2.grid(column=1, row=8)
# add empty label in row 0 and column 0
l0 = tk.Label(root, text=' \n ', bg='green')
l0.grid(column=0, row=0)
# add empty label in row 9 and column 9
l9 = tk.Label(root, text=' ', bg='green')
l9.grid(column=9, row=9)
root.mainloop()

View File

@ -0,0 +1,57 @@
from main import ShootResult
class ShipField:
field = [' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ',
' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ',
' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ',
' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ',
' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ',
' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ',
' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ',
' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ',
' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ',
' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ']
field_size = 10
field_mode = 0
ship_size = 4
ship_direction = 0
def __init__(self):
pass
def set_ship(self, row, col):
if row < 0 or row > self.field_size:
return
if col < 0 or col > self.field_size:
return
index = row * self.field_size + col
if self.ship_direction == 0:
if self.field_size - row < self.ship_size:
return
for r in range(row, row + self.ship_size):
index = r * self.field_size + col
self.field[index] = "1"
if self.ship_direction == 1:
if self.field_size - col < self.ship_size:
return
for c in range(col, col + self.ship_size):
index = row * self.field_size + c
self.field[index] = "1"
def shoot(self, row, col):
if row < 0 or row > self.field_size - 1:
return ShootResult.UNDEFINED
if col < 0 or col > self.field_size - 1:
return ShootResult.UNDEFINED
index = row * self.field_size + col
if (self.field[index]).strip() == "":
self.field[index] = "0"
return ShootResult.EMPTY
elif (self.field[index]).strip() == "1":
self.field[index] = "\\"
return ShootResult.DAMAGED
else:
return ShootResult.UNDEFINED