LINUX.ORG.RU
Форум — Talks  

Пишу блог о разработке одного приложения.

 , , , ,


0

1

Будет что то вроде движка для стратегической игры. Пишу классы. http://star-engineers.blogspot.ru/

Лицензия GPL v.3 Думаю кому нибудь да пригодиться класс GroupUniversalValues который позволит организовать произвольный набор свойств у игрового объекта.

☆☆☆

Последнее исправление: CYB3R (всего исправлений: 1)

Очень тяжело такую простыню читать. Не думал прикрутить какую-нибудь подсветку?

ziemin ★★
()

А на чём пишешь? Я, может, немного не в теме о новинках в области ЯП... Но, чёрт подери, это не бейсик-ли?!

evilmanul ★
()
Ответ на: комментарий от evilmanul

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

evilmanul ★
()
Ответ на: комментарий от evilmanul

Да ладно. Разрабатывать позволяет? позволяет. под линух? под линух. ну и черт с ним что там внутрях, никогда не понимал тулкито- и яп-фобов.

NeverLoved ★★★★★
()

В таком виде, я не могу представить человека, которому это пригодится.

pi11 ★★★★★
()
Ответ на: комментарий от NeverLoved

яп-фобов

ЯП-фобом не являюсь, и вообще ничего серьезного против Basic'а как языка не имею, даже хэллоуворлдил на VB .NET когда на оффтопике сидел, но, субъективно, сейчас даже его синтаксис кажется мне адом.

evilmanul ★
()
Ответ на: комментарий от evilmanul

Диалект basic похожий на java. В отличии от VB в нём можно хоть всю память под локальные переменные отожрать, а не только 64 килобайта.

rezedent12 ☆☆☆
() автор топика
If TypeOf(Values[a]) = gb.Integer Then

Это какой-то ад. Ты не знаешь в своей программе какого типа у тебя переменные? :)

true_admin ★★★★★
()
Ответ на: комментарий от true_admin

После тестов производительности я понял что выполнять подстановку типов средствами runtime быстрее чем через свою собственную функцию. Поэтому и выбрал тип Variant. А Variant это универсальный тип, правда медленный ибо использует позднее связывание.

rezedent12 ☆☆☆
() автор топика
Ответ на: комментарий от rezedent12

Я ещё больший не профессионал, любитель и хэллоуворлдщик, но после бейсика синдрома утёнка не возникало, а как открыл Python - так страшно на бейсиковый код смотреть.

evilmanul ★
()

Кстати делал подобную вещицу, но функция получения значения у меня имела параметр значения по-умолчанию и добавляла новую запись, если такой не оказывалось;

ziemin ★★
()
Ответ на: комментарий от ziemin

Кстати делал подобную вещицу, но функция получения значения у меня имела параметр значения по-умолчанию и добавляла новую запись, если такой не оказывалось;

В моём случае это приведёт к тому что количество свойств у объектов начнёт лавинообразно разрастаться.

rezedent12 ☆☆☆
() автор топика
Ответ на: комментарий от rezedent12

Почему? EditValueName поменять, чтобы в случае успеха ничего не меняла, а просто найденное значение возвращала.

ziemin ★★
()
Ответ на: комментарий от rezedent12

Что такое сериализатор?

Грубо говоря, это то что сохраняет объект(ы) на диск и потом может восстановить обратно.

true_admin ★★★★★
()

Джва года жду такую игру!

vsn
()
Ответ на: комментарий от true_admin

Ну как то так. Если бы не было необходимости в сложных встроенных в игру быстрых типах такое делать бы не пришлось бы столь не очевидно. Пока определил что ID=1 будет типом холодного оружия.

rezedent12 ☆☆☆
() автор топика
Ответ на: комментарий от buddhist

Более того, это не кроссплатформенный бейсик под линукс.

Консольные приложения уже кроссплатформенны. Надеюсь QT допилят.

rezedent12 ☆☆☆
() автор топика
Ответ на: комментарий от rezedent12

Я имел в виду скопировать тело, назвать её GetValueName и немного поменять тело (возвращать найденное). Свои Get* выкини (к тому же в них косяк - если ничего не найдено вернётся неинициализированный Variant).

ziemin ★★
()
Последнее исправление: ziemin (всего исправлений: 1)
Ответ на: комментарий от rezedent12

Хорошо, а если искомого значения нет, то что возвращать кроме Null ?

Дефолтное значение, которое указывать в параметрах. Заодно и логику вынесешь непосредственно в код и от лишних проверок избавишься. Так у тебя будет одна строчка (получить значение или, например 10) против десятка (если возвращается Null, то упасть с крикомспросить у юзера «АААА не задано значение <какая-то малозначимая фигня> не задана!! Немедленно введите, не пользуясь гуглом и в любом состоянии: »)

ziemin ★★
()

Посмотри на такую штуку как Entity/Component которая в играх во всю используется. ООП в чистом виде в играх очень плохо живёт.

ranka-lee ★
()
Ответ на: комментарий от ziemin

А какое значение по умолчанию если тип свойства не определён? Хотя если подумать, можно же сделать дополнительный параметр у Get* функций.

А для выноса логики в код, я предусмотрел GameObjectDataClass как более быструю реализацию, но без внешней прозрачности.

rezedent12 ☆☆☆
() автор топика
Ответ на: комментарий от ranka-lee

ООП в чистом виде в играх очень плохо живёт.

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

rezedent12 ☆☆☆
() автор топика
Ответ на: комментарий от Miguel

Не хотел шутер. Мне вообще стратегии по нраву.

rezedent12 ☆☆☆
() автор топика
Вы не можете добавлять комментарии в эту тему: топик перемещен в архив.