diff --git a/bin/Classess/__pycache__/Field.cpython-37.pyc b/bin/Classess/__pycache__/Field.cpython-37.pyc index b6a41b9..26164ac 100644 Binary files a/bin/Classess/__pycache__/Field.cpython-37.pyc and b/bin/Classess/__pycache__/Field.cpython-37.pyc differ diff --git a/bin/Classess/__pycache__/Mine.cpython-37.pyc b/bin/Classess/__pycache__/Mine.cpython-37.pyc new file mode 100644 index 0000000..dd299a7 Binary files /dev/null and b/bin/Classess/__pycache__/Mine.cpython-37.pyc differ diff --git a/bin/Classess/__pycache__/Player.cpython-37.pyc b/bin/Classess/__pycache__/Player.cpython-37.pyc index ba2c398..8a54083 100644 Binary files a/bin/Classess/__pycache__/Player.cpython-37.pyc and b/bin/Classess/__pycache__/Player.cpython-37.pyc differ diff --git a/bin/Classess/test_2.py b/bin/Classess/test_2.py deleted file mode 100644 index ca777da..0000000 --- a/bin/Classess/test_2.py +++ /dev/null @@ -1,23 +0,0 @@ -# from bin.test_1 import fun as pl -# -# print(pl()) - - -from bin.Main.main import ex -from bin.Main.main import t - -print(ex.ret(t)) - - -# class exmp: -# def __init__(self): -# self.width = 533 -# self.height = 533 -# self.image_size = 50 -# self.rows = 10 -# self.columns = 10 -# self.x_start = 3 -# self.y_start = 3 -# self.state_of_cell_array = [[0 for i in range(3)] for j in range(200)] -# self.small_image_array = [[0 for i in range(self.rows)] for j in range(self.columns)] -# self.large_image_array = [[0 for i in range(self.rows)] for j in range(self.columns)] diff --git a/bin/Classess/Field.py b/bin/classess/Field.py similarity index 95% rename from bin/Classess/Field.py rename to bin/classess/Field.py index f58bbb1..857c626 100644 --- a/bin/Classess/Field.py +++ b/bin/classess/Field.py @@ -1,9 +1,6 @@ from doctest import master from tkinter import * -# from bin.main import PlayerReturn as player -# from bin.main import DrawingLargeImage - WINDOW_X = 533 + 1200 WINDOW_Y = 950 FRAME_WIDTH = 533 @@ -26,6 +23,7 @@ class Field(object): self.x_start = 3 self.y_start = 3 self.state_of_cell_array = [[0 for i in range(3)] for j in range(200)] + self.field_state_array = [[False for i in range(self.rows)] for j in range(self.columns)] self.small_image_array = [[0 for i in range(self.rows)] for j in range(self.columns)] self.large_image_array = [[0 for i in range(self.rows)] for j in range(self.columns)] @@ -33,6 +31,7 @@ class Field(object): self.main_frame.pack(anchor=NW) self.small_field_canvas = Canvas(self.main_frame, width=FRAME_WIDTH, height=FRAME_HEIGHT, highlightthickness=0, bg='light gray') + self.small_field_canvas.pack() self.large_image_canvas = Canvas(self.win, width=WINDOW_X - 533 - 20, height=900, highlightthickness=0, bg='gray') diff --git a/bin/classess/Mine.py b/bin/classess/Mine.py new file mode 100644 index 0000000..c3b8bcd --- /dev/null +++ b/bin/classess/Mine.py @@ -0,0 +1,7 @@ +class Mine: + def __init__(self, x, y): + self.array_x = x + self.array_y = y + self.status = True + self.small_img = None + self.large_img = None diff --git a/bin/Classess/Player.py b/bin/classess/Player.py similarity index 99% rename from bin/Classess/Player.py rename to bin/classess/Player.py index e277d6c..9a9ac9b 100644 --- a/bin/Classess/Player.py +++ b/bin/classess/Player.py @@ -1,5 +1,3 @@ -import sys - WINDOW_X = 533 + 1200 WINDOW_Y = 950 FRAME_WIDTH = 533 diff --git a/bin/Classess/__init__.py b/bin/classess/__init__.py similarity index 100% rename from bin/Classess/__init__.py rename to bin/classess/__init__.py diff --git a/bin/Main/__init__.py b/bin/main/__init__.py similarity index 100% rename from bin/Main/__init__.py rename to bin/main/__init__.py diff --git a/bin/Main/main.py b/bin/main/main.py similarity index 56% rename from bin/Main/main.py rename to bin/main/main.py index 6b62932..8918dbf 100644 --- a/bin/Main/main.py +++ b/bin/main/main.py @@ -1,8 +1,10 @@ +import random from tkinter import * import os -from bin.Classess.Player import Player -from bin.Classess.Field import Field +from bin.classess.Player import Player +from bin.classess.Field import Field +from bin.classess.Mine import Mine WINDOW_X = 533 + 1200 WINDOW_Y = 950 @@ -12,6 +14,8 @@ FRAME_HEIGHT = 533 # Size of small image IMAGE_SIZE = 50 +AMOUNT_OF_MINES = 10 + # Creating objects player = Player() field = Field() @@ -77,7 +81,17 @@ def ImagesInArray(directory, array): else: image = PhotoImage(master=field.small_field_canvas, file=image_path) - array[row][column] = image + is_done = False + while not is_done: + if array[row][column] == 0: + array[row][column] = image + is_done = True + else: + column += 1 + if column == 10: + column = 0 + row += 1 + column += 1 if column == 10: column = 0 @@ -103,6 +117,67 @@ def Action(event): CellDesignation(field.state_of_cell_array, "green") +def PutMines(mines_array): + counter = 0 + + while counter < AMOUNT_OF_MINES: + x = random.randint(0, 9) + y = random.randint(0, 9) + + is_equal = False + + for mine in mines_array: + if mine.array_x == x and mine.array_y == y: + is_equal = True + if not is_equal: + mine = Mine(x, y) + mines_array.append(mine) + + field.field_state_array[x][y] = True + + counter += 1 + + +def MinesInArrays(mines_array, directory, imgs_array): + counter = 0 + + temp_array = [] + + if directory == "../../files/small_mines_images": + for file in os.listdir(directory): + if counter < AMOUNT_OF_MINES: + image_name = file + image_path = f"{directory}/{image_name}" + image = PhotoImage(master=field.small_field_canvas, file=image_path) + + temp_array.append(image) + + counter += 1 + + for i in range(AMOUNT_OF_MINES): + mines_array[i].small_img = temp_array[i] + + # Add images in image array + imgs_array[mines_array[i].array_x][mines_array[i].array_y] = temp_array[i] + + elif directory == "../../files/large_mines_images": + for file in os.listdir(directory): + if counter < AMOUNT_OF_MINES: + image_name = file + image_path = f"{directory}/{image_name}" + image = PhotoImage(master=field.large_image_canvas, file=image_path) + + temp_array.append(image) + + counter += 1 + + for i in range(AMOUNT_OF_MINES): + mines_array[i].large_img = temp_array[i] + + # Add images in image array + imgs_array[mines_array[i].array_x][mines_array[i].array_y] = temp_array[i] + + def main(): # Creating the main window of an application win_size = f'{WINDOW_X}x{WINDOW_Y}' @@ -110,11 +185,19 @@ def main(): field.win.configure(bg='gray') field.win.geometry(win_size) + # Create array with mines objects + mines_array = [] + # Put mines on coordinates + PutMines(mines_array) + + MinesInArrays(mines_array, "../../files/small_mines_images", field.small_image_array) + MinesInArrays(mines_array, "../../files/large_mines_images", field.large_image_array) + # Filling image arrays - large_directory = "../../files/large_images" - ImagesInArray(large_directory, field.large_image_array) small_directory = "../../files/small_images" ImagesInArray(small_directory, field.small_image_array) + large_directory = "../../files/large_images" + ImagesInArray(large_directory, field.large_image_array) # Filling window with images Fill() diff --git a/files/large_images/image - Copy (2).png b/files/large_images/image - Copy (2).png new file mode 100644 index 0000000..6f5a0a8 Binary files /dev/null and b/files/large_images/image - Copy (2).png differ diff --git a/files/large_images/image - Copy.png b/files/large_images/image - Copy.png new file mode 100644 index 0000000..6f5a0a8 Binary files /dev/null and b/files/large_images/image - Copy.png differ diff --git a/files/large_images/1.jpg b/files/large_mines_images/1.jpg similarity index 100% rename from files/large_images/1.jpg rename to files/large_mines_images/1.jpg diff --git a/files/large_images/10.png b/files/large_mines_images/10.png similarity index 100% rename from files/large_images/10.png rename to files/large_mines_images/10.png diff --git a/files/large_images/11.png b/files/large_mines_images/11.png similarity index 100% rename from files/large_images/11.png rename to files/large_mines_images/11.png diff --git a/files/large_images/12.png b/files/large_mines_images/12.png similarity index 100% rename from files/large_images/12.png rename to files/large_mines_images/12.png diff --git a/files/large_images/2.png b/files/large_mines_images/2.png similarity index 100% rename from files/large_images/2.png rename to files/large_mines_images/2.png diff --git a/files/large_images/3.png b/files/large_mines_images/3.png similarity index 100% rename from files/large_images/3.png rename to files/large_mines_images/3.png diff --git a/files/large_images/4.png b/files/large_mines_images/4.png similarity index 100% rename from files/large_images/4.png rename to files/large_mines_images/4.png diff --git a/files/large_images/5.png b/files/large_mines_images/5.png similarity index 100% rename from files/large_images/5.png rename to files/large_mines_images/5.png diff --git a/files/large_images/6.png b/files/large_mines_images/6.png similarity index 100% rename from files/large_images/6.png rename to files/large_mines_images/6.png diff --git a/files/large_images/7.png b/files/large_mines_images/7.png similarity index 100% rename from files/large_images/7.png rename to files/large_mines_images/7.png diff --git a/files/large_images/8.png b/files/large_mines_images/8.png similarity index 100% rename from files/large_images/8.png rename to files/large_mines_images/8.png diff --git a/files/large_images/9.png b/files/large_mines_images/9.png similarity index 100% rename from files/large_images/9.png rename to files/large_mines_images/9.png diff --git a/files/small_images/image - Copy (2).png b/files/small_images/image - Copy (2).png new file mode 100644 index 0000000..cf54cb9 Binary files /dev/null and b/files/small_images/image - Copy (2).png differ diff --git a/files/small_images/image - Copy.png b/files/small_images/image - Copy.png new file mode 100644 index 0000000..cf54cb9 Binary files /dev/null and b/files/small_images/image - Copy.png differ diff --git a/files/small_images/1.png b/files/small_mines_images/1.png similarity index 100% rename from files/small_images/1.png rename to files/small_mines_images/1.png diff --git a/files/small_images/10.png b/files/small_mines_images/10.png similarity index 100% rename from files/small_images/10.png rename to files/small_mines_images/10.png diff --git a/files/small_images/11.png b/files/small_mines_images/11.png similarity index 100% rename from files/small_images/11.png rename to files/small_mines_images/11.png diff --git a/files/small_images/12.png b/files/small_mines_images/12.png similarity index 100% rename from files/small_images/12.png rename to files/small_mines_images/12.png diff --git a/files/small_images/2.png b/files/small_mines_images/2.png similarity index 100% rename from files/small_images/2.png rename to files/small_mines_images/2.png diff --git a/files/small_images/3.png b/files/small_mines_images/3.png similarity index 100% rename from files/small_images/3.png rename to files/small_mines_images/3.png diff --git a/files/small_images/4.png b/files/small_mines_images/4.png similarity index 100% rename from files/small_images/4.png rename to files/small_mines_images/4.png diff --git a/files/small_images/5.png b/files/small_mines_images/5.png similarity index 100% rename from files/small_images/5.png rename to files/small_mines_images/5.png diff --git a/files/small_images/6.png b/files/small_mines_images/6.png similarity index 100% rename from files/small_images/6.png rename to files/small_mines_images/6.png diff --git a/files/small_images/7.png b/files/small_mines_images/7.png similarity index 100% rename from files/small_images/7.png rename to files/small_mines_images/7.png diff --git a/files/small_images/8.png b/files/small_mines_images/8.png similarity index 100% rename from files/small_images/8.png rename to files/small_mines_images/8.png diff --git a/files/small_images/9.png b/files/small_mines_images/9.png similarity index 100% rename from files/small_images/9.png rename to files/small_mines_images/9.png