«пятнашки» правила игры для детей от 4 лет

Содержание

История появления игры

Авторство игры принадлежит Ною Палмеру Чепмэну. Еще в далеком 1874 году Ной показывал свою игру знакомым, которая включала в себя квадратную коробку, сторона которой равна 4 сторонам костяшки, в свою очередь костяшек 15 одинаковых квадратных штук. В коробке остается 1 свободное место под одну костяшку. Однако, целью игры было перемещение костей так, чтобы в каждом ряду была сумма 34.

Особое внимание было к игру с 1880. Именно в этом году некто Чарльз Певи, установил денежное вознаграждение за решение данной задачи

Популярность игры мгновенно выросла. С тех пор правила поменялись и теперь они такие, как описаны выше.Существуют различные варианты игры c разными размерами:

Алгоритм «Как собрать пятнашки»?

Как-то раз, собирая пятнашки, заметил, что чем меньше поле ячеек в игре пятнашки, тем проще их собрать. Получается, что проще всего собрать пятнашки размером 3х3 ячейки, чем например, пятнашки размером 4х4.

Пятнашки размером 3х3 элемента собираются очень легко, особенно если отсортировать все костяшки по порядку вокруг поля:

Для этого нужно перемещать самую первую костяшку по кругу против часовой стрелки, и при первой же возможности поставить следом за первой костяшкой, вторую, потом третью, собрав, таким образом, паровозик из костяшек от первой до последней.

Главное, чтобы последние две костяшки, в данном случае 7 и 8 стояли наоборот, то есть. паровозик из цифр должен выглядеть так: 1 2 3 4 5 6 8 7. Если мы поделим этот паровозик на строки, то как раз и получим собранные пятнашки.

Посмотрите еще раз на картинку выше, там костяшки 1 2 3 уже стоят на своем месте, осталось всего-то переместить костяшки 4 5 6 на второй ряд. В результате этого переноса костяшки 7 и 8 уже будут стоять в третьем ряду в нужном порядке.

Разделяй и властвуй

Это очень простой способ сбора пятнашек, однако, собрать таким способом пятнашки размером 4х4 ячейки уже намного сложнее, не говоря уже о пятнашках бОльшего размера.Если приосмотреться к этой игре внимательно, то можно увидеть, что ничего сложного нет, если разделить поле 4х4 ячейки на 3 части и собрать эти 3 части по отдельности.

Часть первая, костяшки 1 2 3 4

В первую очередь лучше собрать костяшки 1 2 3 4 и расположить их на своем месте, после чего просто “забыть” про них, будто их нет:

После того как мы про них “забыли”, дальше остается собрать пятнашки с размером поля уже 4х3, вместо 4х4.

Теперь нам нужно собрать костяшки 5 9 13 в паровозик и поставить их сбоку слева.

Часть третья, оставшиеся костяшки

Теперь, когда мы уже поставили костяшки 1 2 3 4 и 5 9 13 на свои места, рабочее поле уменьшилось до размеров 3х3, и осталось только собрать пятнашки размером 3х3:

Единственное отличие заключается только в номерах костяшек, которые нужно отсортировать так же по возрастанию, поменяв последние две костяшки наоборот, чтобы получился паровозик: 6 7 8 10 11 12 15 14, который так же разделится на 3 ряда:

Проблема может быть только в том, что костяшки могут встать не по порядку. Вместо паровозика из цифр 6 7 8 10 11 12 15 14 может получиться последовательность 6 7 8 10 11 12 14 15. В таком случае нужно будет постараться поменять эти костяшки местами. Зачастую для этого приходится ломать уже построенные костяшки 5 9 13 или 1 2 3 4, но зато они потом так же быстро выстраиваются снова.

Играть онлайн бесплатно

Под игрой имеется описание, инструкции и правила, а также тематические ссылки на похожие материалы — рекомендуем ознакомиться.

» Головоломки

4.3 (10)

