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

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

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

Ответ
 
Опции темы
Старый 22.07.2013, 16:11   #1
ant0N
Бывалый
 
Аватар для ant0N
 
Регистрация: 10.06.2011
Адрес: В горах
Сообщений: 849
Написано 331 полезных сообщений
(для 853 пользователей)
функции

Привет всем!
у меня есть тип с методами и функциями:
Type Ololo Extend Trololo
   field r

   method update()
      'тут всякие вычисления, от них зависит 
      ' result будет ложным или правдивым
   end method

   function CreateOlolo:Ololo(result:boolean)
      local o:Ololo = new Ololo
      o.r = result
      ....
      return o
   end function
end type
как сделать так, чтобы можно было передавать в фу-ю значение, и после обработки функция бы возвращала бы его как: result = true или result = false?
Ololo.CreateOlolo(blablabla:Boolean)
xText(0,0,blablabla) ' должно быть true или false
__________________
Абсолютли!
(Offline)
 
Ответить с цитированием
Старый 22.07.2013, 16:15   #2
Reizel
Задрот
 
Аватар для Reizel
 
Регистрация: 24.07.2009
Адрес: Ивановская область, г. Кинешма
Сообщений: 1,574
Написано 407 полезных сообщений
(для 863 пользователей)
Ответ: функции

int ptr кури
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
ant0N (22.07.2013)
Старый 22.07.2013, 17:00   #3
ant0N
Бывалый
 
Аватар для ant0N
 
Регистрация: 10.06.2011
Адрес: В горах
Сообщений: 849
Написано 331 полезных сообщений
(для 853 пользователей)
Ответ: функции

покурил. Не помогло....
Можно немного подробнее?
__________________
Абсолютли!
(Offline)
 
Ответить с цитированием
Старый 22.07.2013, 17:05   #4
Nex
Гигант индустрии
 
Аватар для Nex
 
Регистрация: 13.09.2008
Сообщений: 2,893
Написано 1,185 полезных сообщений
(для 3,298 пользователей)
Ответ: функции

К примеру так можно если таких объектов не много.

Type Ololo Extend Trololo
   field r

   method update()
      'тут всякие вычисления, от них зависит 
      ' result будет ложным или правдивым
   end method

   function CreateOlolo:Ololo(result:boolean)
      local o:Ololo = new Ololo
      o.r = result
      ....
      return o
   end function
end type
bla = CreateOlolo(blablabla:Boolean)
xText(0,0,bla.r) ' должно быть true или false
Если много, то сделать еще одну проверочную переменную и церез цикл проверять.
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
ant0N (22.07.2013)
Старый 22.07.2013, 17:20   #5
ant0N
Бывалый
 
Аватар для ant0N
 
Регистрация: 10.06.2011
Адрес: В горах
Сообщений: 849
Написано 331 полезных сообщений
(для 853 пользователей)
Ответ: функции

Nex, так пробовал... выдает 1, причем с каждым вызовом этой фу-ии, увеличивается на единицу
__________________
Абсолютли!
(Offline)
 
Ответить с цитированием
Старый 22.07.2013, 17:24   #6
ant0N
Бывалый
 
Аватар для ant0N
 
Регистрация: 10.06.2011
Адрес: В горах
Сообщений: 849
Написано 331 полезных сообщений
(для 853 пользователей)
Ответ: функции

только я делал так
bla = CreateOlolo(blablabla:Boolean)
xText(0,0,bla)
А как ты предложил вообще ошибку выдает
__________________
Абсолютли!
(Offline)
 
Ответить с цитированием
Старый 22.07.2013, 17:29   #7
Nex
Гигант индустрии
 
Аватар для Nex
 
Регистрация: 13.09.2008
Сообщений: 2,893
Написано 1,185 полезных сообщений
(для 3,298 пользователей)
Ответ: функции

Значит что то не то делаешь.
bla = CreateOlolo(blablabla:Boolean) - содержит номер элемента.
bla.r - получаем доступ в нужному элементу и его параметру.
В функции Update () делай что тебе надо и присваивай полученный результат к переменной "r" типа r = vichislenie. И еще если вычисления не нужно делать постоянно, то можно высчитывать сразу в функции создания.
(Offline)
 
Ответить с цитированием
Старый 22.07.2013, 17:43   #8
Nex
Гигант индустрии
 
Аватар для Nex
 
Регистрация: 13.09.2008
Сообщений: 2,893
Написано 1,185 полезных сообщений
(для 3,298 пользователей)
Ответ: функции

А не. Че то у меня тоже не работает хотя должно работать.
(Offline)
 
Ответить с цитированием
Старый 22.07.2013, 17:53   #9
ant0N
Бывалый
 
Аватар для ant0N
 
Регистрация: 10.06.2011
Адрес: В горах
Сообщений: 849
Написано 331 полезных сообщений
(для 853 пользователей)
Ответ: функции

в общем объясню что за фун-я у меня.
Она поочередно выводит название клавиш, если успеваешь нажать на эти клавиши, то мне нужно как-то запустить другу функцию.
__________________
Абсолютли!
(Offline)
 
Ответить с цитированием
Старый 23.07.2013, 11:38   #10
ant0N
Бывалый
 
Аватар для ant0N
 
Регистрация: 10.06.2011
Адрес: В горах
Сообщений: 849
Написано 331 полезных сообщений
(для 853 пользователей)
Ответ: функции

вопрос закрыт, разобрался сам. (сделал через жопу, зато работает)
__________________
Абсолютли!
(Offline)
 
Ответить с цитированием
Старый 23.07.2013, 12:10   #11
Reizel
Задрот
 
Аватар для Reizel
 
Регистрация: 24.07.2009
Адрес: Ивановская область, г. Кинешма
Сообщений: 1,574
Написано 407 полезных сообщений
(для 863 пользователей)
Ответ: функции

стой, стой
Ща, я совсем забыл про твою тему. Сейчас..

Type Ololo 
   Field r:Byte Ptr

   Method update()
      'тут всякие вычисления, от них зависит 
      ' result будет ложным или правдивым

	Self.r[0] = Rand(0,1)
   End Method

   Function CreateOlolo:Ololo(result:Byte Ptr)
      Local o:Ololo = New Ololo
      o.r = result
      Return o
   End Function
End Type

Local blablabla:Byte
Local o:ololo = Ololo.CreateOlolo(Varptr blablabla)

While True
	Print blablabla
	o.update()
	Delay(1000)
Wend
твои объекты Ololo запоминают указатель на внешнюю переменную, и могут делать с ней чо угодно
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
ant0N (23.07.2013)
Старый 23.07.2013, 12:47   #12
ant0N
Бывалый
 
Аватар для ant0N
 
Регистрация: 10.06.2011
Адрес: В горах
Сообщений: 849
Написано 331 полезных сообщений
(для 853 пользователей)
Ответ: функции

Reizel, благодарствую! попробую и потом отпишусь
__________________
Абсолютли!
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

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

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


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


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