Binäruhr

Übersicht BlitzBasic Codearchiv

Neue Antwort erstellen

 

CodeMaster

Betreff: Binäruhr

BeitragDi, Mai 10, 2005 17:01
Antworten mit Zitat
Benutzer-Profile anzeigen
Hab mal meinen PC durchsucht und bin auf einige uralte Codes von mir
gestoßen. Hier zum Beispiel eine binäre Uhr:BlitzBasic: [AUSKLAPPEN]
 Graphics 640,310,0,2
SetBuffer BackBuffer()
SeedRnd MilliSecs()
AppTitle(\"Binäruhr\")
font = LoadFont(\"Verdana\",16,0,0,0)
SetFont font

Global H1,H2,M1,M2,S1,S2
Global TmpS$,ClsC#,Fun1#=GraphicsHeight()/2,Fun2#=GraphicsHeight()/2
Dim H1_D(2),H2_D(4)
Dim M1_D(3),M2_D(4)
Dim S1_D(4),S2_D(4)

While Not KeyDown(1)
UpdateTime()
Binarize()
DrawClock()
Flip
Wend
End

Function UpdateTime()
TmpS$ = Str$(S1) + Str$(S2)
H1 = Asc(Left$(CurrentTime$(),1))-48 ; Stunden
H2 = Asc(Mid$(CurrentTime$(),2,1))-48
M1 = Asc(Mid$(CurrentTime$(),4,1))-48 ; Minuten
M2 = Asc(Mid$(CurrentTime$(),5,1))-48
S1 = Asc(Mid$(CurrentTime$(),7,1))-48 ; Sekunden
S2 = Asc(Right$(CurrentTime$(),1))-48
If Str$(S1) + Str$(S2) <> TmpS$ Then ClsC = 100 Else ClsC = ClsC - .7
End Function

Function Binarize()
T_H1 = H1 H1_D(2) = Int(T_H1 / 2) ; Zehnerstelle Stunden
T_H1 = T_H1 - 2 * H1_D(2) H1_D(1) = Int(T_H1 / 1)

T_H2 = H2 H2_D(4) = Int(T_H2 / 8) ; Einerstelle Stunden
T_H2 = T_H2 - 8 * H2_D(4) H2_D(3) = Int(T_H2 / 4)
T_H2 = T_H2 - 4 * H2_D(3) H2_D(2) = Int(T_H2 / 2)
T_H2 = T_H2 - 2 * H2_D(2) H2_D(1) = Int(T_H2 / 1)

T_M1 = M1 M1_D(3) = Int(T_M1 / 4) ; Zehnerstelle Minuten
T_M1 = T_M1 - 4 * M1_D(3) M1_D(2) = Int(T_M1 / 2)
T_M1 = T_M1 - 2 * M1_D(2) M1_D(1) = Int(T_M1 / 1)

T_M2 = M2 M2_D(4) = Int(T_M2 / 8) ; Einerstelle Minuten
T_M2 = T_M2 - 8 * M2_D(4) M2_D(3) = Int(T_M2 / 4)
T_M2 = T_M2 - 4 * M2_D(3) M2_D(2) = Int(T_M2 / 2)
T_M2 = T_M2 - 2 * M2_D(2) M2_D(1) = Int(T_M2 / 1)

T_S1 = S1 S1_D(3) = Int(T_S1 / 4) ; Zehnerstelle Sekunden
T_S1 = T_S1 - 4 * S1_D(3) S1_D(2) = Int(T_S1 / 2)
T_S1 = T_S1 - 2 * S1_D(2) S1_D(1) = Int(T_S1 / 1)

T_S2 = S2 S2_D(4) = Int(T_S2 / 8) ; Einerstelle Sekunden
T_S2 = T_S2 - 8 * S2_D(4) S2_D(3) = Int(T_S2 / 4)
T_S2 = T_S2 - 4 * S2_D(3) S2_D(2) = Int(T_S2 / 2)
T_S2 = T_S2 - 2 * S2_D(2) S2_D(1) = Int(T_S2 / 1)
End Function

Function DrawClock()
ClsColor (99*ClsC/100)+(0*(100-ClsC)/100),(214*ClsC/100)+((100-ClsC)*82/100),(230*ClsC/100)+((100-ClsC)*115/100)
Cls
Color 255,255,255
gr = 30
For i = 1 To 2
Oval GraphicsWidth()/2-3*(gr+5),(GraphicsHeight()-30)/2+2*(gr+5)/2 - i * (gr+5)+30,gr,gr,H1_D(i)
Next
For i = 1 To 4
Oval GraphicsWidth()/2-2*(gr+5),(GraphicsHeight()-30)/2+4*(gr+5)/2 - i * (gr+5)+30,gr,gr,H2_D(i)
Next
For i = 1 To 3
Oval GraphicsWidth()/2-1*(gr+5),(GraphicsHeight()-30)/2+3*(gr+5)/2 - i * (gr+5)+30,gr,gr,M1_D(i)
Next
For i = 1 To 4
Oval GraphicsWidth()/2,(GraphicsHeight()-30)/2+4*(gr+5)/2 - i * (gr+5)+30,gr,gr,M2_D(i)
Next
For i = 1 To 3
Oval GraphicsWidth()/2+1*(gr+5),(GraphicsHeight()-30)/2+3*(gr+5)/2 - i * (gr+5)+30,gr,gr,S1_D(i)
Next
For i = 1 To 4
Oval GraphicsWidth()/2+2*(gr+5),(GraphicsHeight()-30)/2+4*(gr+5)/2 - i * (gr+5)+30,gr,gr,S2_D(i)
Next
Zeit$ = Str$(H1_D(2)) + Str$(H1_D(1)) + \".\"+Str$(H2_D(4))+Str$(H2_D(3))+Str$(H2_D(2))+Str$(H2_D(1))+\":\"
Zeit$ = Zeit$ + Str$(M1_D(3))+Str$(M1_D(2))+Str$(M1_D(1))+\".\"+Str$(M2_D(4))+Str$(M2_D(3))+Str$(M2_D(2))+Str$(M2_D(1))+\":\"
Zeit$ = Zeit$ + Str$(S1_D(3))+Str$(S1_D(2))+Str$(S1_D(1))+\".\"+Str$(S2_D(4))+Str$(S2_D(3))+Str$(S2_D(2))+Str$(S2_D(1))
Color 0,148,181 Rect 10,10,GraphicsWidth()-20,20,1
Color 255,255,255 Rect 10,10,GraphicsWidth()-20,20,0
Text GraphicsWidth()/2,10+FontHeight()/2+1,\"Es ist \" + Zeit$ + \" Uhr.\",1,1
Fun2 = Fun2 * .97 + Fun1 * .03
If Abs(Fun2 - Fun1) < 2 Then Fun1 = Rnd(40,GraphicsHeight()-20)
Line 10,40,10,fun2
Line 10,fun2,18,fun2+3
Line 18,fun2+3,10,fun2+6
Line 10,fun2+6,10,GraphicsHeight()-20
rb = GraphicsWidth() - 10
rf = 40+GraphicsHeight()-100-(fun2-20)
Line rb,40,rb,rf
Line rb,rf,rb-8,rf+3
Line rb-8,rf+3,rb,rf+6
Line rb,rf+6,rb,GraphicsHeight()-20
End Function


(Das war noch aus den alten Blitzforum-Zeiten, wo man in jede Zeile
ein Leerzeichen schreiben musste damit der Code richtig formatiert
dargestellt wurde Wink)
Dies ist ein Text, der an jeden Beitrag von dir angehängt werden kann. Es besteht eine Limit von 500 Buchstaben.

Zuletzt bearbeitet von CodeMaster am Mo Apr 01, Parse error: syntax error, unexpected ';' in htdocs\viewtopic.php on line 102

Mr.Keks

BeitragDi, Mai 10, 2005 17:06
Antworten mit Zitat
Benutzer-Profile anzeigen
hehe, cool
MrKeks.net

Jan_

Ehemaliger Admin

BeitragDi, Aug 16, 2005 9:26
Antworten mit Zitat
Benutzer-Profile anzeigen
So, habe das ganze mal etwas kompackter für den Altagsgebrauch gemacht.

BlitzBasic: [AUSKLAPPEN]

Graphics 120,40,16,2
SetBuffer BackBuffer()
AppTitle \"BUhr\"
Dim wink#(359)

Global hour%
Global Min%
Global Sec%

Local ende%=0
Local Time$
Local i%
Local oldsec%
Local abw%

For i = 0 To 359
wink#(i)=Sin#(i+180)
Next

ClsColor 100,200,255
Color 0,0,255

Repeat
Cls
If bg Then DrawImage bg,0,0

time$= CurrentTime$()
hour = Left (time$,2)
min = Mid (time$,4,2)
oldsec=sec
sec = Right(time$,2)
If oldsec <> sec Then abw=20
If Not(abw <0)
ClsColor 100+2*abw,200+1*abw,255
abw=abw-1
EndIf
;Text 0,0,hour+\"-\"+min+\"-\"+sec

For i=0 To 4
Oval wink(i*72)*10+20,wink((i*72+90) Mod 360)*10+16,8,8,((hour Shr i) And 1)
Next
Rect 41,15,6,3,1
Rect 41,22,6,3,1
For i=0 To 5
Oval wink(i*60)*10+60,wink((i*60+90) Mod 360)*10+16,8,8,((min Shr i) And 1)
Next
Rect 81,15,6,3,1
Rect 81,22,6,3,1
For i=0 To 5
Oval 91+(i Shr 2)*8,5+(i Mod 4)*8,6,6,((sec Shr i) And 1)
Next
Delay 35
Flip 0
Forever


Also, Windows Uhr ausschalten und das ding in dei Nähe Pflanzen und dann frohes Rechnen.
between angels and insects

Blitz3D

BeitragDi, Aug 16, 2005 10:24
Antworten mit Zitat
Benutzer-Profile anzeigen
cool, echt geil mit den Punkten und so, respekt!
User posted image
Xware Entertainment und Forum
User posted image

Neue Antwort erstellen


Übersicht BlitzBasic Codearchiv

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group