(Vx Ace) Ищу скрипт "миниигры" Мозаика/Паззл

Разработчик Проект месяца 1 место Ветеран 3 место в Обучающем конкурсе Проект месяца 2 место
Больше
12 года 9 мес. назад #62497 от DarchanKaen
Доброго времени суток.
Необходим скрипт "миниигры" Мозаика/Паззл.
Суть:
В отдельном поле/экране есть изображение, разбитой случайным образом на элементы. Нужно собрать в правильном
порядке. Именно изображение(!).
Как в "To the moon" или что-то подобное.

В принципе...Если есть на Вх или Хр, то тоже пойдет.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Программист Ruby Ветеран Даритель Стимкея Оратор Программист JavaScript
Больше
12 года 9 мес. назад - 12 года 9 мес. назад #62498 от Lekste
Впринципе даже самому написать не сложно и можно за 1 вечер.
Хотя это еще зависит от того, как вы ее представляете.

Например, являются ли кусочки квадратными или нужно резные края.
Последнее редактирование: 12 года 9 мес. назад пользователем Lekste.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Программист Ruby Организатор конкурсов Даритель Стимкея 2 место Сбитая кодировка Переводчик 2 место
Больше
12 года 9 мес. назад #63009 от strelokhalfer
На событиях можно сделать, есть идея даже как.

"Стрелок, что-то ты неочень похож на свой аватар..."(с)

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Разработчик Проект месяца 1 место Ветеран 3 место в Обучающем конкурсе Проект месяца 2 место
Больше
12 года 9 мес. назад #63015 от DarchanKaen
strelokhalfer, если поделишься - буду очень благодарен.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Программист Ruby Организатор конкурсов Даритель Стимкея 2 место Сбитая кодировка Переводчик 2 место
Больше
12 года 9 мес. назад #63023 от strelokhalfer
Уточнить хочу, по типу Пятнашек или по другому?

"Стрелок, что-то ты неочень похож на свой аватар..."(с)

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Разработчик Проект месяца 1 место Ветеран 3 место в Обучающем конкурсе Проект месяца 2 место
Больше
12 года 9 мес. назад #63050 от DarchanKaen
Не знаю, что такое Пятнашки.
Как в детской головоломке (как на рисунке)
Выемки - излишни, но принцип тот же.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Программист Ruby Организатор конкурсов Даритель Стимкея 2 место Сбитая кодировка Переводчик 2 место
Больше
12 года 9 мес. назад #63054 от strelokhalfer
Т.е. дано поле, 4х4, картинка перемешана и просто выделив одну целимся на другую и они меняются между собой?

"Стрелок, что-то ты неочень похож на свой аватар..."(с)

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Разработчик Проект месяца 1 место Ветеран 3 место в Обучающем конкурсе Проект месяца 2 место
Больше
12 года 9 мес. назад #63056 от DarchanKaen
Да именно, размер поля не критичен (но все же форма - квадрат/прямоугольник).
На эвентах тоже думал, но все сводилось к условиям координат (плюс смысловых) и вырезанию кусочков картины в
графредакторе.

Есть другой путь? :unsure:

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Программист Ruby Организатор конкурсов Даритель Стимкея 2 место Сбитая кодировка Переводчик 2 место
Больше
12 года 9 мес. назад #63057 от strelokhalfer
Скрипты, наверное, но не думаю, что на эвентах так уж и сложно сделать.

"Стрелок, что-то ты неочень похож на свой аватар..."(с)

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Разработчик Проект месяца 1 место Ветеран 3 место в Обучающем конкурсе Проект месяца 2 место
Больше
12 года 9 мес. назад #63058 от DarchanKaen
Для эвентов нету "сложно". :mad:
Есть "муторно" и "невозможно"...Это муторно, но реально.
Вот поэтому скрипт и искал.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Программист Ruby Организатор конкурсов Даритель Стимкея 2 место Сбитая кодировка Переводчик 2 место
Больше
12 года 9 мес. назад #63060 от strelokhalfer
Однообразно скорее.

