Как работать с Типами
Участников: 3
FreeBasic :: Программирование :: Общее
Страница 1 из 1
Как работать с Типами
Всем жителям форума привет!
В программировании я совсем недавно, поэтому не судите строго. До Freebasic, я работал с Blitz3D, DarkBasic Pro, GLBasic и thinBasic (один из лучших бейсиков на мой взгляд).
В общем вопрос мой в следующем: у меня есть простейший код на Blitz3D по работе с типами и мне нужно его переписать в FreeBasic код, если быть точнее меня интересует несколько строк:
В программировании я совсем недавно, поэтому не судите строго. До Freebasic, я работал с Blitz3D, DarkBasic Pro, GLBasic и thinBasic (один из лучших бейсиков на мой взгляд).
В общем вопрос мой в следующем: у меня есть простейший код на Blitz3D по работе с типами и мне нужно его переписать в FreeBasic код, если быть точнее меня интересует несколько строк:
Пример кода на Blitz3D:
- Код:
Type Monstr ; Создаю тип Monstr
Field number ; Создаю в списке элемент number (номер)
End Type
; Дальше создаю 10 объектов типа Monstr и присваиваю им номера
For i=0 to 10
enemy.Monstr = New Monstr
enemy\number = i
Next
; А теперь, собственно то, что меня больше всего интересует
; Как во FreeBasic обращаться ко всем элементам одного типа???
For enemy.Monstr = Each Monstr
enemy\number = enemy\number +1
Next
End
В общем во FreeBasic мне нужна команда, являющаяся аналогом команды "For enemy.Monstr = Each Monstr". Если кто знает отзовитесь. Заранее благодарю.
Bagamut- Сообщения : 10
Дата регистрации : 2010-05-14
Возраст : 34
Откуда : Мурманск
Re: Как работать с Типами
вроде как-то так:
- Код:
Type Monster ' Тип Monster
Dim Number as uinteger
Dim NextMonster as Monster Ptr 'Создаем указатель на следующий объект
Declare constructor () ' Объявление конструктора объекта
End Type
constructor Monster()
NextMonster=0
/'благодря этому,при появлении нового объекта
NextMonster всегда будет равен нулю
'/
End Constructor
dim FirstMonster as Monster ptr =New Monster 'создаем первый объект и получаем ссылку на него
Enemy.Monster= FirstMonster /' это для счетчика, потому, что после первого цикла указатель
на первый элемент списка не сохранится
'/
for i=0 to 10
Enemy.Monster->Number =i
/'присваиваем номер; если Enemy.monster - указатель на объект, то
к полям обращаемся через "->", иначе через "."'/
Enemy.Monster->NextMonster=New Monster
/'создаем новый объект; указатель на него,помещаем в NextMonster,
таким образом мы сможем пройти по списку'/
Enemy.Monster= Enemy.Monster->NextMonster
next
do
FirstMonster->Number+=1 'увеличиваем номер
FirstMonster= FirstMonster->NextMonster ' идем дальше по списку
loop while FirstMonster 'делать пока есть указатели на объекты, иначе в FirstMonster ноль и происходит выход из цикла
Re: Как работать с Типами
Саня пишет:вроде как-то так:
- Код:
Type Monster ' Тип Monster
Dim Number as uinteger
Dim NextMonster as Monster Ptr 'Создаем указатель на следующий объект
Declare constructor () ' Объявление конструктора объекта
End Type
constructor Monster()
NextMonster=0
/'благодря этому,при появлении нового объекта
NextMonster всегда будет равен нулю
'/
End Constructor
dim FirstMonster as Monster ptr =New Monster 'создаем первый объект и получаем ссылку на него
Enemy.Monster= FirstMonster /' это для счетчика, потому, что после первого цикла указатель
на первый элемент списка не сохранится
'/
for i=0 to 10
Enemy.Monster->Number =i
/'присваиваем номер; если Enemy.monster - указатель на объект, то
к полям обращаемся через "->", иначе через "."'/
Enemy.Monster->NextMonster=New Monster
/'создаем новый объект; указатель на него,помещаем в NextMonster,
таким образом мы сможем пройти по списку'/
Enemy.Monster= Enemy.Monster->NextMonster
next
do
FirstMonster->Number+=1 'увеличиваем номер
FirstMonster= FirstMonster->NextMonster ' идем дальше по списку
loop while FirstMonster 'делать пока есть указатели на объекты, иначе в FirstMonster ноль и происходит выход из цикла
Да на FreeBasic по сложнее будет, чем на Blitz3D, но в принципе не очень. Попробую этот способ в связке с Ninfa3D Engine. Спасибо за пример.
Тема открыта, если есть более простые способы обращаться к элементам типа, жду предложений.
Тема открыта, если есть более простые способы обращаться к элементам типа, жду предложений.
Bagamut- Сообщения : 10
Дата регистрации : 2010-05-14
Возраст : 34
Откуда : Мурманск
Re: Как работать с Типами
Я тоже с Блица на бейсик перейти пытаюсь. С нинфой пока не получилось, там камера недоделана.
Vicmad- Сообщения : 14
Дата регистрации : 2010-01-08
FreeBasic :: Программирование :: Общее
Страница 1 из 1
Права доступа к этому форуму:
Вы не можете отвечать на сообщения
|
|