Показать сообщение отдельно
Старый 21.09.2010, 15:19   #41
Tadeus
Троллота
 
Регистрация: 09.07.2007
Сообщений: 1,829
Написано 554 полезных сообщений
(для 1,772 пользователей)
Ответ: The elder Scrolls III: Morrowind

О, вспомнил. Как-то жутко нехрен делать было, запилил. Определяет ваш знак во вселенной Тамриэля

Function toJulian(day%,month%,year%)
    Local a%,y%,m%
    a=(14-month)/12
    y=year+4800-a
    m=month+12*a-3
    Return day+(153*m+2)/5+365*y+y/4-y/100+y/400-32045
End Function

Function sunLg#(day,month,year)
    eg#=278.833540
    wg#=282.596403
    ec#=0.016718
    d#=toJulian(day,month,year)-toJulian(00,01,1980)
    n#=correctAngle(360.0/365.2422*d#)
    m#=correctAngle(n#+eg#-wg#)
    e#=360.0/Pi*ec*Sin(m#)
    Return correctAngle( n#+e#+eg#)
End Function

Function correctAngle#(a#)
    While a<0
        a=a+360
    Wend
    Return a Mod 360
End Function

Function tamrielSign$(day,month,year)
    a# = sunLg(day,month,year)
    If (a#>=0 And a#<30) Then
        Return "Маг"
    EndIf
    If (a#>=30 And a#<60) Then
        Return "Тень"
    EndIf
    If (a#>=60 And a#<90) Then
        Return "Конь"
    EndIf
    If (a#>=90 And a#<120) Then
        Return "Подмастерье"
    EndIf
    If (a#>=120 And a#<150) Then
        Return "Воин"
    EndIf
    If (a#>=150 And a#<180) Then
        Return "Леди"
    EndIf
    If (a#>=180 And a#<210) Then
        Return "Башня"
    EndIf
    If (a#>=210 And a#<240) Then
        Return "Атронах"
    EndIf
    If (a#>=240 And a#<270) Then
        Return "Вор"
    EndIf
    If (a#>=270 And a#<300) Then
        Return "Ритуал"
    EndIf
    If (a#>=300 And a#<330) Then
        Return "Любовник"
    EndIf
    If (a#>=330 And a#<360) Then
        Return "Лорд"
    EndIf
End Function

Print tamrielSign(24,06,1994)
WaitKey
(Offline)
 
Ответить с цитированием
Эти 2 пользователя(ей) сказали Спасибо Tadeus за это полезное сообщение:
impersonalis (21.09.2010), Mr_F_ (22.09.2010)