Похожие игры

  • НОВАЯ 2048
  • БРИЛЛИАНТОВЫЕ БЛОКИ
  • ОСВОБОДИ КЛЮЧ
  • ДЕРЕВЯННАЯ ГОЛОВОЛОМКА
  • ГОЛОВОЛОМКА
  • КУБИК РУБИКА
  • КВЕСТ ПЯТНАШКИ
  • СОЕДИНИТЬ БЛОКИ
  • ПЯТНАШКИ ДО ВОСЬМИ
  • ПЯТНАШКИ 3D

Как играть — правила и описание

Эта игра многим знакома с детства. Маленькие деревянные или пластиковые коробочки с пятнадцатью фишками помните? С тех пор число головоломок существенно выросло, и почти все они обзавелись онлайн-клонами, своими, так сказать, электронными версиями. Так же вот и «Пятнашки». Отметим, что эта игра относится к разряду легких головоломок. Логика здесь несложная. Уж во всяком случае ни в какое сравнение, скажем, с кубиком Рубика она не пойдет.

Итак, что нужно сделать. Вы видите игровое поле (прототипом которого как раз и является та самая коробочка, о которой шла речь выше). Размер 4х4: 4 ряда, 4 столбца. На поле 15 фишек, пронумерованных от 1 до 15-ти. Правильное их положение — последовательность, где числа расставлены в рядах по порядку: верхний ряд — 1, 2, 3, 4; второй ряд — 5, 6, 7, 8, третий — 9, 10, 11, 12 и заключительный, четвертый — 13, 14, 15. Нажав на кнопку Start, Вы обнаружите, что фишки на поле перемешались. Ваша задача — собрать их снова в правильный порядок.

Как видите, на поле есть свободное место, в котором может поместиться ровно одна фишка. Это место используется для перестановки фишек и может мигрировать по всему полю. Переставляя фишки, меняя их местами друг с другом, постарайтесь поставить каждую из них на свое место. Если у Вас получится сделать это за минимальное число ходов, значит с логикой у Вас все очень хорошо, если нет — не расстраивайтесь, возможно стоит попробовать собрать головоломку еще раз?!

Итак, друзья, «Пятнашки» ждут Вас! Приятной игры!

Скачать игру ПЯТНАШКИ нельзя, но подумайте, имеет ли смысл это делать, ведь здесь она всегда доступна, Вам достаточно лишь открыть эту страницу.

Сделайте перерыв и сыграйте в онлайн игры, которые развивают логику и воображение, позволяют приятно отдохнуть. Расслабьтесь и отвлекитесь от дел!

• Логические • Для планшета

Во весь экран

Игра ПЯТНАШКИ в категориях Головоломки, Логические, Для планшета доступна , круглосуточно и без регистрации с описанием на русском языке на Min2Win. Если возможности электронного рабочего стола позволяют, можно развернуть сюжет ПЯТНАШКИ во весь экран и усилить эффект от прохождения сценариев. Многие вещи действительно имеет смысл рассмотреть детальнее.

Задачи [ править | править код ]

The Gem Puzzle

В головоломке The Gem Puzzle, которую в 1879 году производил и продавал Матиас Райс, игрок высыпал плитки из коробочки и случайным образом укладывал их обратно, после чего пытался восстановить упорядоченную конфигурацию :

В этой версии задача оказывалась неразрешимой ровно в половине случаев.

Головоломка 14-15

В другой версии все плитки, за исключением 14 и 15, изначально находятся на своих местах; задача состоит в том, чтобы поменять местами неправильно стоящие плитки 14 и 15. Эта задача неразрешима; тем не менее, в этом случае можно упорядочить плитки с пустой ячейкой в верхнем левом углу либо выстроить фишки столбцами .

Рис. 1. В начальном положение в головоломке 14-15 плитки 14 и 15 поменяны местами

Рис. 2. Это расположение недостижимо из начального расположения головоломки 14-15 (Рис. 1)

Рис. 3. Но это расположение достижимо из начального расположения головоломки 14-15 (Рис. 1)

