Уведомления

Группа в Telegram: @pythonsu

#1 Дек. 4, 2016 09:09:52

python335
Зарегистрирован: 2016-10-19
Сообщения: 88
Репутация: +  -8  -
Профиль   Отправить e-mail  

Обращение ко кнопке

Я делаю Морской Бой на tkinter. И оформление уже сделал. Вот только как сделать расстановку кораблей?? Я могу расставить кнопки циклом по клеточкам поля, но если игрок нажмет на любую клеточку, то он по идее обратиться только к последней созданной циклом кнопке. Как можно исправить это?: чтобы после расставления кнопок циклом игрок мог обратиться к каждой по одному? И чтобы еще они различались, знаете, типо словарь создать или их все в переменные запихнуть???

Отредактировано python335 (Дек. 4, 2016 09:19:24)

Офлайн

#2 Дек. 4, 2016 10:01:21

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9993
Репутация: +  857  -
Профиль   Отправить e-mail  

Обращение ко кнопке

У тебя должны быть массивы полей с числами. И в каждой клетке этого массива чисел может быть какое-нибудь число, означающее, что это море непроверенное, море проверенное, корабль подстреленный (палуба), корабль неподстреленный (палуба) - то есть много чисел всяких. И потом ты это отрисовываешь каждую секунду, а вся работа идёт с этим массивом. И когда ты расставляешь корабли, они тоже в виде сигналов связываются с этим массивом и он рисуется с мигающим кораблём.



Офлайн

#3 Дек. 4, 2016 19:19:43

Shalunix
Зарегистрирован: 2016-12-04
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

Обращение ко кнопке

Можно словарем. К примеру если поле 10х10, то будет 100 значений, 0-9 первая строка, 10-19 вторая и т.д., ну а их содержимое сам кодируй, например pole{'0':2, ‘1’: 0, …}, где значения списка 0-вода, 1- корабль не подбитый и т.д.

Офлайн

#4 Дек. 5, 2016 08:33:08

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  253  -
Профиль   Отправить e-mail  

Обращение ко кнопке

python335
но если игрок нажмет на любую клеточку, то он по идее обратиться только к последней созданной циклом кнопке. Как можно исправить это?

Ну надо не по идее а проверить. Чтобы остальным была понятна ваша идея приведите фрагмент кода в котором вы осуществляете расстановку.

Я бы так вообще без кнопок это делал. получил x,y, вычислил координаты ячейки и в двумерном массиве проверил что происходит.



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version