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 ☆☆☆
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.