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

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

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

2D-программирование Вопросы, касающиеся двумерного программирования

Закрытая тема
 
Опции темы
Старый 21.07.2006, 15:14   #1
SubZer0
Администратор
 
Аватар для SubZer0
 
Регистрация: 03.09.2005
Сообщений: 2,408
Написано 301 полезных сообщений
(для 996 пользователей)
Лампочка ООП?

Вот спорим мы ужо мнооого времени... каждый наберет себе по кучке доказательств подтверждающих его теорию и пытается доказать свою правоту... но все забывают о копмпромисном решении... когда можно юзать и возможности ООП и возможности линейной программы...

так... к чему я это все веду... нашел прямое доказательство отсутствия ООП в Блитц, хотя это может быть просто глюком или я неправильно ченить юзаю...

код:
Type ft
 Field tf%
End Type

Type st
 Field tf%
 Field tf1.ft
End Type



SecondType.st=New st

For i=1 To 5 
 SecondType\tf1.ft=New ft
 SecondType\tf1\tf%=5
Next

SecondType.st=New st

For i=1 To 5 
 SecondType\tf1.ft=New ft
 SecondType\tf1\tf%=10
Next



For SecondType.st=Each st
 For SecondType\tf1.ft=Each ft
  Print SecondType\tf1\tf%
 Next
 Print 
 Print
Next

WaitKey()
идея:

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



SecondType.st=New st

For i=1 To 5 
 SecondType\tf1.ft=New ft
 SecondType\tf1\tf%=5
Next
создаем элемент в массиве SecondType и в нем создаем еще динамический массив tf1 и создаем во втором 5 элементов и пишем туда значения 5



SecondType.st=New st

For i=1 To 5 
 SecondType\tf1.ft=New ft
 SecondType\tf1\tf%=10
Next
повторяем процедуру... только теперь пишем значение 10 (для отличия)



теперь теоретически должно быть один массив SecondType с двумя элементами, и два массива tf1 в каждом по 5 элементов, и из каждого элемента массива SecondType можно получить доступ к "вложенному" массиву tf1 и прочитать его значение...



пробуем читать:
For SecondType.st=Each st
 For SecondType\tf1.ft=Each ft
  Print SecondType\tf1\tf%
 Next
 Print 
 Print
Next
обычно такие весчи читаются вложенными циклами... теоретически на экране должно быть два столбца по 5 строчек в каждом и сперва 5 пятерок а потом 5 десяток

но не тут то все было, на самом деле блиц не создает вложенных типов, а вместо этого создает два параллельных типа... таким образом у нас два массива: SecondType с двумя элементами и tf1 с 10 элементами... причем из каждого элемента SecondType можно получить доступ ко всему массиву tf1 (можно было бы сделать разграничение... записали бы какоенить id туда и проверяли бы потом откуда это всё, но не сделали)

ну и что это за ООП, спрошу я всех, которые отстаивали ООП теорию в блице?
__________________
Как минимум я помог многим (с)
(Offline)
 
Старый 21.07.2006, 16:58   #2
НУБ
Бывалый
 
Регистрация: 22.09.2005
Сообщений: 634
Написано 36 полезных сообщений
(для 102 пользователей)
Re: ООП?

Какой ещё ООП в блице, откуда там ему взяться?
А наличие структур - это не ООП
Или я не правильно понял предмет разговора?
(Offline)
 
Старый 21.07.2006, 17:42   #3
impersonalis
Зануда с интернетом
 
Аватар для impersonalis
 
Регистрация: 04.09.2005
Сообщений: 14,014
Написано 6,798 полезных сообщений
(для 20,935 пользователей)
Злость Re: ООП?


В хелп! http://boolean.name/showthread.php?t=10
Не знаю, что тов. SubZer0 называет "нормальный язык программирования", но точно знаю, что тот же С++ с таким подходом (пустое растранжирование адресов структур в никуда) - и того бы, что тебе B3D не вывел.
С таким же успехом.
Можно написать:
local a
for i=1 to 100
 a=rand(1,1000)
next

for i=1 to 100
 print a
next
И искренне удивиться тому, что на экран будет выведено одно и то же число 100 раз

Я, конечно, оценил полёт мысли и слабые попытки реализовать связанный список на б3д , но только делается он на всех
нормальных языках программирования
по-другому

или я неправильно ченить юзаю...
единственное что меня порадовало в этом посте

Да - ну и Ньюб конечно же прав.
__________________
http://nabatchikov.com
Мир нужно делать лучше и чище. Иначе, зачем мы живем? tormoz
А я растила сына на преданьях
о принцах, троллях, потайных свиданьях,
погонях, похищениях невест.
Да кто же знал, что сказка душу съест?
(Offline)
 
Старый 21.07.2006, 17:45   #4
impersonalis
Зануда с интернетом
 
Аватар для impersonalis
 
Регистрация: 04.09.2005
Сообщений: 14,014
Написано 6,798 полезных сообщений
(для 20,935 пользователей)
Re: ООП?

Дальнейшее обсасывание не понятно какой пробелмы считаю бессмысленным и потенциальным разжиганием холивара, а потому - close
__________________
http://nabatchikov.com
Мир нужно делать лучше и чище. Иначе, зачем мы живем? tormoz
А я растила сына на преданьях
о принцах, троллях, потайных свиданьях,
погонях, похищениях невест.
Да кто же знал, что сказка душу съест?
(Offline)
 
Старый 21.07.2006, 18:56   #5
SubZer0
Администратор
 
Аватар для SubZer0
 
Регистрация: 03.09.2005
Сообщений: 2,408
Написано 301 полезных сообщений
(для 996 пользователей)
Плохо Re: ООП?

Хммм... кроме излишних эмоций я не увидел ничего конкретного... (хотя я ничего увидеть и не ожидал... оно всегда так...

хммм смотрю наш форум начал превращаться во чтото подобное, где всех куданить посылают...

покажи мне где там написано как правильно юзаются типы в типах... плиз...

люблю когда меня посылают туда где есть куча другого но то что мне надо не написано.

Какой ещё ООП в блице, откуда там ему взяться?
И я всем про это тоже... но просто люди изрядно покодив в С++, применяют свой опыт и здесь... юзая Функции - обсирая ГоТо, юзая динамичные Списки - обсирая Массивы... было чисто иронически подмечено


Imp, не надо столько зла, а то как будто в самое больное место укусил... просто у меня была проблема с массивами в массивах... и если ее нельзя решить документированными средствами блица потому что он глючит, то это еще не повод злиться

из этого случая можно было бы целый пост в FAQ сделать... чтоб никто больше не споткнулся...

хммм... мне нравится наш ресурс... не зря мы тут горбатимся...
__________________
Как минимум я помог многим (с)
(Offline)
 
Старый 28.07.2006, 00:33   #6
SubZer0
Администратор
 
Аватар для SubZer0
 
Регистрация: 03.09.2005
Сообщений: 2,408
Написано 301 полезных сообщений
(для 996 пользователей)
Re: ООП?

все кто попали в эту тему идем сюда, тут все описано
__________________
Как минимум я помог многим (с)
(Offline)
 
Закрытая тема


Опции темы

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

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


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


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