Игра "Сапер" на Python, подсчитываем мины вокруг. Minesweeper in Python Tkinter

Игра "Сапер" на Python, подсчитываем мины вокруг. Minesweeper in Python Tkinter

egoroff_channel

3 года назад

8,848 Просмотров

Ссылки и html тэги не поддерживаются


Комментарии:

@user-cl7bm2js4t
@user-cl7bm2js4t - 02.10.2023 00:23

Как я и писал под предыдущим видео барьерные элементы лишние (и весь сопутствующий им функционал). Я написал функцию, которая подсчитывает количество мин вокруг конкретной кнопки. В этой функции самое главное - это проверка правильности координат. Короче, вот:
def countMinesAround(self, btn:MSButton):
mines = 0
for dx in [-1, 0, 1]:
for dy in [-1, 0, 1]:
if not dx and not dy:
continue
x, y = btn.x + dx, btn.y + dy
if x<0 or y<0 or x>=MineSweeper.COLUMNS or y>=MineSweeper.ROWS:
continue
if self.buttons[y][x].is_mine:
mines += 1
return mines

Ответить
@reclreclur7203
@reclreclur7203 - 26.08.2023 04:15

Невероятно крутая штука, вряд ли я прям сам такое сделал бы, но зато я понял принцип работы ООП(не выучил, а понял), а так же убедился, на сколько это удобнее в программировании! Спасибо вам большое!

Ответить
@boderaner
@boderaner - 01.06.2023 01:37

for row_num in range(max(i-1, 0), min(i+1, Minesweeper.ROW)):
  for col_num in range(max(j-1, 0), min(j+1, Minesweeper.COLUMNS)):
neighbour = self.buttons[row_num][col_num]

И получаем окрестность Мура на ограниченном поле безо всяких граничных элементов, которые только память занимают.

Ответить
@user-ml5ko3fv8m
@user-ml5ko3fv8m - 27.06.2022 17:30

Благодарю!

Ответить
@slaidstarchenko8188
@slaidstarchenko8188 - 03.05.2022 10:42

Здравствуйте, делал всё по вашим видео но у меня сохранились наши буферные столбы и строки

Ответить
@Ananacuk777
@Ananacuk777 - 30.11.2021 17:41

ну это идея из тортминатора

Ответить
@mafiahelp1064
@mafiahelp1064 - 25.07.2021 21:49

спасибо!!!

Ответить
@user-uk3qh1rc7g
@user-uk3qh1rc7g - 23.05.2021 01:39

Здравствуйте, помогите пожалуйста с информатикой на завтра надо срочно вопрос:сколько единиц в двоичной записи десятичного числа 300

Ответить
@maximhasp1
@maximhasp1 - 21.05.2021 12:05

Отличное ведео, пожулуйста не затягивайте продолжение. Уже 8 дней прошло((

Ответить
@ankhmarcius8331
@ankhmarcius8331 - 14.05.2021 08:54

можно сделать так, что расставляя бомбы в поле, сразу прибавлять к count_bomb +=1 ко всем находящимся вокруг счетчикам, так мы уменьшим количество проходов по полю, до количества мин на поле(сейчас мы считаем для каждой кнопки, а будем считать только для каждой мины) при 10 минах на поле 100 на 100, это 10 проходов против 10000.

Ответить
@tlkdeni
@tlkdeni - 13.05.2021 15:19

Спасибо. Очень познавательно!

Ответить
@avazart614
@avazart614 - 13.05.2021 12:38

Tkinter не лучший инструмент. Расставлять кнопки - тоже не лучшее решение ...
Что если захочеться стилизировать ячейки/поля ?

Ответить
@joehart7382
@joehart7382 - 13.05.2021 02:13

Теперь понятно, как сапер изнутри работает)

Ответить