PureBasic - форум

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » PureBasic - форум » PureBasic для Windows » Balloons


Balloons

Сообщений 1 страница 13 из 13

1

Balloons - игра

Скачать: yandex upload.ee
Скачать для андроида yandex
Скачать браузерный вариант: yandex (сглаженный)

https://i.imgur.com/MaEdR7R.png

Обычная, по 3 шарика удалять, собрав в линию

Последние обновления
Статистика в виде таблицы, чтобы умещались числа более 9999.
Добавлен стиль, чтобы сделать пункты меню крупнее.
Добавлен пункт "Выбери цвет, кликнув шар"

Отредактировано AZJIO (08.02.2023 09:23:40)

0

2

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

моя версия

0

3

Ясен пень что моя лучше. Никаких заумных таблиц, яркие цвета и хорошо видно. Например если в качестве цветов используются огурцы и помидоры, то тяжело искать возможные варианты. Даже мои скруглённые квадраты не сразу к ним пришёл, были круги, разные интервалы делал, пока не достиг той комбинации, которая приятна на вид. Никакой сетки, удачное вычисление число ходов, собранных дополнительных шаров, бонусы за незаработанные, но выпавшие совпадения, штраф за холостой ход. И она работает на телефоне. Открытый исходник.

Я не любитель играть, это пустая трата времени и никогда не хотел делать игрушки, даже пятнашки я делал как эксперимент, получится ли у меня логика. А тут ситуация что у близких комп линукс и проблема с игрой "Волшебные шары" (только Windows), игра конечно крутая, её не написать мне, но думаю получится ли у меня логика игры и вуаля. Тут ещё выходные, сижу, никаких идей, что зря страдать поковыряю этот тип игр. Ещё мне нравится игра гиперболоид и ранее старая похожая, вот это бы ещё воспроизвести, но там надо как и с шариками серьёзно заниматься, а это так, проба.

Отредактировано AZJIO (22.01.2023 21:12:38)

0

4

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

Экспериментирую с  пунктом "Подсказка". Частично получилось, находит Г-образные фигуры. Алгоритм не сложный при совпадении 2-х цветов найти шар слева, справа и впереди (x-1, x+1, y+1), а также сзади, всё тоже самое при y-3, y-4. Проблема у стенок, там массив может получить несуществующий индекс -1 и 8, можно сделать условия проверяющий, а можно увеличить массив, как бы окружить доску ещё виртуальными шариками, цвет которых не совпадает с цветами шаров на доске. Ну и желание использовать одну и туже функцию завело меня в тупик, ведь я сначала проверяю по вертикали, потом по горизонтали, просто хотел поменять индексы arr(x,y) на arr(y,x), но не прокатило, ох и намучился я с этим ради компактного кода. Пока не сделал, вроде работает, но иной раз в упор что-то не видит, надо ревизию кода делать. А вообще бывает подсказку нажимаешь и раз 15 находит, выделяет их, при клике рамки пропадают. Уже есть намётки почему ошибки, но возможно надо подумать, переделать код, заменить индексы i, j на x,y, иначе это сильно запутывает в голове все прокручивать, индексы массива 0-7 тоже запутывает, надо 1-8 как на доске.

0

5

Обновление
Добавлена кнопка "?" (подсказка), -1 к очкам, если найдено, конечно выделяет найденное, либо сообщает что не найдено.

Отредактировано AZJIO (29.01.2023 09:22:28)

0

6

Webarion
у нерусей балон это всплывающая подсказка
неруси, что с них взять, у нас балон это балон, а у них всплывающая подсказка, ну тупые!

AZJIO написал(а):

яркие цвета и хорошо видно

красный и фуксия почти не отличимы, синий на чёрном фоне еле виден

AZJIO написал(а):

Ясен пень что моя лучше

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

0

7

newJS написал(а):

красный и фуксия почти не отличимы, синий на чёрном фоне еле виден

У меня нет такого, наоборот, жёлтый и зелёный именно на телефоне близки,  приходится внимательно смотреть. Думаю это проблема цветопередачи разных устройств. Я хотел сделать внешние настройки в том числе цвета для шаров. Хотя многие не станут заморачиваться или при условии что это легко, например прямо в игре войти в режим настройки и кликнуть на шарике чтобы поменять его цвет и смотреть в реальности, как это меняется. Надо подумать.

newJS написал(а):

у меня класика, а у тебя упрощённый вариант

Что за классика? Есть игра "линии" и её разновидности, она мне не нравится никакой вариант, а есть известная гениальная игра "Волшебные Пузыри".

newJS написал(а):

у меня куча вариантов, а у тебя выбора нет совсем

Что за куча вариантов? Выбор 3-6 шаров? Появление 2-5 шаров? Поля 8-15? У меня игра другая, многое не подходит, а число цветов и размер поля я не хочу менять, так как чем больше условий, игра становится для каждого игрока индивидуальной и он не может сравнивать результаты. Я понимаю уровень сложности, так чтобы контролировать между 5-ю одновременных ходов на карте и 1-2 хода на карте, когда условия одинаковы, а алгоритм для каждой сложности делает разные возможности, а если это просто другая игра, то игроки просто не могут сравнить результаты, так как они практически играют в разные игры. Те же "Волшебные Пузыри", там нет возможности изменения игры. Я точно не помню, но там укорачивается время, и надо быстро получить очки и взять шарик времени, и заработанные очки можно обменять на число появления бонусных шаров. Сложность сама увеличивается по мере продвижения игры. Так что добавление не нужных возможностей не делают игру интересной.

