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

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

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

Ответ
 
Опции темы
Старый 28.04.2012, 20:32   #16
Nikich
Бывалый
 
Регистрация: 22.12.2011
Сообщений: 844
Написано 150 полезных сообщений
(для 275 пользователей)
Ответ: Глупый вопрос.

А не геморрой ли это часом?
(Offline)
 
Ответить с цитированием
Старый 29.04.2012, 06:45   #17
Nex
Гигант индустрии
 
Аватар для Nex
 
Регистрация: 13.09.2008
Сообщений: 2,893
Написано 1,185 полезных сообщений
(для 3,298 пользователей)
Ответ: Глупый вопрос.

Это удобно если не говнокодить.
(Offline)
 
Ответить с цитированием
Старый 29.04.2012, 10:46   #18
Nikich
Бывалый
 
Регистрация: 22.12.2011
Сообщений: 844
Написано 150 полезных сообщений
(для 275 пользователей)
Ответ: Глупый вопрос.

Ну ладно, пока вроде с быстродействием проблем нету. Но вопрос про аналог Graphics 0,0 все еще актуален.
(Offline)
 
Ответить с цитированием
Старый 29.04.2012, 12:14   #19
Платон Александрович
Нуждающийся
 
Аватар для Платон Александрович
 
Регистрация: 05.10.2011
Адрес: Россия, Южно-Сахалинск
Сообщений: 66
Написано 42 полезных сообщений
(для 83 пользователей)
Ответ: Глупый вопрос.

Сообщение от Nikich Посмотреть сообщение
Но вопрос про аналог Graphics 0,0 все еще актуален.
модуль BRL.System
функции DesktopWidth и DesktopHeight
(Offline)
 
Ответить с цитированием
Эти 2 пользователя(ей) сказали Спасибо Платон Александрович за это полезное сообщение:
Nikich (29.04.2012), Жека (29.04.2012)
Старый 29.04.2012, 12:40   #20
Nikich
Бывалый
 
Регистрация: 22.12.2011
Сообщений: 844
Написано 150 полезных сообщений
(для 275 пользователей)
Ответ: Глупый вопрос.

Большое спасибо!
(Offline)
 
Ответить с цитированием
Старый 29.04.2012, 22:43   #21
Nikich
Бывалый
 
Регистрация: 22.12.2011
Сообщений: 844
Написано 150 полезных сообщений
(для 275 пользователей)
Ответ: Глупый вопрос.

Что-то с математикой в Максе. Почему-то, я не могу сделать вот так:
a=1/x
Приходится делать: a=x^-1.
Вообще деления не очень работают. a/24, пришлось изменить на a*0.04. Проблема не существенная, но интересно с чем это связано.
(Offline)
 
Ответить с цитированием
Старый 29.04.2012, 23:04   #22
NitE
злобный флудер
 
Регистрация: 10.07.2007
Сообщений: 2,585
Написано 789 полезных сообщений
(для 1,476 пользователей)
Ответ: Глупый вопрос.

Это связано с тем, что перемнные правильно объявлять надо.
a#
или
a:Float

Вроде уже говорили что тебе нужно использовать SuperStrict.
(Offline)
 
Ответить с цитированием
Старый 29.04.2012, 23:41   #23
Nikich
Бывалый
 
Регистрация: 22.12.2011
Сообщений: 844
Написано 150 полезных сообщений
(для 275 пользователей)
Ответ: Глупый вопрос.

Не-не-не, не в этом дело. Если бы было в этом, то у меня бы и умножить не работало бы.
З.Ы. флоат у меня указан, не дурак
(Offline)
 
Ответить с цитированием
Старый 29.04.2012, 23:49   #24
NitE
злобный флудер
 
Регистрация: 10.07.2007
Сообщений: 2,585
Написано 789 полезных сообщений
(для 1,476 пользователей)
Ответ: Глупый вопрос.

Работает, если одно из чисел флоат. a*0.04 - тут есть флоат, а вот a/24 тут нет.
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Nikich (30.04.2012)
Старый 30.04.2012, 08:26   #25
Жека
Дэвелопер
 
