Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Разное тестирование > Игра "Пятнашки"


Автор: Лиходей 14.8.2008, 12:44
Игра "Пятнашки".
Обычная игрушка. Написал давно в качестве тренинга.
Хочется узнать мнение как говорится "со стороны" ... Гляньте кому не лень.
 

Автор: Specialist 16.8.2008, 21:55
А прикольно получилось! Первый раз играю в пятнашки за последние 5 лет, разложил чуть больше чем за 6 мин.

Автор: Исполнитель234 17.8.2008, 02:33
Скачал, запустил.

Первое что сделал, попытался как в обычной игре перетащить костяшку. Не получилось. 
Затем случайно дошло, что нужно нажимать и тогда костяшка перемещается.

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

Не понимаю, зачем нужно выделять цветом ту костяшку, на которую и так мышка указывает?

От этого мерехтит в глазах. 

Можно ли менять цвета, фон, короче, скины где?

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

Нет пункта About - я уже привык его видеть - о разработчике. 

Окошко паузы... Нужно еще поработать над дизайном

Прикольно, когда показывает, какие не на своих местах стоят

А вот нижняя часть где лестница непонятно для чего она нужна

Ну а вообще прикольная игра. Я чото заплутал и не могу выиграть.

Облом ((

Вердикт: доделать те изменения, что я указал и можно продавать.  

Да, вот еще что: окошко Начать новую игру обведено черной рамочкой.
А окошко паузы нет. Некрасиво.

Автор: Исполнитель234 17.8.2008, 03:03
Пока играл, придумал модификацию игры.

Это будут тоже пятнашки, но играть нужно будет вдвоем. 

Соответственно, два игровых поля. Одно мое, а второе противника. 

И нужно чтобы я видел его ходы. А он соответственно мои.

Ради интереса: кто быстрее соберет

Автор: Лиходей 17.8.2008, 17:01
Цитата

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

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

Цитата

Не понимаю, зачем нужно выделять цветом ту костяшку, на которую и так мышка указывает?

По большому счету согласен.  Можно в настройках сделать пункт "Анимация кнопок" типа true\false. По умолчанию  поставить false.

Цитата

Я чото заплутал и не могу выиграть.

Помню гдето читал что бывают без выигрышные комбинации. Как один из недостатков игры - они не отслеживаются ((

Цитата

придумал модификацию игры.

Интересная мысль

Спасибо за отзывы и критику. Будет время учту, переделаю... 

Автор: mes 17.8.2008, 17:14
Цитата(Лиходей @  17.8.2008,  17:01 Найти цитируемый пост)
Помню гдето читал что бывают без выигрышные комбинации. Как один из недостатков игры - они не отслеживаются ((


Если пятнашки  расставляются простым рандомом, то вполне возможна тупиковая ситуация. 
Вариант для решения: использовать перемешевание(используя легальные ходы)

Автор: Hades 17.8.2008, 18:26
Цитата(Лиходей @  17.8.2008,  17:01 Найти цитируемый пост)
гдето читал что бывают без выигрышные комбинации

В wiki есть - http://ru.wikipedia.org/wiki/Пятнашки

Автор: Исполнитель234 17.8.2008, 18:41
Цитата(Лиходей @  17.8.2008,  15:01 Найти цитируемый пост)

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


Да, вы правы. Ваш вариант лучше. 
Просто я не сообразил сразу (при первом запуске игрушки) что нужно делать. 
Скажу вам так - если я сразу не соображаю, для меня это знак, что в интерфейсе чего-то не хватает.

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

Тогда такой вариант: при самом первом запуске игрушки вывести надпись или окошко (без кнопки ок, убираемое через некоторое время)
со следующим содержанием "Щелкните костяшку, которую хотите передвинуть"

Тогда может быть вопрос отпадет сам собой.

Цитата(Лиходей @  17.8.2008,  15:01 Найти цитируемый пост)


По большому счету согласен.  Можно в настройках сделать пункт "Анимация кнопок" типа true\false. По умолчанию  поставить false.



Да, это было бы здорово.


Цитата(Лиходей @  17.8.2008,  15:01 Найти цитируемый пост)


Интересная мысль



Ну, раз интересная, то примите и ее развитие. 

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

Например: 
Координаты пустой костяшки (человечка) R1C1
Выигрыш достигается, если игрок первым проведет своего человечка в угол R4C4

Забавная возникает ситуация: 
Если так посмотреть, то человечки будут представлять игроков. Или игроки будут отождествлять себя с фигурками.

Предположим, наша игрушка будет сетевой и связанной с регистрацией на портале соц.сети:
Тогда,  если при начале игры указать (или будет известным) пол, то человечек может быть (стилизовано) пареньком или девушкой.
Ну и когда играет парень с девушкой будет прикольно. Особенно, если при каждом успешном передвижении (достижении новой контрольной точки)  этот человечек будет показывать противнику нос или другой мульт

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

Но это я увлекся что-то. 

Ну и если вам интересна разработка чего-либо подобного пишите мне или в мой блог dorozhko

Добавлено через 5 минут и 16 секунд
Есть и еще одно возможное развитие связанное с... костяшками
Но о нем  не скажу.  smile 

Хорошего понемножку  smile 

Или угадайте.

Автор: Лиходей 18.8.2008, 16:57
Цитата

при самом первом запуске игрушки вывести надпись или окошко (без кнопки ок, убираемое через некоторое время)
со следующим содержанием "Щелкните костяшку, которую хотите передвинуть"

Согласен

Цитата

Предположим, что на костяшках не будет цифр.

Это уже будут не пятнашки

Цитата

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

Тогда игровое поле нужно делать больше, рисовать кокой то лабиринт с призами, минами и прочими заморочками.
Получится аркада типа Bombermen

Идея с сетевой игрой на 2 игрока понравилась, спасибо за содержательные предложения

Цитата

В wiki есть - Пятнашки 

Да, да именно там и читал...

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

Математическое описание

Пятнашки представляют собой классическую задачу для моделирования эвристических алгоритмов. Обычно задачу решают через количество перемещений и поиск манхеттенского расстояния между каждой костяшкой и её позицией в собранной головоломке. Для решения используются алгоритмы наподобие алгоритма A*.

Можно показать, что ровно половину из всех возможных 1307674368000 (=15!) начальных положений пятнашек невозможно привести к собранному виду: пусть квадратик с числом i расположен до (если считать слева направо и сверху вниз) k квадратиков с числами меньшими i. Будем считать ni = k, то есть если после костяшки с i-м числом нет чисел, меньших i, то k = 0. Также введем число e - номер ряда пустой клетки (считая с 1). Если сумма

N = \sum_{i=1}^{15} n_i + e

является нечётной, то решения головоломки не существует[2].
 
Допустим имеем следущую комбинацию:
Цитата

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





Автор: Исполнитель234 18.8.2008, 17:25
Цитата(Лиходей @  18.8.2008,  14:57 Найти цитируемый пост)


Это уже будут не пятнашки

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

Тогда игровое поле нужно делать больше, рисовать кокой то лабиринт с призами, минами и прочими заморочками.
Получится аркада типа Bombermen



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

Меня интересует быстрота реализации такой игрушки. Это ведь просто, согласитесь. Убрать цифры.
И проследить за тем моментом, когда пустая костяшка попадает в контрольную точку.

Цитата(Лиходей @  18.8.2008,  14:57 Найти цитируемый пост)

Идея с сетевой игрой на 2 игрока понравилась, спасибо за содержательные предложения


Отлично, рад что помог, когда можно будет оценить результат?


P.S. 
Самое неважное это устранения вариантов, когда сборка пятнашек невозможна.
Наоборот это не баг, а игровая фича. 
Можно делать ставки на то, соберет игрок или не соберет пятнашки в очередной раз. 
типа орел или решка?




Автор: Лиходей 18.8.2008, 21:15
Цитата

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

Если не призы и полученные таким образом очки то в чем будет смысл игры? Проходить по контрольным точкам?
 Переместить костяшку с одного угла в другой можно за 2-3 секунды, получится, что головоломка превратится в игру развивающую быстроту реакции и мастерство владения мышкой )
Не... Все советы ваши относительно интерфейса и сетевой игры приму к сведению. Но повторюсь, если убрать цифры то это будут не пятнашки.

Цитата

Меня интересует быстрота реализации такой игрушки. Это ведь просто, согласитесь. Убрать цифры.

 Тут не все просто. Написана игрушка 4 года назад, кагда я мало чего соображал в программировании. Открыл исходник, а там ужос, написано по принципу "лобовой атаки", код сильно раздутый, короче говоря нужно всю начинку переписывать. Развивать дальше проект в том состоянии котором он находится сейчас способен разве мазохист...  

Цитата

Отлично, рад что помог, когда можно будет оценить результат?

 Скажу откровенно счас на это времени нет, и появится не скоро. 
 Не подумайте Исполнитель234, что ваши советы пропадут впустую, время я обязательно выберу. 
 Ну скажем так ~2-4 месяца.

 О чем вас обязательно извещу.   
 
 

Автор: Исполнитель234 18.8.2008, 22:03
Цитата(Лиходей @  18.8.2008,  19:15 Найти цитируемый пост)
Но повторюсь, если убрать цифры то это будут не пятнашки.


Да, я согласен, вы совершенно правы, это будут не пятнашки.
Это будет игровая модель для разработки и изучения, моделирования эвристических алгоритмов.


Цитата(Лиходей @  18.8.2008,  19:15 Найти цитируемый пост)

Развивать дальше проект в том состоянии котором он находится сейчас способен разве мазохист...  


А вы можете прислать исходники мне? 
Так сказать, станем с вами партнерами в разработке. 
Можно сказать, что у меня есть заказчик, но игра ему нужна в самые быстрые сроки. Почему я и спросил. 
Деньги пополам, основа ведь ваша. smile

Автор: Лиходей 19.8.2008, 11:29
Цитата

А вы можете прислать исходники мне? 
Так сказать, станем с вами партнерами в разработке. 
Можно сказать, что у меня есть заказчик, но игра ему нужна в самые быстрые сроки. Почему я и спросил. 
Деньги пополам, основа ведь ваша.

Согласен на 30%, вам сильно придется "попотеть" переделывая исходник. 
Игра написана на Delphi 5, с  установленной библиотекой компонентов 1stClass(взяты овальные кнопки ля фишек и диалоговых окон типа "Пауза"). Для Delphi7 триал версию 1stClass можно скачать http://www.woll2woll.net/demos/1stClassStudio2007Trial.exe. 

Возникает понятный вопрос - какие гарантии? И сколько?
Отпишитесь  в личку или на емейл.

Автор: zasar 23.8.2008, 14:15
Посмотрел,мне лично понравилось,Я как бы новичек в этом деле,но в скором времени тоже что-нибудь сотворю и выложу=)

Автор: serg76 26.5.2009, 09:15
Цитата(Лиходей @ 18.8.2008,  15:57)
Цитата

Математическое описание

Пятнашки представляют собой классическую задачу для моделирования эвристических алгоритмов. Обычно задачу решают через количество перемещений и поиск манхеттенского расстояния между каждой костяшкой и её позицией в собранной головоломке. Для решения используются алгоритмы наподобие алгоритма A*.

Можно показать, что ровно половину из всех возможных 1307674368000 (=15!) начальных положений пятнашек невозможно привести к собранному виду: пусть квадратик с числом i расположен до (если считать слева направо и сверху вниз) k квадратиков с числами меньшими i. Будем считать ni = k, то есть если после костяшки с i-м числом нет чисел, меньших i, то k = 0. Также введем число e - номер ряда пустой клетки (считая с 1). Если сумма

N = \sum_{i=1}^{15} n_i + e

является нечётной, то решения головоломки не существует[2].

Допустим имеем следущую комбинацию:
Цитата

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

 smile
может кто то на примере объяснить?

Автор: pan2004 31.5.2009, 22:15
Цитата(Лиходей @  18.8.2008,  16:57 Найти цитируемый пост)
Народ кто силен в математике переведите с русского на русский как этим попользоваться для просчета  возможно собрать определенную комбинацию или нет

а чего тут сложного? Сигма - знак суммы. Проходим по всему массиву "пятнашек" и считаем для каждой, сколько пятнашек меньшего достоинства стоят перед ней. Суммируем, прибавляем номер ряда где находится пустая ячейка. Если сумма нечетная, решения не существует.
А то так действительно с первого раза наперся на раскладку без решения. Надо переделать.
Цитата

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

Смотрим для 12 фишки - после нее находятся 11 других меньше по номеру. После двойки находится единица, сумма 12. После девятки - все кроме двойки, в сумме 12 + 7 = 19. Считая дальше, получаем 19 + 9 + 1 + 7 + 0 + 5 + 1 + 4 + 0 + 1 + 2 + 1 = 50. Пустое место на третьем ряду, суммарно 53. Сумма нечетная, решения для данной комбинации нет.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)