From 9bd85a86bb3893cf1182003e1cabd3f82f1677d7 Mon Sep 17 00:00:00 2001 From: vitalii Malcov Date: Sun, 5 Nov 2023 18:28:15 +0100 Subject: [PATCH] =?UTF-8?q?=D0=BF=D0=BE=D1=81=D0=BC=D0=BE=D1=82=D1=80?= =?UTF-8?q?=D0=B8=20=D0=B8=D0=B7=D0=BC=D0=B5=D0=BD=D0=B8=D1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .idea/.gitignore | 3 ++ .idea/.name | 1 + .idea/hnc-vitalii.iml | 8 ++++ .idea/inspectionProfiles/Project_Default.xml | 30 +++++++++++++++ .../inspectionProfiles/profiles_settings.xml | 6 +++ .idea/misc.xml | 4 ++ .idea/modules.xml | 8 ++++ .idea/vcs.xml | 6 +++ HNS/Excercises/02.11.2023 Battle Ship/main.py | 37 +++++++++++++++++-- 9 files changed, 100 insertions(+), 3 deletions(-) create mode 100644 .idea/.gitignore create mode 100644 .idea/.name create mode 100644 .idea/hnc-vitalii.iml create mode 100644 .idea/inspectionProfiles/Project_Default.xml create mode 100644 .idea/inspectionProfiles/profiles_settings.xml create mode 100644 .idea/misc.xml create mode 100644 .idea/modules.xml create mode 100644 .idea/vcs.xml diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 0000000..26d3352 --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,3 @@ +# Default ignored files +/shelf/ +/workspace.xml diff --git a/.idea/.name b/.idea/.name new file mode 100644 index 0000000..c49de95 --- /dev/null +++ b/.idea/.name @@ -0,0 +1 @@ +main4.py \ No newline at end of file diff --git a/.idea/hnc-vitalii.iml b/.idea/hnc-vitalii.iml new file mode 100644 index 0000000..d0876a7 --- /dev/null +++ b/.idea/hnc-vitalii.iml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/inspectionProfiles/Project_Default.xml b/.idea/inspectionProfiles/Project_Default.xml new file mode 100644 index 0000000..a8551fa --- /dev/null +++ b/.idea/inspectionProfiles/Project_Default.xml @@ -0,0 +1,30 @@ + + + + \ No newline at end of file diff --git a/.idea/inspectionProfiles/profiles_settings.xml b/.idea/inspectionProfiles/profiles_settings.xml new file mode 100644 index 0000000..105ce2d --- /dev/null +++ b/.idea/inspectionProfiles/profiles_settings.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..a971a2c --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 0000000..355bca1 --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..94a25f7 --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/HNS/Excercises/02.11.2023 Battle Ship/main.py b/HNS/Excercises/02.11.2023 Battle Ship/main.py index d3b482e..39eb2d5 100644 --- a/HNS/Excercises/02.11.2023 Battle Ship/main.py +++ b/HNS/Excercises/02.11.2023 Battle Ship/main.py @@ -7,12 +7,12 @@ app_running = True # создаю переменную которая буде size_canvas_x = 600 # создаю стороны нашего окна size_canvas_y = 600 -s_x = s_y = 10 # размер игрового поля +s_x = s_y = 10 # размер игрового поля step_x = size_canvas_x // s_x # шаг отрисовки наших лини по горизонтали step_y = size_canvas_y // s_y # тоже самое по вертикили size_canvas_x = step_x * s_x # коректирую поля челочисленным делением size_canvas_y = step_y * s_y # коректирую поля челочисленным делением - +menu_x = 200 # сделал пополнитнльное меню для кнопок def on_closing(): # создаю функцию на момент закрытия @@ -28,7 +28,7 @@ tk.protocol('WM_DELETE_WINDOW', tk.title('Игра Морской Бой') # определяю параметры нашего окна tk.resizable(0, 0) # делаю так чтобы окно нельзя было менять tk.wm_attributes('-topmost', 1) # создаю атребут чтобы наше окно было по верх всех окон -canvas = Canvas(tk, width=size_canvas_x, height=size_canvas_y, bd=0, +canvas = Canvas(tk, width=size_canvas_x + menu_x, height=size_canvas_y, bd=0, highlightthickness=0) # создаю общию картину приложения - задаю ширину и высоту canvas.create_rectangle(0, 0, size_canvas_x, size_canvas_y, fill='white') # задаю прямоугольную форму окна и цвет - (белый) но в данном случае это квадрат так как стороны одинаковы!) @@ -46,6 +46,37 @@ def draw_tabel(): # создаю фукцию которая будет рис draw_tabel() +def button_show_again(): + pass + + +def button_begin_again(): + pass + + +b0 = Button(tk, text='Показать корабли противника', command=button_show_again) +b0.place(x=size_canvas_x + 20, y=30) + +b1 = Button(tk, text='Начать игру заново!!!', command=button_begin_again) +b1.place(x=size_canvas_x + 20, y=70) + + +def add_to_all(event): + _type = 0 # ЛКМ + if event.num == 3: + _type = 1 # ПКМ + #print(_type) + mouse_x = canvas.winfo_pointerx() - canvas.winfo_rootx() + mouse_y = canvas.winfo_pointery() - canvas.winfo_rooty() + #print(mouse_x, mouse_y) + ip_x = mouse_x // step_x + ip_y = mouse_y // step_y + print(ip_x, ip_y, '-type', _type) + + +canvas.bind_all('', add_to_all)# ЛКМ +canvas.bind_all('', add_to_all)# ПКМ + while app_running: # создем цикл для нашей игры if app_running: # если наша переменная еще запущена tk.update_idletasks() # тогда мы будем обновлять наш window