Рис. 4. Ещё одно достижимое расположение для головоломки 14-15 (Рис. 1)

Современные модификации

Выпущено множество вариантов головоломки. В некоторых вариантах вместо упорядочивания чисел ставится цель восстановить некоторое изображение. Вместо чисел могут использоваться буквы; присутствие хотя бы двух одинаковых букв может сделать решение головоломки нетривиальной задачей.

Слон спит стоя. А вы?

На английском языке

На немецком языке

Магический квадрат

Одна из задач — переставить плитки таким образом, чтобы сумма чисел в каждом ряду (горизонтали, вертикали или большой диагонали) была равна одному и тому же числу; при этом числовое значение пустой ячейки считается равным нулю . При этом магическая сумма равна 30. Требуется по меньшей мере 35 ходов, чтобы получить магический квадрат из начального расположения, и существует лишь один магический квадрат, достижимый в 35 ходов .

Как играть

Онлайн игра пятнашки представляет собой небольшое поле, состоящее из клетчатого поля и некоторого определённого числа пронумерованных костяшек, зависящего напрямую от пропорций доски (3х3, 4х4,5х5 и так далее). Все элементы перемешаны, и одна клетка обязательно остается устой. Ваша задача – с помощью перемещений фишек (вверх, вниз, влево, вправо) упорядочить их в порядке возрастания. При этом, единичка должна находиться в верхнем левом углу, а последовательность идти горизонтально. Передвигать необходимо на свободную ячейку. Таким образом, появляются новые свободные места, и другие числа также можно переставлять.

В чем состоит трудность? Вы можете попробовать начать играть в пятнашки онлайн и увидеть все сами. Во-первых, новички стремятся перебирать все варианты размещения костяшек, но это не поможет достичь победы. Требуется мыслить логически, продумывать следующий шаг и выстраивать цепочку выигрышных ходов. Во-вторых, начинаются сложности на этапе сборки 3-ей и 4-ой линий. Первые две выстраиваются простым образом – нужно просто перемещать кубики и стараться загнать их на «родное» место. Однако, дальше вам доступно только два ряда, и в этот момент большинство новеньких бросают игру.

Существует два способа прохождения этого препятствия. Первый – сначала выстраиваются пары цифр 9-13, 10-14, расположенных вертикально. Финиш, в таком случае, получается в результате переборки. Второй – формирование ряда 9-10-11-12. Финальная «тройка» получается путем перебора. Однако, это лишь основные методы. За долгое время существования головоломки люди придумали сотни решений. Интересный факт: в логической игре пятнашки цифра 15 мелькает не спроста. Она получила такое название именно из-за самого первого, ставшего классическим, поля 4 на 4, где чисел ровно пятнадцать.

На нашем сайте представлены бесплатные игры пятнашки. Перевод ее в виртуальную форму позволил юзерам изменять дизайн, структуру, интерфейс и другие элементы на любой вкус. Поэтому сегодня поиграть в данную онлайн игру можно в различных видах: на определенную тематику (фильмы, мультипликация), с неповторимым сюжетом, усложненные версии и многое другое. Да, сюжетная составляющая в таком проекте – вполне адекватно и интересно. В таком случае игроки проходят несколько увлекательных уровней и выполняют определенные цели. Если играть в пятнашки онлайн, можно принять участие в рейтинговой системе. Чем быстрее геймер решит нелегкую задачу, тем больше игровых очков получит. Удерживайте лидерство в таблицах и демонстрируйте свои достижения родственникам и друзьям.

У нас собран обширный каталог игр. При этом, вы можете играть бесплатно в пятнашки, не регистрируясь. Понадобится только доступ к Интернету. Некоторые из них можно скачать и запускать в когда угодно. Старайтесь совершенствовать свои навыки и сокращать время прохождения или количество ходов. Если вы не знакомы с геймплеем, рекомендуется опробовать простые, классические варианты, и только потом переходить на усложненные. Также учитывайте, что можно выбрать разные размеры полей. Новички практикуются на 3х3, более опытные – на 5х5 и больше. Просто представьте, сколько комбинаций можно реализовать на большой «доске». Количество кубиков остается постоянным – на единицу меньше.

