Игра «Пятнашки» · Шаг 5 из 5
Щелчок по плитке
Стрелками двигать по одной плитке долго. В настоящих пятнашках плитки толкают пальцем рядом: если пустая клетка в том же ряду, что и плитка под пальцем, — съезжают сразу все плитки между ними. Так же и в столбце.
Что сделать
Щелчком по плитке сдвиньте к пустой клетке её и все плитки между ними — если плитка в одном ряду или столбце с пустой.
Что приходит
pole— поле списком рядов,0— пустая клетка; менять его нельзяstrokaиstolbec— клетка, по которой щёлкнули, номера с нуля
Что вернуть
Новое поле после сдвига; щелчок мимо ряда и столбца пустой клетки или по ней самой — поле без изменений.
Допишите функцию klik в редакторе справа.
Результат верните через return — то, что
напечатано, на проверку не влияет.
В игре
Игра зовёт klik на каждый щелчок по полю — мышью или пальцем на телефоне. Решите шаг — и щелчок по плитке в ряду или столбце с пустой клеткой сдвинет сразу все плитки между ними.
Без этого шага: щелчок по плитке ничего не делает.
Ряд [0, 7, 8] внизу «восьмёрки», щелчок по восьмёрке в его правом конце: обе плитки съезжают на клетку влево — [7, 8, 0]. В образце щёлкают по соседней плитке, и сдвигается одна.
klik([[1, 2, 3], [4, 5, 6], [7, 0, 8]], 2, 2)
[[1, 2, 3], [4, 5, 6], [7, 8, 0]]
Щёлкнули по клетке (stroka, stolbec), номера с нуля, клетка всегда на поле.
Если она в одном ряду с пустой клеткой — все плитки от неё до пустой сдвигаются на одну клетку в сторону пустой, а щёлкнутая клетка становится пустой. Так же в одном столбце. Порядок плиток при этом сохраняется.
Щелчок по самой пустой клетке или по клетке не в её ряду и не в её столбце ничего не меняет. Ответ — новое поле, новыми списками рядов.
Обсуждение
Вопросов пока нет.
Войдите, чтобы спросить.