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

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

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

Ответ
 
Опции темы
Старый 16.12.2007, 22:19   #1
AndruXa
Знающий
 
Регистрация: 10.09.2007
Сообщений: 262
Написано 6 полезных сообщений
(для 8 пользователей)
Счастье Синтаксис в блице

Вопрос вобщем-то адресован Diplomaty, который частенько утверждает, что я не знаю синтаксис. Вы спросите, почему я не задал его в личку, да потомучто большинство новичков с этим сталкиваются, и им это тоже будет полезно. Так вот, я так задумался а ведь действительно синтаксис-то у меня хромает, вследствие с этим у меня появился ряд вопросов:
1)Чем чревато использование большого количества глобала
2)Какое количество условий лучше использовать при написании проги, как можно меньше, или блицу без разницы, ато зачастую у меня 80% кода - это условия
3)Ну и прямой вопрос по условиям: вот 2 случая, оба работают, но какой все-таки будет грамотней, и какая разница между ними?
If ... Then
If... 
...
Endif
EndIf
If ... 
If... 
...
Endif
EndIf
(Offline)
 
Ответить с цитированием
Старый 16.12.2007, 22:27   #2
Bagration
Знающий
 
Регистрация: 06.10.2007
Сообщений: 225
Написано 15 полезных сообщений
(для 21 пользователей)
Re: Синтаксис в блице

Сообщение от AndruXa
If ... Then
If... 
...
Endif
EndIf
If ... 
If... 
...
Endif
EndIf
If a=1 then
Deistvie1
If b=2 then
Deistvie2
End If
End If
старайся делать табы, легче будет понять какое условие куда входит.
(Offline)
 
Ответить с цитированием
Старый 16.12.2007, 22:32   #3
AndruXa
Знающий
 
Регистрация: 10.09.2007
Сообщений: 262
Написано 6 полезных сообщений
(для 8 пользователей)
Re: Синтаксис в блице

старайся делать табы, легче будет понять какое условие куда входит.
Тоесть разница лишь в удобстве?
(Offline)
 
Ответить с цитированием
Старый 16.12.2007, 22:51   #4
Diplomat
Дэвелопер
 
Регистрация: 07.09.2005
Сообщений: 1,519
Написано 66 полезных сообщений
(для 164 пользователей)
Re: Синтаксис в блице

1)Чем чревато использование большого количества глобала
Тормозами. Если ты создашь 5к глобальных переменных- результат будет заметен.
2)Какое количество условий лучше использовать при написании проги, как можно меньше, или блицу без разницы, ато зачастую у меня 80% кода - это условия
"Я всё понял. Это неправильные пчёлы. И они делают неправильный код"(с).
80% кода НЕ МОЖЕТ состоять из ветвлений IF...THEN. Если 80% кода- это ветвления, значит тебе за одну парту с Кристаллом.
Само же ветвление IF...THEN выполняется как правило очень быстро.
Тоесть разница лишь в удобстве?
Выйди летом на улицу голым. Что в одежде, что без нее- совсем не холодно. Разве что кошелек без наличия одежды и карманов носить неудобно.
То есть разница лишь в удобстве? (с)

Хотя, пример не точный, аналогия фальшива. Если ты не будешь использовать комментарии, недописывать операторы, злоупотреблять безусловными переходами и не соблюдать общепринятые для конкретного языка правила - это будет не просто неудобно. Код будет попросту нечитаем. Никто, кроме тебя, не сможет с ним работать, а сам ты забудешь его назначение через пару месяцев. В результате, как программист ты будешь неприменим и оттого- никому не нужен.
"Если ты умеешь писать программный код- ты можешь создать нечто, что понравится твоей маме. Если ты умеешь читать чужой программный код и писать свой так, чтоб его могли читать другие- ты можешь считать себя программистом"(с).
(Offline)
 
Ответить с цитированием
Старый 16.12.2007, 23:19   #5
jimon
 
Сообщений: n/a
Re: Синтаксис в блице

Diplomat
если я пишу коментарии в коде только там где явно мутное место
то это плохо или нет ?
 
Ответить с цитированием
Старый 16.12.2007, 23:25   #6
Diplomat
Дэвелопер
 