Правила игры «Пятнашки»

Игроки выбирают кто будет водящим «пятнашкой». Смысл заключается в том, что он должен будет ловить детей, как в догонялках. Он передает право «водить», когда касается рукой другого игрока. Но в отличие от догонялок, здесь более интересные правила.

Пятнашки-зайчики 

Пятнашка дает сигнал, по которому дети начинают от него разбегаться. Например, «Пятнашка ловит!». После этого он пытается поймать кого-то из игроков. Игрок может запрыгнуть на возвышенность на двух ногах, как зайчик — это значит, он в домике. Это усложняет игровое процесс. Ведь нужно успеть догнать «зайчика» пока он не запрыгнул на камушек или бордюр

Долго там прятаться нельзя.
Важно: объясните детям, на какие предметы запрыгивать опасно. Например, на высокую лавку, на люк, на трубы

Пятнашки-кружочки 

Игра для улицы. На этот раз выбирают «пятнашку-догонялку» и убегающего. Другие игроки становятся в круг, в расстоянии шага друг от друга. На своем месте они должны нарисовать круг, например мелком. Водящий кричит: «Пятнашка начинает ловить!». Тогда один из игроков начинает убегать. Когда он устал, то может передать свою роль другому участнику и занять его место в «домике». Игрокам нельзя повторяться. Должен успеть попробовать свои силы каждый. Поэтому, когда все участники исчерпали свои шансы, то последнему нельзя становится в домик. Обычно водящий быстро устает. Ведь убегающий выходят на поле игры «свежими». Поэтому он может использовать хитрость. Например, делать вид что устал и просто ходит вокруг игроков в домиках. А когда бдительность «убегающего» притупилась, начинает догонять. Дети начинают подавать знаки друг другу, по которым договариваются, кто побежит следующий. При этом, незаметные для водящего. Это развивает навык коллективной игры. Умение общаться невербально.

Второй вариант 

Правила остаются прежними, как в предыдущем варианте. Но на этот раз, убегающий может просто выкрикнуть имя другого игрока, которому передает. Он выходит их своего «домика» и должен убегать. Водящий может попробовать поймать этого игрока, либо успеть занять его место в домике, пока на него не встал предыдущий убегающий. Если он успеет, то новым «пятнашкой» становится тот, кто покинул этот домик.

2 домика на поляне

На разных концах игрового поля мелом рисуют 2 круга. Это и будут два домика на поляне. Участники игры должны постоянно бегать из одного, в другой. Если кто-то успел в него встать, то пятнашка его не может трогать. Если ему удалось во время таких «перебежек» поймать игрока, то тот становится пятнашкой.

ДРУГОЕ

Как собрать мойку?

Как собрать мойку?При проведении ремонтных работ на кухне многие сталкиваются с вопросом, как собрать мойку. Сделать…

Как собрать уголок?

Как собрать уголок?Если вы любите экспериментировать и не любите шаблонные изделия, то можно задуматься над тем, как…

Как собрать сэндвич?

Как собрать сэндвич?Чтобы правильно собрать сэндвич, необходимо учитывать ряд важных нюансов, которые представлены в…

Как собрать антенну?Когда говорят о спутниковой тарелке, обычно сразу представляют ее «зеркало» — это и…

Как собрать межкомнатную дверь?

Как собрать межкомнатную дверь?В процессе ремонта может возникнуть желание поставить новую межкомнатную дверь. Но для…

Как собрать щит?

Как собрать щит?Если в доме были полностью завершены все электромонтажные работы, завершающим этапом будет установка…

Как собрать панели?Современные строительные материалы позволяют делать ремонт быстро и красиво. Одним из таких…

Как собрать кран?

Как собрать кран?Многие люди всю жизнь наблюдают за строительством зданий, но не знают, как собирается такая махина,…

Как собрать торт?

Как собрать торт?Неотъемлемым атрибутом любого праздничного стола является торт. Для большой компании отлично подойдет…

Как собрать танк?

Как собрать танк?Моделирование является не просто детской забавой — это весьма увлекательное хобби. Военная техника в…

Как собрать оригами?Все мамы хотят, чтобы их малыш вырос здоровым, красивым, умным и успешным. Поэтому они столько…

Как выиграть золото в аватарии?

Аватария — красочная игра, которая предоставляет вам большие возможности, в том числе касающиеся и выбора одежды для…

Как сделать в Minecraft самолёт?Многие игроки посмотрели в Minecraft видео, самолёт там получается очень…

Как быстро собрать кубик Рубика?Одной из самых популярных головоломок является кубик Рубика. Далеко не все могут…

Как собирать головоломку?

Как собирать головоломку?Очень часто мы забываем, что нам необходимо не только физическое развитие и поддержание нашего…

Как собрать кольцо?

Как собрать кольцо?Многие люди любят сложные и интересные головоломки, которые заставят поднапрячься, чтобы ее решить.…

Как собрать кубик рубика 2х2?

Как собрать кубик рубика 2х2?Кубик Рубика 2х2 называют мини-версией известной головоломки. Собрать его проще, чем кубик…

Как собрать крест в кубике рубике?

В детстве одна из самых известных головоломок являлась кубическая фигура с разноцветными ячейками. Собрать кубик рубика…

Как собрать кубик рубика 4х4?

Головоломки являются отличным способом улучшить и развить зрительную и тактильную память. Кроме этого они помогают…

Как собрать пирамиду?

Самой распространенной интеллектуальной игрой на сегодняшний день является кубик Рубика. Ежегодно разрабатываются все…

Как собрать шар?

Как собрать шар?Если вы любите головоломки различного рода, то вас должна заинтересовать информация, как собрать шар из…

Вариации правил игры в «Пятнашки»

За время существования данного спортивного развлечения придумана масса различных вариаций игры. Основные правила те же, отличия в деталях. Вот несколько из них:

  1. Если пятнашка догоняет кого-то, а ему пересек путь кто-то из убегающих, тогда следует погнаться за ним.
  2. Запятнать водящий может только кого-то в процессе бега, а чтобы быть в безопасности можно присесть.
  3. Играющий если хочет спастись должен подбежать к дереву, стать около него и обнять.
  4. Пятнашка не может пятнать того играющего, который в опасный момент взял за руку еще одного игрока.
  5. Если игрок стал на одну ногу, а другу согнул назад и держит, значит, его запятнать нельзя.
  1. Все игроки, кроме водящего, за поясом держат по ленте. Когда пятнашка догоняет кого-либо из игроков, его целью является выхватить ленту и спрятать себе за пояс, тогда пятнашкой становится игрок без ленточки.
  2. Два игрока держат скакалку за разные концы и убегают вдвоем, а когда пятнашка кого-то запятнает, тот его должен сменить.
  3. Можно играть и с мячом. Пятнашка должен попасть мячом в одного из играющих. Соответственно тот, в кого попали, будет новым водящим. Но если мяч не попал ни в кого, другие играющие могут его забрать и кидать друг другу. В таком случае, пятнашка должен либо отобрать мяч, либо запятнать кого-то в момент, когда мяч в руках.
  4. Площадка делится на несколько участков. Можно на два, три либо четыре. И на каждом участке должен быть свой водящий, причем следует сделать ему отличительные символы. Другие игроки могут бегать по всему участку. На каждом участке можно нарисовать круг, что означает дом безопасности или отдыха для тех, кто устал много бегать. Играющий, до которого дотронулся пятнашка, должен стать водящим на участке, где его запятнали. 
  5. Когда игроков не так много, можно попробовать поиграть так. Одного играющего выбрать пастухом, двух – волками и четыре или пять – овечками. Пастух победит, когда поймает волков, а волки когда догонят всех овец.

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

