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

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

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

Ответ
 
Опции темы
Старый 06.12.2010, 22:44   #16
SergSS
AnyKey`щик
 
Регистрация: 05.12.2010
Сообщений: 10
Написано 0 полезных сообщений
(для 0 пользователей)
Ответ: Нужна функция для работы с массивами.

знаю про goto у нее свои функции)) хотя в ассемблере вез нее никак)) но тут она чисто для теста была введена и по сути не нужна.
а в рефреше, когда он смотрит принадлежит ли этот элемент типа сумке "If b\items[0]=id_box[0]"(За это отвечает первый элемент каждого из массивов, типа id) он видит почему-то только первую и затем заканчивает обновление.
(Offline)
 
Ответить с цитированием
Старый 06.12.2010, 23:07   #17
Crayzi
ПроЭктировщик
 
Регистрация: 26.06.2007
Сообщений: 194
Написано 21 полезных сообщений
(для 25 пользователей)
Ответ: Нужна функция для работы с массивами.

Сообщение от SergSS Посмотреть сообщение
знаю про goto у нее свои функции)) хотя в ассемблере вез нее никак)) но тут она чисто для теста была введена и по сути не нужна.
а в рефреше, когда он смотрит принадлежит ли этот элемент типа сумке "If b\items[0]=id_box[0]"(За это отвечает первый элемент каждого из массивов, типа id) он видит почему-то только первую и затем заканчивает обновление.
Ппц у тя там намучено Блин, а зачем тебе передавать все данные из сумки сумке? Или это не так? Я вижу что тут чтото не так, но просто никак понять не могу что именно не так как ты хочеш...
А насчет того что видит только первую, впиши туда сначала
For b.box =Each box																												; zdes` pervyj element peredannogo massiva
		Print b\items[0]
		If b\items[0]=id_box[0]																											;propisyvaets`a kak nomer sumki
			Return b\items[take_num]																	;owibka tut, no gde imenno - ne pojmu
			;Goto nekst
		EndIf
				Return id_box[take_num]
	Next
.nekst
а потом
	For b.box =Each box																												; zdes` pervyj element peredannogo massiva
		Print id_box[0]
		If b\items[0]=id_box[0]																											;propisyvaets`a kak nomer sumki
			Return b\items[take_num]																	;owibka tut, no gde imenno - ne pojmu
			;Goto nekst
		EndIf
				Return id_box[take_num]
	Next
.nekst
и присмотрись к дикой строчке циферок.
П.с. Я бы наверное по другому все это делал, мне както с типами и одномерными массивами роднее работать..


Минут 15 спустя...
Вообще, какие действия ты хочеш чтобы происходили с инвентарем.
Я так понимаю чтобы можно было перемещать там предметы, выкидывать их. Чтобы после закрытия и открытия интентаря они были: а) в дефолтных местах, б) чтобы они были в тех же местах в каких при закрытии, в) чтобы ничего не было, г) иной вариант.
(Offline)
 
Ответить с цитированием
Старый 23.12.2010, 20:10   #18
Crayzi
ПроЭктировщик
 
Регистрация: 26.06.2007
Сообщений: 194
Написано 21 полезных сообщений
(для 25 пользователей)
Ответ: Нужна функция для работы с массивами.

Есть вариант сделать так как ты хочеш, для этого надо:
Type Massives
   Field MassName$;Здесь будет хранится имя массива.
   Field Mass%[2];Здесь задаеш собственно свой массив.
End Type
;Создадим первый массив с именем "Massive001".
Ms.Massiveso=New Massives
Ms\MassName$="Massive001"
Ms\Mass[0]=1
Ms\Mass[1]=55
Ms\Mass[2]=33
;Создадим второй массив с именем "Massive002".
Ms.Massiveso=New Massives
Ms\MassName$="Massive002"
Ms\Mass[0]=11
Ms\Mass[1]=23
Ms\Mass[2]=42
;тут остальной твой код... цикл и т. д.
;..................................
;..................................
;..................................
;Вот собственно функция работы с массивами:
Function RabMass(MassName1$,MassName2$,Aktion%=0,ParamMass1%=0,ParamMass2%=0)
   For o.Massives = Each Massives
      If o\MassName$=MassName1$
         For t.Massives = Each Massives
            If t\MassName$=MassName2$
               Select Aktion%
                  Case 0
;.....................................
                  Case 1
;......................................
               End Select
            EndIf
         Next
      EndIf
   Next
End function
Все написано в браузере, так что могут быть опечатки))) Но общий смысл я изложил.
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
SergSS (24.12.2010)
Старый 24.12.2010, 23:21   #19
SergSS
AnyKey`щик
 
Регистрация: 05.12.2010
Сообщений: 10
Написано 0 полезных сообщений
(для 0 пользователей)
Ответ: Нужна функция для работы с массивами.

Спасибо за ответ! Попозже посмотрю твой вариант, но там собственно нашел ошибку и как от нее избавиться! вродь все отл работает)
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

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

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


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


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