Регистрация: 07.09.2005
Сообщений: 1,519
Написано 66 полезных сообщений
(для 164 пользователей)
Re: Синтаксис в блице

если я пишу коментарии в коде только там где явно мутное место
то это плохо или нет ?
Не знаю, я тоже так делаю. ))
(Offline)
 
Ответить с цитированием
Старый 16.12.2007, 23:54   #7
ABTOMAT
Ференька
 
Аватар для ABTOMAT
 
Регистрация: 26.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,741
Написано 5,461 полезных сообщений
(для 15,675 пользователей)
Плохо Re: Синтаксис в блице

Сообщение от jimon
Diplomat
если я пишу коментарии в коде только там где явно мутное место
то это плохо или нет ?
А я наоборот пишу камменты вообще везде. Делаю, вообще, так:
сначала в каменатх излагаю что я хочу сделать, потом пишу строчку(и) кода, где делается то, что написано в каменте. Зато сразу понятно, какая строка что делает, а если место совсем мутное, то подробно тоже поясняю как я его собираюсь преодолеть. Хотя, говорят, от обилия каментов компиляция становится очень долгой...
Читать чужой код (в основном Leito'вский) я пытался, но так и не разобрал ничего, хоть убей...
__________________
Мои проекты:
Анальное Рабство
Зелёный Слоник
Дмитрий Маслов*
Различие**
Клюква**

* — в стадии разработки
** — в стадии проектирования
Для проектов в стадии проектирования приведены кодовые имена

(Offline)
 
Ответить с цитированием
Старый 16.12.2007, 23:59   #8
AndruXa
Знающий
 
Регистрация: 10.09.2007
Сообщений: 262
Написано 6 полезных сообщений
(для 8 пользователей)
Re: Синтаксис в блице

А может кто какие фишки знает с оформлением кода или оптимизацией. Пишите сюда, я думаю многим будет интересно
(Offline)
 
Ответить с цитированием
Старый 17.12.2007, 00:08   #9
HolyDel
 
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений
(для 2,707 пользователей)
Re: Синтаксис в блице

Оптимизация:

1) Не используйте строки для обозначения констант!
Например
select a$
case "run"
case "dead"
case "maa"
можно заменить на
const run=1
const dead=2
const maa=3
select a
case run
case dead
case maa

2) Не создавайте камеру в цикле ))))

3) все текстуры взрывов (спрайтами), или текстуры, в которые будет происходить рендеринг, создавайте с флагом 256

4)двоичный сдвиг рулит! юзайте его, если ето возможно.
(Offline)
 
Ответить с цитированием
Старый 17.12.2007, 00:14   #10
alcoSHoLiK
Дэвелопер
 
Регистрация: 17.01.2006
Сообщений: 1,512
Написано 78 полезных сообщений
(для 110 пользователей)
Re: Синтаксис в блице

Не слушай никого. Хороший стиль - это когда стоящий за спиной конкурент не сможет разобраться в твоем коде до тех пор, пока ты его не заметишь, и, следовательно, стырить идею.
Например

A = Input("Введите знаение для A: ")
B = Input("Введите значение для B:")
If(Len(Str(A))=Len(Str(B))):For i=1 To Len(Str(A)):If(Mid(Str(A),i,1)=Mid(Str(B),i,1)):j=j+1:EndIf:Next:If(Len(Str(a))=j):Print"Равны":Else:Print"Не равны":EndIf:EndIf
(Offline)
 
Ответить с цитированием
Старый 17.12.2007, 00:20   #11
ABTOMAT
Ференька
 
Аватар для ABTOMAT
 
Регистрация: 26.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,741
Написано 5,461 полезных сообщений
(для 15,675 пользователей)
Re: Синтаксис в блице

alcoSHoLiK, Бугага, жжошь
__________________
Мои проекты:
Анальное Рабство
Зелёный Слоник
Дмитрий Маслов*
Различие**
Клюква**

* — в стадии разработки
** — в стадии проектирования
Для проектов в стадии проектирования приведены кодовые имена

(Offline)
 
Ответить с цитированием
Старый 17.12.2007, 00:22   #12
Bagration
Знающий
 
Регистрация: 06.10.2007
Сообщений: 225
Написано 15 полезных сообщений
(для 21 пользователей)
Re: Синтаксис в блице