Регистрация: 04.09.2005
Адрес: Красноярск
Сообщений: 1,376
Написано 491 полезных сообщений
(для 886 пользователей)
Ответ: Глупый вопрос.

NitE имеет ввиду вот что: при работе с дробным числам надо указывать всё как флоат, для чисел это добавление точки в конце (вместо 24 писать 24.0), а для инт'овых переменных делать Float(intValue).
x# = 24
a# = 1.0/x
b% = 99
c# = a*Float(b)
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Nikich (30.04.2012)
Старый 30.04.2012, 08:38   #26
Nikich
Бывалый
 
Регистрация: 22.12.2011
Сообщений: 844
Написано 150 полезных сообщений
(для 275 пользователей)
Ответ: Глупый вопрос.

А-а-а, точно. С умножением я догадался что флоат поставить нужно, а вот про 1.0 - нет. Спасибо!
(Offline)
 
Ответить с цитированием
Старый 21.06.2013, 03:09   #27
Nikich
Бывалый
 
Регистрация: 22.12.2011
Сообщений: 844
Написано 150 полезных сообщений
(для 275 пользователей)
Ответ: Глупый вопрос.

Ребята, объясните, в чем проблема со списками.
temp:Type=new Type
List.AddLast(temp)
For temp:Type=EachIn List
tmp:Type = new Type
List.AddLast(tmp)
Next
Данный код, по сути, должен бесконечно увеличивать список. На деле же, это не работает.
Однако, если в самом начале, заполнить список двумя объектами, все будет работать.
В чем проблема и как ее исправить?
(Offline)
 
Ответить с цитированием
Старый 21.06.2013, 12:14   #28
SBJoker
Злобный Админ
 
Аватар для SBJoker
 
Регистрация: 04.09.2005
Сообщений: 5,926
Написано 3,415 полезных сообщений
(для 9,330 пользователей)
Ответ: Глупый вопрос.

Твой код ужасен, ты не понимаешь сути For-Each
Он перебирает все элементы с первого по последний, и используется восновном для выполнения однотипного действия со семи элементами списка. Но не для модифицирования списка.

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

Таким образом в конце твоего кода в списке будет два элемента.
__________________
(Offline)
 
Ответить с цитированием
Старый 21.06.2013, 12:55   #29
Nikich
Бывалый
 
Регистрация: 22.12.2011
Сообщений: 844
Написано 150 полезных сообщений
(для 275 пользователей)
Ответ: Глупый вопрос.

Он великолепно работает с новыми элементами. Если в самом начале, добавить в список не один элемент, а два - все будет работать, список будет увеличиваться и работать с новыми элементами. Но создавать по два элемента ужасно, поэтому я и прошу помощи.
(Offline)
 
Ответить с цитированием
Старый 21.06.2013, 13:21   #30
SBJoker
Злобный Админ
 
Аватар для SBJoker
 
Регистрация: 04.09.2005
Сообщений: 5,926
Написано 3,415 полезных сообщений
(для 9,330 пользователей)
Ответ: Глупый вопрос.

Как я уже написал, цикл For...Each неправильно применять для модификации итерируемого списка. Потому что вы не владеете механизмом итерирования он скрыт от вас. Хотите контроля - используйте простой For...Next.

Почему работает с двумя начальными элементами, а не работает с одним?
Вероятно алгоритм итерирования такой:
в строке For...Each берется первый элемент First и выдаётся в переменную, и тут же итератор переходит на следующий элемент. В случае если в списке 1 элемент то итератор указывает на элемент - конец списка. Добавление нового элемента происходит перед концом списка. Если два элемента, то итератор указывает на второй элемент. И новый элемент добавится после него. Что позволит снова перейти на него в следующей итерации.

В строке Next происходит сравнение итератора с концом списка, элементы совпали - цикл завершен.
__________________
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Nikich (21.06.2013)
Ответ


Опции темы

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

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


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


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