Показать сообщение отдельно
Старый 17.12.2007, 02:13   #30
Taugeshtu
scientist.alien
 
Аватар для Taugeshtu
 
Регистрация: 12.02.2007
Сообщений: 2,098
Написано 1,030 полезных сообщений
(для 2,593 пользователей)
Re: Синтаксис в блице

Ых...
В моем жутком Сферике, как оказалось, 13% кода - комменты...
А вот в редакторе для него - 5,67 ($_$)

А вот вам и несколько упийц моска, персонально от меня, из того же Сферика...


Глобал... Любуемся комментами...

;- - - - - - - - - - - - - - - - - - - - - - - - -
;    GLOBALIZATOR
;- - - - - - - - - - - - - - - - - - - - - - - - -
Global PLlife=100    ; хелсы плеера
Global p1        ; временный счётчик для опреда крайних точек позишнов ботов, по совместительству - одна из темп-варов
Global pl        ; самый важный обжект во всей гамке - игрок. Точнее это не совсем игрок, а только отражения на шарике - но в любом случае, всё и вся привязано к нему, родимому!
Global G#=-0.3    ; наша гравитационная постоянная
Global jump#    ; эт длллля прыжка, точнее - время прыжка
Global xmov        ; главная переменная во всём контроллере - отвечает за направление и скорость движения игрока
Global wt        ; число тайлов по ширине
Global ht        ; и по высоте
; вроде коорды игрока, точнее того тайла, где он находится
Global x        ; соответсна по Х...
Global y        ; ... и по У!
Global tempent     ; Временный обжект (юзается для подбора бонусов)
Global finX        ; позиция финиша по Х
Global finY        ; позиция финиша по У
Global score    ; количество пакман-бонусов, собранных игроком
Global cam        ; это наша камера, наши глазявочки
Global mscore=0    ; начальное значение количества шароподобных "рулезов"
Global play     ;    это непосредсно игрок. Несмотря на то, что привязка идёт не к нему, а к другому обжекту - это основной игрок. Именно он крутится при движении
Global pan        ; Угол, на который повернут игрок (его спрайт)
Global BFtimer=0; Таймер для бонуса блэйд форм
; ниже идут переменные для ФПС-ника
Global fps=1     ; непосредсно ФПС
Global fr        ; счётчик фреймов
Global frtime     ; время обработки фреймов
; а это для поправки - так с имиджами полегше будет...
Global poprX#=-6.52
Global poprY#=4.78
Global scale=57    ; это переменная для ресайза имиджей и их корректного расположения
Global PLstate=0; контрол за состоянием игрока и количеством навешанных на него "рулезов"
Global rez        ; переменка для циклов типа While...Wend для отсева по получению резалта.
Global tmp1        ; временные переменные для всякого целочисленного мусора...
Global tmp2
Global temp1#    ; Ну, и не совсем целочисленного...
Global musor$    ; Текстовый мусор
Global Ltime=0    ; контролим громовержца...
Global levT=0    ; ... и левитацию.
Global Lhelper    ; Хелпер для програмной визуализации шторма молний.
Global GTimer=CreateTimer(60)    ; Пытаемся стабильнуть ФПС...
Global SGTimer=CreateTimer(3)    ; Пытаемся тормознуть ФПС...
Global actLEV=0    ; Нумер текущего левела.
Global Mlevels=0; Количество левелов с пачке.
Global Mmode=2    ; Режим меню. 0-нет, 1-игровое, 2-главное.
Global actBUT=1    ; Это надо для определения активной кнопки. Также с помощью этой переменной будет легко сделать само "нажатие" кнопок.
Global musT=0    ; Переменная для контроля за тем, закончилась ли композиция.
Global Tnumb=0    ; Переменная для контроля за номером текущего трека.
Global Glife=3    ; Этот вар служит для "убивания" игрока. По сути - кол-во банальных "дендивских" жизней
Вот такое дикое количество комментов... Не переживайте, это только в глобале так (^_^)

Далее...
Совершенно неземной код коллизий (кусочек кода контроля) :
;                                            ----------------------------------------

;    Простое устранение лага с ползанием шарика без действий со стороны игрока
If Abs(xmov)<7 Then xmov=0
;- - - - - - - - - - - - - - - - - - - -
;----------PROVERKA PO "X"
;- - - - - - - - - - - - - - - - - - - -
TranslateEntity pl,xmov*0.001,0,0
x=EntityX(pl)+0.5*Sgn(xmov)
y=EntityY(pl)
;proverka na to, svobodna li kletka,kuda hotim peremestitsa
If p(x,y)>-1
TranslateEntity pl,-xmov*0.001,0,0
x=EntityX(pl)
If p(x,y-1)=-1 xmov=-xmov
EndIf
;- - - - - - - - - - - - - - - - - - - -
;----------PROVERKA PO "Y"
;- - - - - - - - - - - - - - - - - - - -
TranslateEntity pl,0,G#+jump#,0
x=EntityX(pl)
y=EntityY(pl)+0.25*Sgn(G#+jump#)
;proverka na to, svobodna li kletka,kuda hotim peremestitsa
If p(x,y)>-1 TranslateEntity pl,0,-(G#+jump#),0
;    A eto dabi ne bulo lagov s visotoj:
x=EntityX(pl)
y=EntityY(pl)
If p(x,y-1)>-1 And (EntityY(pl)-y)<0.4 PositionEntity pl,EntityX(pl),y,EntityZ(pl)
; Этот кусочек отвечает за то, что нам будет за столкновение с шипастым тайлом:
If t(x,y+1)=23 And Sgn(G#+jump#)=1 Then PLlife=PLlife-2 jump#=jump#-0.15
; Это мы добавим, дабы игрок никуда не "сползал" и не выпрыгивал с карты:
If EntityX(pl)>x And x=wt PositionEntity pl,x,EntityY(pl),EntityZ(pl)
If EntityY(pl)>y And y=ht PositionEntity pl,EntityX(pl),y,EntityZ(pl)
If EntityX(pl)<x And x=1 PositionEntity pl,x,EntityY(pl),EntityZ(pl)
If EntityY(pl)<y And y=1 PositionEntity pl,EntityX(pl),y,EntityZ(pl)
;                                            -------------------------------------
Ну, и чтобы пощекотать ваши нервы, Header готовящегося фейверка для конкурса:

;======================================-
;====================================-
;==================================-
;        Ize'g0re presents...   ==-
;==============================-

;|=====+      =====================================-
; |=====+     ===================================-
;  |=====+    =================================-
;   |=====+   particle st0rm. . . -==========-
;  |=====+    =============================-

; * . ; *  ' .  *
;* '  * . * , * '
;.С Новым Годом!,
;  * ' * , * .. ;
; * . '  *. ' * *
Комменты наводят благоговейный ужас на меня... (%_%)
__________________
Public service announcement: вы можете заблокировать отображение сообщений определённого пользователя, добавив его ник в список игнорируемых.
Tau lab.
We LOVE you. We MADE you.
(Offline)
 
Ответить с цитированием