Игра «Найди пару» · Шаг 1 из 4
Разложить карты
Перед партией колоду мешают и раскладывают на столе рядами рубашкой вверх. В колоде каждая карта по два раза: на поле 4×4 — восемь пар, карты пронумерованы с нуля.
Что сделать
Перемешайте колоду из пар и разложите её по рядам поля.
Что приходит
vysotaиshirina— сколько на поле рядов и сколько карт в ряду; клеток всегда чётное числоsluchay— генератор случайностей, какrandom.Random
Что вернуть
Список рядов — списков номеров карт: колода [0, 0, 1, 1, …], перемешанная sluchay.shuffle, нарезанная по shirina подряд.
Допишите функцию razlozhit в редакторе справа.
Результат верните через return — то, что
напечатано, на проверку не влияет.
В игре
Игра зовёт razlozhit в начале каждой партии. Решите шаг — и карты будут лежать каждый раз по-новому, а не парами рядом.
Без этого шага: карты не перемешаны и лежат парами рядом.
Поле 2 ряда по 2 карты — две пары, колода [0, 0, 1, 1]. Генератор с затравкой 3 перемешивает её в [1, 0, 0, 1], первые две карты — верхний ряд, остальные — нижний: [[1, 0], [0, 1]].
import random
razlozhit(2, 2, random.Random(3))
[[1, 0], [1, 0]]
Пар на поле — vysota * shirina // 2. Колода до перемешивания — каждая карта дважды подряд: [0, 0, 1, 1, 2, 2, …]. Именно этот список перемешайте одним вызовом sluchay.shuffle(...) — от порядка колоды до перемешивания зависит, что получится.
Перемешанную колоду нарежьте на ряды по shirina карт подряд: первые shirina — верхний ряд, следующие — второй, и так далее. Верните список рядов.
Обсуждение
Вопросов пока нет.
Войдите, чтобы спросить.