PureBasic - форум

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

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


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


Balloons

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

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

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

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

Расшифруй пожалуйста для "тупых". Я не понял, что ты хочешь этим сказать..?

Отредактировано Webarion (26.01.2023 05:15:26)

0

6

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

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

0

7

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

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

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

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

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

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

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

0

8

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

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

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

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

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

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

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

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

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

0

9

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

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

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

0

10

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

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

0

11

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

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

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

0

12

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

0

13

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

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

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

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

0

14

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

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

; Начало оффтопа:

Задорнова что-ли насмотрелся? Т.е. ты программируешь на их языке, и при этом считаешь, что они тупые? Этот мир, очень большой. И везде есть не только разумные, но и осознанные люди. Меньше смотри "телевизор"!

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

https://forumupload.ru/uploads/0009/ae/28/644/t105698.jpg

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

Поэтому, вот мои предпочтения
Эта тема AZJIO и его игры, его творческой реализации. Поэтому, убедительная просьба, не надо тут меряться "писюнами". Каждое творчество, какое бы оно ни было, достойно уважения!
NewJS создай свою тему с твоей игрой. От души, накладём тебе там предпочтений (Шучу.. Не накладём, а напишем  ^^  )

; Конец оффтопа ;)

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

+1

15

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

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

0

16

AZJIO!
Может прозвучит банально. Но просто делай так, как тебе хочется и нравится. И "никого" не слушай. Главное, делай своё любимое дело.  :cool:

Отредактировано Webarion (24.02.2023 01:17:44)

0


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