Обработка нажатия кнопки мыши

Когда пользователь нажимает левой кнопкой мыши (сокр. «ЛКМ») на каком-либо блоке игрового поля с целью переставить его на пустое место, то мы должны отловить данное событие, а затем проверить, находится ли рядом с этим блоком пустая клетка и если действительно такая клетка присутствует, то нужно задать направление перестановки (через переменные и ).

Ниже представлен код обработчика события щелчка ЛКМ и проверки на присутствие рядом пустой клетки:

// Пользователь нажал на «крестик» и хочет закрыть окно?
if (event.type == Event::Closed)
// тогда закрываем его
window.close();

// Пользователь щелкнул мышкой?
if (event.type == Event::MouseButtonPressed)
{
// Если это была ЛКМ, то пробуем выполнить перестановку «пятнашек»
if (event.key.code == Mouse::Left)
{
// Получаем координаты того места, где был произведен щелчок
Vector2i position = Mouse::getPosition(window);

// Переводим эти координаты в координаты наших блоков
int x = position.x / blockWidht + 1;
int y = position.y / blockWidht + 1;

// Переменные для задания смещения…
int dx = 0; // …горизонтального…
int dy = 0; // …и вертикального.

// Если справа пустое место
if (grid == 16) { dx = 1; dy = 0; };

// Если снизу пустое место
if (grid == 16) { dx = 0; dy = 1; };

// Если сверху пустое место
if (grid == 16) { dx = 0; dy = -1; };

// Если слева пустое место
if (grid == 16) { dx = -1; dy = 0; };
}
}

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35

// Пользователь нажал на «крестик» и хочет закрыть окно?

if(event.type==Event::Closed)

// тогда закрываем его

window.close();

// Пользователь щелкнул мышкой?

if(event.type==Event::MouseButtonPressed)

{

// Если это была ЛКМ, то пробуем выполнить перестановку «пятнашек»

if(event.key.code==Mouse::Left)

{

// Получаем координаты того места, где был произведен щелчок

Vector2i position=Mouse::getPosition(window);

// Переводим эти координаты в координаты наших блоков

intx=position.xblockWidht+1;

inty=position.yblockWidht+1;

// Переменные для задания смещения…

intdx=;// …горизонтального…

intdy=;// …и вертикального.

// Если справа пустое место

if(gridx+1y==16){dx=1;dy=;};

// Если снизу пустое место

if(gridxy+1==16){dx=;dy=1;};

// Если сверху пустое место

if(gridxy-1==16){dx=;dy=-1;};

// Если слева пустое место

if(gridx-1y==16){dx=-1;dy=;};

}

}

Также добавим механизм перестановки двух блоков. Алгоритм данной операции предельно простой — это обмен значениями двух переменных с использованием третьей переменной, в которой сохраняется промежуточный результат:

// Если слева пустое место,
if (grid == 16) { dx = -1; dy = 0; };

// то меняем местами пустую клетку с выбранным блоком
int temp = grid;
grid = 16;
grid = temp;
}

}

// тогда закрываем его
window.close();

1
2
3
4
5
6
7
8
9
10
11
12
13

// Если слева пустое место,

if(gridx-1y==16){dx=-1;dy=;};

// то меняем местами пустую клетку с выбранным блоком

inttemp=gridxy;

gridxy=16;

gridx+dxy+dy=temp;

}

 
}
 
// тогда закрываем его

window.close();

Снова компилируем, запускаем нашу программу и видим уже следующее:

Добавляем анимацию перемещения

Остался последний штрих — сделать более плавной перестановку выбранного блока на пустое место. Для этого добавим дополнительный цикл for, в котором мы будем двигать выбранный блок с помощью функции .

На каждой итерации цикла блок будет перемещаться на пикселей по горизонтали и на пикселей по вертикали:

// Меняем местами пустую клетку с выбранным блоком
int temp = grid;
grid = 16;
grid = temp;

// Добавляем анимацию перемещения блоков

// Ставим пустой блок на место выбранного пользователем блока
sprite.move(-dx*blockWidht, -dy*blockWidht);

// Скорость анимации
float speed = 6;
for(int i = 0; i < blockWidht; i += speed)
{
// Двигаем выбранный блок
sprite.move(speed*dx, speed*dy);

// Отрисовываем пустой блок
window.draw(sprite);

// Отрисовываем выбранный блок
window.draw(sprite);

// Отображаем всю композицию в окне
window.display();
}

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26

// Меняем местами пустую клетку с выбранным блоком

inttemp=gridxy;

gridxy=16;

gridx+dxy+dy=temp;

 
// Добавляем анимацию перемещения блоков

// Ставим пустой блок на место выбранного пользователем блока

sprite16.move(-dx*blockWidht,-dy*blockWidht);

 
// Скорость анимации

floatspeed=6;

for(inti=;i<blockWidht;i+=speed)

{

// Двигаем выбранный блок

spritetemp.move(speed*dx,speed*dy);

// Отрисовываем пустой блок

window.draw(sprite16);

// Отрисовываем выбранный блок

window.draw(spritetemp);

// Отображаем всю композицию в окне

window.display();

}

Для того, чтобы увидеть результат, нужно добавить в самое начало нашей программы еще одну строку кода, которая установит ограничение максимальной частоты кадров, равное :

