Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для компьютеров > Xors3D

Xors3D Графический движок с поддержкой DirectX9

Ответ
 
Опции темы
Старый 13.01.2010, 01:40   #1
firstvirus
Оператор ЭВМ
 
Регистрация: 13.01.2010
Сообщений: 35
Написано 3 полезных сообщений
(для 4 пользователей)
Радость хедер для блица

Разбираю хедер для блица. Вопрос такой: запись в списке
Type Vector4D
Field x# = 0.0, y# = 0.0, z# = 0.0, w# = 1.0
End Type
будет одна или несколько?
Мне это нужно для переписания хедера для одного умершего языка
(Offline)
 
Ответить с цитированием
Старый 13.01.2010, 01:43   #2
moka
.
 
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений
(для 6,863 пользователей)
Ответ: хедер для блица

Не удалось по сути понять вопроса.
Что такое "будет одна или несколько"?
(Offline)
 
Ответить с цитированием
Старый 13.01.2010, 01:45   #3
firstvirus
Оператор ЭВМ
 
Регистрация: 13.01.2010
Сообщений: 35
Написано 3 полезных сообщений
(для 4 пользователей)
Ответ: хедер для блица

а как ты понимаешь одну запись в списке или несколько записей в списке?
(Offline)
 
Ответить с цитированием
Старый 13.01.2010, 01:49   #4
moka
.
 
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений
(для 6,863 пользователей)
Ответ: хедер для блица

Field x# = 0.0, y# = 0.0, z# = 0.0, w# = 1.0
то же самое что и:
Field x# = 0.0
Field y# = 0.0
Field z# = 0.0
Field w# = 1.0

Это ты имел ввиду?
(Offline)
 
Ответить с цитированием
Старый 13.01.2010, 02:18   #5
firstvirus
Оператор ЭВМ
 
Регистрация: 13.01.2010
Сообщений: 35
Написано 3 полезных сообщений
(для 4 пользователей)
Ответ: хедер для блица

Я имел ввиду ЗАПИСЬ а не ПОЛЯ
field blablabla - поле
zapis.Vector4D = new Vector4D - создание записи
(Offline)
 
Ответить с цитированием
Старый 13.01.2010, 02:28   #6
Randomize
[object Object]
 
Аватар для Randomize
 
Регистрация: 01.08.2008
Адрес: В России
Сообщений: 4,355
Написано 2,471 полезных сообщений
(для 6,852 пользователей)
Ответ: хедер для блица

Вопрос всёравно не ясен :/
Что за язык?
__________________
Retry, Abort, Ignore? █
Intel Core i7-9700 4.70 Ghz; 64Gb; Nvidia RTX 3070
AMD Ryzen 7 3800X 4.3Ghz; 64Gb; Nvidia 1070Ti
AMD Ryzen 7 1700X 3.4Ghz; 8Gb; AMD RX 570
AMD Athlon II 2.6Ghz; 8Gb; Nvidia GTX 750 Ti
(Offline)
 
Ответить с цитированием
Старый 13.01.2010, 02:42   #7
firstvirus
Оператор ЭВМ
 
Регистрация: 13.01.2010
Сообщений: 35
Написано 3 полезных сообщений
(для 4 пользователей)
Ответ: хедер для блица

Какая разница какой язык? Мне интересно узнать про использование данного списка. Будет ли одна запись в нем или нет? Я думаю разрабы то уж мну поймут?
(Offline)
 
Ответить с цитированием
Старый 13.01.2010, 03:36   #8
moka
.
 
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений
(для 6,863 пользователей)
Ответ: хедер для блица

Блиц - это вообще "язык", по сути выглядит как типы. А за занавесом, много разных процессов и т.п.
Как я понимаю, создавая элемент, объявляется памяти ровно на все переменные, неважно, назначены они или нет. И плюс в блице, т.к. списки и типы - это одно целое. То ещё будет память под саму ссылку на участок переменных элемента, ссылку на прошлый и предыдущие элементы, для перебора.
А так по сути не совсем осведомлён как работают в плане памяти типы в блице.
Возьми ОЗУ счётчик, и замерь
(Offline)
 
Ответить с цитированием
Старый 13.01.2010, 03:42   #9
Randomize
[object Object]
 
Аватар для Randomize
 
Регистрация: 01.08.2008
Адрес: В России
Сообщений: 4,355
Написано 2,471 полезных сообщений
(для 6,852 пользователей)
Ответ: хедер для блица

Ясно, вроде понял, что требуется.
Тип в Blitz3D создаётся одновременно с листом (списком).

Структура B3D Type в BlitzMax:
Type TBBType
	Field _list:TList
	Field _link:TLink

	Method Add(t:TList)
		_list=t
		_link=_list.AddLast(self)
	End Method

	Method InsertBefore(t:TBBType)
		_link.Remove
		_link=_list.InsertBeforeLink(self,t._link)
	End Method

	Method InsertAfter(t:TBBType)
		_link.Remove
		_link=_list.InsertAfterLink(self,t._link)
	End Method

	Method Remove()
		_list.remove self
	End Method

EndType

Function DeleteLast(t:TBBType)
	if t TBBType(t._list.Last()).Remove()
EndFunction

Function DeleteFirst(t:TBBType)
	if t TBBType(t._list.First()).Remove()
EndFunction

Function DeleteEach(t:TBBType)
	if t t._list.Clear()
EndFunction

Function HandleToObject:Object(obj:Object)
	Return obj
EndFunction

Function HandleFromObject(obj:Object)
	Local h=HandleToObject(obj)
	Return h
EndFunction
Из исходника видно, что тип в B3D состоит из ссылки на обьект(TLink)
и листа (TList). При создании нового экземпляра нужного нам типа он сразу заносится в лист предназначеный для данного типа.
Дополнительные поля (Field) добавляем используя наследование.


Ссылки на обьекты хрянятся в листе.
У обьектов есть лист, который хранит ссылки на обьекты-поля.
Дык всётаки на какой язык нужно перебросить код?
На фортран чтоли? Я не понимаю.
__________________
Retry, Abort, Ignore? █
Intel Core i7-9700 4.70 Ghz; 64Gb; Nvidia RTX 3070
AMD Ryzen 7 3800X 4.3Ghz; 64Gb; Nvidia 1070Ti
AMD Ryzen 7 1700X 3.4Ghz; 8Gb; AMD RX 570
AMD Athlon II 2.6Ghz; 8Gb; Nvidia GTX 750 Ti
(Offline)
 
Ответить с цитированием
Старый 13.01.2010, 03:55   #10
firstvirus
Оператор ЭВМ
 
Регистрация: 13.01.2010
Сообщений: 35
Написано 3 полезных сообщений
(для 4 пользователей)
Ответ: хедер для блица

type
TVector4D = record
end;

ничто не напоминает?
Чтож тогда придется делать так как я боялся :/
Всем спасибо, тему можно закрывать.
(Offline)
 
Ответить с цитированием
Старый 13.01.2010, 11:13   #11
Katenok
 
Сообщений: n/a
Ответ: хедер для блица

Я конечно может ошибаюсь... Но это ты случайно не на Turbo Pascal это переводишь? что то очень уж структура похожа....
 
Ответить с цитированием
Старый 13.01.2010, 12:27   #12
jimon
 
Сообщений: n/a
Ответ: хедер для блица

firstvirus
ясень фиг что один объект записи, мы же поля для одного типа указываем
 
Ответить с цитированием
Ответ


Опции темы

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +4, время: 08:21.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com