BinaryClock - Tosi nörteille

Oletko tehnyt jotain, mistä muut voisivat hyötyä. Postita vinkit tänne.
Post Reply
Henkru
Advanced Member
Posts: 359
Joined: Sun Aug 26, 2007 2:46 pm

BinaryClock - Tosi nörteille

Post by Henkru »

Törmäsin puljun-verkkosivuilla tämmöiseen kelloon ja muistin KilleWhalen tekemän esimerkkikellon. Josta sitten se idea syntyi, että tommonen on tehtävä koneelle :D

Niille joille ei auennnut kuinka tuota luetaan niin kuva selventämään asiaa.

Tein tähän viellä n0b0 modin, joka näyttää kunkin binaarin arvon sen saa näkyviin kun käynistää kellon paramentrillä "/help".

Suurimmitta puheitta.

Code: Select all

SCREEN 460, 200
SetWindow "Binary Clock"
    
Dim BinLine(6)
Dim BinLineTxt (6) As String 
'Määritellään kunkin numeron maksimi "binaaripituus"
BinLine(1) = 2
BinLine(2) = 4
BinLine(4) = 4
BinLine(6) = 4
BinLine(3) = 3
BinLine(5) = 3

If Lower(CommandLine()) = "/help" Then help = 1


Repeat 
    'lasketaan tuntien binaari
    BinLineTxt(1) = Right(Str(Bin(Int(Left(GetWord(Time(), 1, ":"), 1)))), 2)
    BinLineTxt(2) = Right(Str(Bin(Int(Right(GetWord(Time(), 1, ":"), 1)))), 4)
    'minuuttia binaari
    BinLineTxt(3) = Right(Str(Bin(Int(Left(GetWord(Time(), 2, ":"), 1)))), 3)
    BinLineTxt(4) = Right(Str(Bin(Int(Right(GetWord(Time(), 2, ":"), 1)))), 4)  
    'sekunttienbinaari
    BinLineTxt(5) = Right(Str(Bin(Int(Left(GetWord(Time(), 3, ":"), 1)))), 3)
    BinLineTxt(6) = Right(Str(Bin(Int(Right(GetWord(Time(), 3, ":"), 1)))), 4)  
    
    'piirtovaihe
    For i = 1 To 6
        For x = 1 To BinLine(i)
            If Mid(BinLineTxt(i), x, 1) = 0 Then ' väri 0 = harmaa 1 = punainen
                Color cbSilver
            Else
                Color cbDarkRed
            EndIf 
            
            If i = 1 Then ' ei anneta ensimmäistä numeroa ilmaisevaa riviä tulla liian ylös
                z = 80
            ElseIf i Mod 2 <> 0
                z = 40
            Else
                z = 0
            EndIf 
            
            Circle2( i * 60  , x * 40 + z, 20) ' piiretään pallo riviin
        Next x
    Next i
    
    If help = 1 Then 'näytetään help "valikko" jos käynistys paramentrinä oli "/help"
        For i = 1 To 4
            Text 420, i * 40, 1 * 2^(5-i-1) 
            Text 30, i * 40, 1 * 2^(5-i-1) 
        Next i
    EndIf 
    Wait 20 'ei anneta ohjelman syödä kaikkia tehoja
    DrawScreen 
Forever 

Function Circle2(x, y, r)' piirtäää ympyrän jonka väri muuntuu pikkuhiljaa valkoseksi
    For i = 1 To r
        Color min(getRGB(RED) + 3 * i, 255), Min(getRGB(GREEN) + 3 * i, 255), Min(getRGB(BLUE) + 3 * i, 255) ' kasvatetaan väriarvoja ei kuitenkaaan anneta mennä yli 255
        Circle x + i, y + i, r - 2 * i
    Next i
EndFunction 
User avatar
vilQuri
Active Member
Posts: 239
Joined: Wed Aug 29, 2007 6:25 pm
Location: Turku

Re: BinaryClock - Tosi nörteille

Post by vilQuri »

Ihan hieno en oikeen tajunnu mitään tosta Jutusta näyttääkö se eka rivi(oikealta katsottuna) jotain milli sekunteja vai??? :shock: :?: :?:

P.S: Olen ihan pihalla! :mrgreen:

OffTopic:
Oo 30 viestiä!
Henkru
Advanced Member
Posts: 359
Joined: Sun Aug 26, 2007 2:46 pm

Re: BinaryClock - Tosi nörteille

Post by Henkru »

Ensimmäiset 2 riviä = tunti. Seruaavat 2 riviä minuutit ja vikat 2 riviä on sekunnit.
User avatar
Sami The Great
Advanced Member
Posts: 485
Joined: Tue Aug 28, 2007 4:15 pm
Contact:

Re: BinaryClock - Tosi nörteille

Post by Sami The Great »

Hieno viritys. Täytyypi olla nopea laskupää että pysyy mukana :D Lisää tuohon alle vielä aika normaaleilla numeroilla.
http://www.rockodilegames.com
CoolBasickin käyttäjä vuodesta 2004.
Kassu
Newcomer
Posts: 22
Joined: Wed Aug 29, 2007 5:32 pm

Re: BinaryClock - Tosi nörteille

Post by Kassu »

Hieno! Tommone rannekello pitäis saada.
Osaisko joku täältä muuten koodata gadgetin/widgetin joka pystyis näyttämään aikaa binäärimuodossa?
EDIT:

hienon widgetin ainakin löysin. Jos joku muukin täällä käyttää macciä niin tässä on linkki http://www.chrismarks.com/widgets/binar ... index.html

ManualIntelligence
Newcomer
Posts: 38
Joined: Tue Sep 04, 2007 3:22 pm

Re: BinaryClock - Tosi nörteille

Post by ManualIntelligence »

Hahhah, aika hyvin keksitty. :D
Progress of "Target Humanity":
> Koukussa Kalastukseen 2
> Koukussa Kalastukseen
> RistiNolla 07
> Offlimits Minigolf
Post Reply