"Стрелок, что-то ты неочень похож на свой аватар..."(с)

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Разработчик Проект месяца 1 место Ветеран 3 место в Обучающем конкурсе Проект месяца 2 место
Больше
12 года 9 мес. назад #63061 от DarchanKaen
Да, а если брать в количестве больше 5-7... :wall:

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Программист Ruby Ветеран Даритель Стимкея Оратор Программист JavaScript
Больше
12 года 9 мес. назад - 12 года 9 мес. назад #63069 от Lekste
Да не так уж сложно это сделать на скриптах то.

1) Берем картинку и разбиваем на кусочки так:
Code:
puzzle_x = 10 # Позиция паззла по oX puzzle_y = 10 # Позиция паззла по oY piece_width = original_img.width / pieces_in_row piece_height = original_img.height / rows @pieces = [] for n in 0..rows piece_row = [] for m in 0..pieces_in_row piece = Sprite.new(Viewport.new(m * piece_width + puzzle_x, n * piece_height + puzzle_y, piece_width, piece_height)) piece.contents = Bitmap.new(piece_width, piece_height) piece.contents.blt(0, 0, Rect.new(m * piece_width, n * piece_height, piece_width, piece_height)) piece.x = m * piece_width + puzzle_x piece.y = n * piece_height + puzzle_y piece_row.push(piece) end @pieces.push(piece_row) end

Таким образом получаем набор кусочков исходного изображения.

2) Позволить пользователю выбирать кусочки.
Делается аналогично выбору во всяких менюшках. Приблизительно так:
Code:
def initialize @row = 0 @column = 0 selection_reset end def selection_reset @selected_piece_id = -1 end def onUserTriggeredHorizontal(isRightDir) if isRightDir @column += 1 else @column -= 1 end end def onUserTriggeredVertical(isDownDir) if isDownDir @row += 1 else @row -= 1 end end def swap_pieces(piece1, piece2) tmp_x = piece1.x tmp_y = piece1.y piece1.x = piece2.x piece1.y = piece2.y piece2.x = tmp_x piece2.y = tmp_y end def onUserTriggeredC if @selected_piece_id swap_pieces(@selected_piece, @pieces[@row][@column]) end @selected_piece_id = @pieces[@row][@column] check_win_conditions end def onUserTriggeredB selection_reset end def check_win_conditions # Тут пробежать по всем кусочкам и проверить на своих ли они местах # Для этого, в них можно, например, записывать порядковый номер end

Итог: Картинка разбивается на кусочки, которые независимы и могут быть перемешаны случайным образом.
Пользователь может выбрать кусочек и поменять его местами с другим кусочком.
После каждого хода происходит проверка, не собрано ли исходное изображение.
Последнее редактирование: 12 года 9 мес. назад пользователем Lekste.
Спасибо сказали: DarchanKaen, MaltonTheWarrior, Wind@

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Разработчик Проект месяца 1 место Ветеран 3 место в Обучающем конкурсе Проект месяца 2 место
Больше
12 года 9 мес. назад #63072 от DarchanKaen
Большое человеческое СПАСИБО! :laugh:
Если таки дойдут руки до того проекта, напишу тебя в титрах...сделаю их для этого. :mad:

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Программист Ruby Ветеран Даритель Стимкея Оратор Программист JavaScript
Больше
12 года 9 мес. назад #63073 от Lekste
Угу. Только дописать стандартные штуки смоги. Ну или я допишу как-нибудь. Создание сцены, например.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Разработчик Проект месяца 1 место Ветеран 3 место в Обучающем конкурсе Проект месяца 2 место
Больше
12 года 9 мес. назад #63074 от DarchanKaen
Буду очень признателен, если допишешь со временем.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Время создания страницы: 0.127 секунд
Работает на Kunena форум