Понедельник, 11 Ноября 2024, 09:21

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Массив записей.
CmaujlukДата: Среда, 28 Января 2015, 02:43 | Сообщение # 1
участник
Сейчас нет на сайте
Всем привет.
При работе с проектом появилась надобность в использовании так называемом массиве записей, но проблема в том что я не знаю как это реализуется на gms и решил спросить у вас.
Выглядит это дело примерно так
tmp=
{
name='name'
age=0
sex='?'
}
И массив box типа tmp
В итоге у нас получится что-то вроде
box[i].name='Lana'
box[i].age='21'
box[i].sex='f'
и т.д. написано не на гмл, но думаю суть понятна, подскажет кто как реализовать?


Не жадный на плюсы.
Наши проекты:
Clicker Mine Mania 2 - Увлекательный кликер в стиле Minecraft
Angry Bee Evolution - Эволюция с элементами кликера
Чего не хватает? - Викторина на логику"


Сообщение отредактировал Cmaujluk - Среда, 28 Января 2015, 02:44
aFriendДата: Среда, 28 Января 2015, 09:16 | Сообщение # 2
участник
Сейчас нет на сайте
Двойные массивы в помощь string[i1,i2]

Реализовать можно как-нибудь так

Код
name = 0
age = 1
sex = 2

box[i,name] = "Lana"
box[i,age] = "21"
box[i,sex] = "f"


Сообщение отредактировал aFriend - Среда, 28 Января 2015, 09:17
Fill_FreemanДата: Среда, 28 Января 2015, 12:29 | Сообщение # 3
почетный гость
Сейчас нет на сайте
Cmaujluk, Не уверен, что будет работать, но идея такая. Сделать массив map (ds_create_map). Что-то вроде такого (в синтаксисе могу ошибиться):

box[i] = ds_map_create()
ds_map_add(box[i], "name", value);
ds_map_add(box[i], "age", value);
ds_map_add(box[i], "sex", value);

Есть соменения в том, что в качетве map id подойдет элемент массива.


OpenGOOДата: Среда, 28 Января 2015, 13:35 | Сообщение # 4
почти ветеран
Сейчас нет на сайте
Чуть видоизмененный пример как у aFriend

enum TMP { name, age, sex }
...
box[TMP.name,i] = "Hero";
box[TMP.age,i] = 10 ;
box[TMP.sex,i] = 'm';

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

К сожалению структур в GML нет, что причиняет неудобства.


Мои проекты:
- Свободный и открытый клон World Of Goo
- TrueEngine2D (2D игровой фреймворк основанный на FreeBASIC)

[GameMaker: Studio v1.4.9999]
CmaujlukДата: Среда, 28 Января 2015, 21:11 | Сообщение # 5
участник
Сейчас нет на сайте
Цитата Fill_Freeman ()
Есть соменения в том, что в качетве map id подойдет элемент массива.

Спасибо. Все работает!
Остальные способы к сожалению не подошли


Не жадный на плюсы.
Наши проекты:
Clicker Mine Mania 2 - Увлекательный кликер в стиле Minecraft
Angry Bee Evolution - Эволюция с элементами кликера
Чего не хватает? - Викторина на логику"
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг