Войти Создать аккаунт

Игра «Тетрис» · Шаг 4 из 9

Мешок из семи

Если каждую фигуру выбирать наугад, бывает, что палочка «I» не приходит по тридцать ходов, а квадраты сыплются подряд. Современный тетрис честнее: фигуры кладут в мешок — все семь, по одной, — перемешивают и вынимают по очереди; мешок кончился — новый.

Что сделать

Выдавайте фигуры честно — мешками по семь, а не наугад.

Что приходит

  • sluchay — генератор случайностей, как random.Random

Что вернуть

Бесконечный генератор: каждый мешок — новый список семи видов, перемешанный sluchay.shuffle, по одной букве, потом следующий мешок.

Допишите функцию meshok в редакторе справа. Результат верните через return — то, что напечатано, на проверку не влияет.

В игре

Игра берёт из генератора вид каждой новой фигуры. Решите шаг — и фигуры пойдут в случайном порядке, но честно: каждая из семи — раз в семь фигур.

Без этого шага: фигуры идут всегда в одном порядке.

Пример

С генератором random.Random(1) первые 14 фигур — два мешка подряд: O Z T L I S J, потом J L I S T O Z. В каждой семёрке все семь видов ровно по разу.

Тот же пример кодом
Перед вызовом
import random
potok = meshok(random.Random(1))
Вызов
[next(potok) for _ in range(14)]
Вернуть
['O', 'Z', 'T', 'L', 'I', 'S', 'J', 'J', 'L', 'I', 'S', 'T', 'O', 'Z']

Готовая игра →

Ctrl+Enter — проверить

Обсуждение

Вопросов пока нет.

Войдите, чтобы спросить.