int main()
{
RenderWindow window(VideoMode(256, 256), «15-Puzzle! for Ravesli.com»);

// Задаем максимальную частоту кадров (иначе эффект анимации может быть незаметен)
window.setFramerateLimit(60);

// Создание и загрузка текстуры
Texture texture;
texture.loadFromFile(«images/15.png»);

1
2
3
4
5
6
7
8
9
10

intmain()

{

RenderWindow window(VideoMode(256,256),»15-Puzzle! for Ravesli.com»);

// Задаем максимальную частоту кадров (иначе эффект анимации может быть незаметен)

window.setFramerateLimit(60);

// Создание и загрузка текстуры

Texture texture;

texture.loadFromFile(«images/15.png»);

Скомпилировав и запустив нашу программу, мы уже сможем наблюдать финальный результат наших трудов:

Простая версия головоломки

Для приобретения навыков начнем с самого простого варианта. «Пятнашки» 2х2 прекрасно помогут уловить суть игры. Эта версия предусматривает квадратную коробку, в которой находятся три фишки с цифрами от одного до трех. На игровом поле их расставляют в произвольном порядке. Их следует упорядочить, выстраивая в ряд: 1, 2, 3. Для того чтобы разгадать головоломку, не следует хаотично перемещать фишки. Необходимо логически вычислить, как собрать «Пятнашки».

Схема игрового поля состоит из четырех позиций. Три из них заняты фишками. Четвертая пустая, она предназначена для перемещения. В конце игры верхние позиции заняты цифрами 1 и 2. В нижнем ряду располагается тройка. Начинаем игру. Допустим, в нашем простом варианте в верхнем ряду стоят тройка и единица. А под тройкой снизу располагается двойка, справа от которой резервное пространство для перемещения. Смещаем ее на пустое место. Тройка опускается вниз на освободившееся место. Далее единица движется в левый угол. За нею двойка перемещается вверх.

В результате несложных действий головоломка решена. Немного усложняем задание. В варианте 3х3 как собрать «Пятнашки?

Использование пятнашек в информатике [ править | править код ]

«Пятнашки» разных размеров с 1960-х годов регулярно используются в исследованиях в области ИИ; в частности, на них испытываются и сравниваются алгоритмы поиска в пространстве состояний с разными эвристическими функциями и другими оптимизациями, влияющими на число посещённых в процессе поиска конфигураций головоломки (вершин графа). В исследованиях так или иначе использовались головоломки размеров 3 × 3 , 4 × 4 , 5 × 5 , 6 × 6 , 2 × 7 , 3 × 5 .

Можно перечислить основные причины выбора пятнашек в качестве «испытательного стенда» для алгоритмов поиска :

  1. пространство состояний классических пятнашек является доступным для анализа, но всё же достаточно большим, чтобы представлять интерес и использовать и сравнивать разнообразные эвристики ;
  2. не известен ни один алгоритм, находящий кратчайшее решение для обобщённых пятнашек n × n за разумное время ;
  3. сама задача поиска кратчайшего решения для пятнашек проста для понимания и программного манипулирования ; головоломка поддаётся описанию с помощью небольшого и чётко определённого набора простых правил ;
  4. для моделирования головоломки не требуется передачи семантических тонкостей, присущих более сложным предметным областям ;
  5. задачи с пятнашками — удачные представители класса проблем, в которых требуется найти кратчайший путь между двумя заданными вершинами неориентированного конечного графа ;
  6. размер графа поиска зависит от размера головоломки n экспоненциально, хотя любое состояние можно описать с затратой O ( n 2 ) памяти ;
  7. одна и та же эвристическая функция может применяться ко всем состояниям, так как все состояния описываются одинаково; в реальных применениях разные состояния могут иметь разные описания, что требует введения нескольких эвристик ;
  8. использование в исследованиях игр и головоломок не порождает финансовых или этических проблем .

Эвристический поиск

В качестве алгоритма поиска может использоваться алгоритм A*, > , поиск в ширину.

Головоломка 3 × 3 легко решается любым алгоритмом поиска. Произвольные конфигурации пятнашек 4 × 4 решаются с помощью современных алгоритмов поиска за несколько миллисекунд . Для оптимального решения головоломки 5 × 5 требуются больши́е затраты ресурсов даже с применением современных компьютеров и алгоритмов ; процесс поиска может длиться несколько недель и генерировать триллионы узлов . Оптимальное решение произвольных конфигураций головоломки 6 × 6 до сих пор находится за пределами возможностей , в связи с чем в исследованиях делаются лишь попытки предсказать относительную производительность алгоритма > .

Одна из самых простых эвристик для пятнашек может быть выражена следующим образом :

Число ходов, требуемых для решения, не меньше, чем число плиток, находящихся не на своих местах.

Верность утверждения, то есть допустимость эвристической функции «число плиток, находящихся не на своих местах», следует из того, что за один ход может быть поставлена на место только одна плитка

Эта эвристика не использует всю имеющуюся информацию: например, она не принимает во внимание расстояния, на которые должны быть перемещены отдельные плитки

Более «умная» эвристика сопоставляет каждому расположению плиток сумму расстояний от текущей позиции каждой плитки до её целевой позиции . В литературе эта эвристика встречается под именем «манхэттенское расстояние» (Manhattan distance) . Допустимость функции следует из того, что за один ход перемещается только одна фишка, и расстояние между этой фишкой и её конечной позицией изменяется на 1. Тем не менее, эта эвристика также не использует всю имеющуюся информацию, из-за того, что в одной позиции не могут находиться одновременно две плитки. Существуют более информированные варианты «манхэттенского расстояния», такие, как Linear Conflict .

Для быстрого поиска оптимального решения головоломки 4 × 4, а также для возможности находить оптимальное решение головоломки 5 × 5 в разумные сроки, разработаны эвристики, основанные на базах данных образцов (pattern databases) . Подобные эвристики являются по сути заранее вычисленными и хранящимися в оперативной памяти таблицами, в которых закодированы оптимальные решения для подзадач; каждая из подзадач сводится к перемещению в целевые позиции определённой группы плиток . Эти эвристики также могут быть применены к кубику Рубика и другим головоломкам .

Пятнашки – известная всему миру головоломка. Игроку доступно поле размером 4×4, состоящее из 16 клеток. Все клетки кроме одной заняты костяшками с номерами от 1 до 15, которые перемешаны между собой. Цель игры – упорядочить костяшки по порядку используя свободное поле.