Сообщение от HolyDel
Оптимизация:
2) Не создавайте камеру в цикле ))))
ну и вообще ничего не грузить. А кстати двоичный сдвиг это когда вместо a\2 пишут a*0.5? То есть блиц как бы быстрее производит умножение.
(Offline)
 
Ответить с цитированием
Старый 17.12.2007, 00:28   #13
jimon
 
Сообщений: n/a
Re: Синтаксис в блице

ну вот кусок кода из jAqua ... сходу мало че поймешь и мало че не поймешь

		Local MouseDist# = MouseX()*MouseX()+MouseY()*MouseY()
		Local ImageSize# = 32
		
		If MouseDist > (Radius-ImageSize)*(Radius-ImageSize) And MouseDist < (Radius+ImageSize)*(Radius+ImageSize) Then
			Enable = 1
						
			AngleRotateDist :+ MouseZSpeed() * Size
			
			Rotating = 0
			If MouseX() > (Radius-ImageSize) And MouseX() < (Radius+ImageSize) And MouseY() < (ImageSize*2) Then
				If AngleRotateDist < Size Then
					Rotating = 1
					AngleRotateDist:+RotateSpeed
				End If
			End If
			If MouseY() > (Radius-ImageSize) And MouseY() < (Radius+ImageSize) And MouseX() < (ImageSize*2) Then
				If (AngleRotateDist + TotalAngleSize) > (90 - Size*2) Then
					Rotating = 1
					AngleRotateDist:-RotateSpeed
				End If
			End If
			
			If Rotating = 1 Then
				AnimateValue(RotateSpeed,RotateSpeedMax,RotateSpeedDelta)
			Else
				AnimateValue(RotateSpeed,RotateSpeedMin,RotateSpeedDelta)
			End If

			
			If AngleRotateDist > (90-Size) Then AngleRotateDist = 90-Size
			If AngleRotateDist < (-TotalAngleSize+Size*2) Then AngleRotateDist = -TotalAngleSize+Size*2
			
			AnimateValue(Zoom,ZoomMax,0.02)
		Else
			Enable = 0
			AnimateValue(Zoom,ZoomMin,0.02)
		End If
		
		AnimateValue(AngleRotate,AngleRotateDist,Abs((AngleRotate - AngleRotateDist)/10))

		Local x#,y#,a#
		Local mx# = MouseX()
		Local my# = MouseY()
 
Ответить с цитированием
Старый 17.12.2007, 00:28   #14
HolyDel
 
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений
(для 2,707 пользователей)
Re: Синтаксис в блице

А кстати двоичный сдвиг это когда вместо a\2 пишут a*0.5? То есть блиц как бы быстрее производит умножение.
неугадали, батенька.
ето a shl b или a shr b, соответственно сдвиг влево и вправо, соответсуют умножению на два и делению на два целочисленных чисел.
(Offline)
 
Ответить с цитированием
Старый 17.12.2007, 00:30   #15
AndruXa
Знающий
 
Регистрация: 10.09.2007
Сообщений: 262
Написано 6 полезных сообщений
(для 8 пользователей)
Re: Синтаксис в блице

А кстати двоичный сдвиг это когда вместо a\2 пишут a*0.5? То есть блиц как бы быстрее производит умножение.
Кстати, у меня какая-то х..ня в блице, когда писал управление колесницей в рпг своем, там короче есть переменная speed# и rotate#
так вот поворот должен уменьшаться с увеличением скорости, ну как это сделать, как все нормальные люди, делением хотел, тоесть поворот разделить на скорость. Запускаю, хопа... 2д грузиться, а вместо 3д черное пространство, это ладно когда делишь на число, там-то заменить умножением мона, а сдесь, вопсчем пришлось создавать еще одну переменную, кот. уменьшается по мере увеличения скорости, и на нее умножать поворот. Может кто нить сталкивался с таким, или это тока у мяня деление в 3д не работает?
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Несколько мышей в Блице Vyacheslav Библиотеки 17 16.02.2012 15:13
Другой синтаксис блица dector Blitz3D 6 25.12.2007 11:19
Мультимедиа в блице AndruXa Blitz3D 3 21.11.2007 02:46
FAR,ЛИК или новый шутер на Блице... LUK Blitz3D 30 07.09.2007 16:41


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


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