0

8

newJS написал(а):

красный и фуксия почти не отличимы, синий на чёрном фоне еле виден

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

0

9

Так как понятие ini-файл тут абстрактно , то есть в кэше некий файл, которого даже не видишь, то  может сделать бинарный файл. Например некая структура данных, которую сохранить как память  по указателю в файл, и при запуске аналогично прочитать. То есть вообще понятие "парсинг" будет отсутствовать, будут только жёстко заданные поля структуры.

Отредактировано AZJIO (08.02.2023 09:28:18)

0

10

AZJIO написал(а):

то  может сделать бинарный файл.

Я как-то пробовал, мне не понравилось.
Во-первых, текстовый файл проще посмотреть при отладке, не накосячил ли сам где с параметрами.
Во-вторых, нельзя потом менять структуру. Только добавлять новые параметры в конец.
В-третьих, строки хранить неудобно.

0

11

Smitis
Я понял как от этого избавиться. Можно в первом поле указать номер версии параметров. Одного байта за глаза хватит. Если между версиями большая разница, то можно игнорировать чтение данных а если предыдущая, то можно гибче поступить, прочитав в старую структуру и переназначить в новую. Ну и кроме того размер файла тоже может быть критерием несоответствия версии, то есть первое поле можно задавать только в случае одинакового размера данных. Ну и также если размер файла меньше, то можно прочитать часть данных, а новые заполнить дефолтными. На счёт "проще", ну я же вывод могу преобразовать в читабельный формат. Просто файл в кэше я вот попытался найти в браузере и весь мозг сломал. Открыл кеш %AppData%\Local\Mozilla\Firefox\Profiles\_______.default\cache2\entries, перед этим очистив его, сохранил в игре, и в кеше совершенно ничего не нашёл, да и игра не потеряла настройки, загрузив ходы, очки, бонусы. Подумал, может в куках? Но открываю в настройках "Управление куками", в поиске забиваю "127.0.0.1", результатов ноль. Где их искать? Если я не могу их смотреть, разве что через сообщение в игре, то что мне мешает сделать их бинарными и отказаться от парсинга, разве что всё равно надо проверить на валидность.

0

12

Ну, если очень хочется, то нет преград.
Я просто написал, почему мне самому это не понравилось. В первую очередь, это неудобство хранения текстовых данных произвольной длины.

AZJIO написал(а):

Просто файл в кэше я вот попытался найти в браузере и весь мозг сломал.

Я бы делал так:
- Записать в конфиг какую-нибудь уникальную текстовую фразу.
- Запустить игру, закрыть.
- Выполнить поиск по файлам. Я бы искал из ФАР-командером, во всех папках, где браузер сохраняет файлы (и Local и Roaming)

0

13

Webarion
1. Вот для этого я и сделал временное подсвечивание изменяющихся шаров прямоугольником и в большей степени важно не тех что я собрал, а тех что исчезли во время случайного совпадения. Те что я собрал я и так понимаю что они изменились и их место, а вот те что собрались бонусом случайно, вот тут я вижу масштаб совпадения, бывает собираю 3шт в одну линию, а выделяется линия 4 шт, и тут я понимаю что получил бонусы, а бывает собираю фигуру буквой Г, а у меня на пол экрана фигура подсветилась и я понимаю что несколько бонусов схватил.
2. Чтобы делать анимацию надо конкретно браться за игру переписывая весь код. В цикле с задержкой перерисовывать фигуру, а ведь у меня там ещё закомментированные варианты круг, квадрат, числа поверх, градиент имитирующий объём шара, а в глобальных флаги для включения градиента или цифры. И как это всё тоже для них анимацию или тупо вырезать? А цифры были/стали для теста.
3. Дома мне предлагали шары сделать не пятном, а покрасивее, как я понимаю это работа со спрайтами, то есть нарисовать хорошие объемные шары с текстуркой, чтобы выглядели реальными.
4. У самого куча идей, во первых сделать изменение размера окна. Во вторых шарики в программе лесенкой края, пикселизация, нужно как в браузере со сглаживанием, либо спрайты. Но со спрайтами масштабирование будет смазывать текстуру, опять же у каждого типа свои проблемы. Ещё идея - у некоторых игр показывает какие шары появится по цвету и игрок сразу прикидывает где ему менять, если будут появляться голубые, то собирать фигуру игрок будет рядом с голубыми шарами, чтобы больше вероятность собрать следующую фигуру. То есть сделать буфер на 3 рандомных шара и именно те что собрал игрок будут заменены ими.
5. Но если честно у меня по работе много идей и по программированию, то что облегчает людям жизнь, а я буду программировать в области, которая только тратит полезное время у людей. Вот поэтому я не бегу впереди паровоза, жду когда нечем будет заняться и когда уровень знаний программирования будет такой, что я в совершенстве буду понимать задачу как её сделать и просто буду писать, а сейчас требуется усилия.
6. На работе несколько человек играют в свои игрушки (танчики, игра аналогичная моей, только с анимацией, кроссворд), и я не завлёк своей. Поэтому нет особого стимула, кроме стимула математического восприятия игры.

Отредактировано AZJIO (22.02.2023 15:45:21)

0


Вы здесь » PureBasic - форум » PureBasic для Windows » Balloons