Seite 3 von 4

Verfasst: 12.01.2005 12:22
von nicolaus
freedimension hat geschrieben:Jungs, hier geht's um die Anzahl an Zeichen und nicht um die der Zeilen
sag das doch gleich so ein mist und ich hatte mich schon so auf die reise gefreut :lol:

Verfasst: 12.01.2005 13:30
von DrShrek
freedimension hat geschrieben:Jungs, hier geht's um die Anzahl an Zeichen und nicht um die der Zeilen
Ok! Du hast es so gewollt!
Wenn ich richtig zähle eins kürzer als Deins! 8)

Code: Alles auswählen

InitSprite()
OpenScreen(640,480,16,"Farb verschwinden test")
InitKeyboard()
Repeat
ExamineKeyboard()
StartDrawing(ScreenOutput())
Locate(300,300)
BackColor(0,0,0)
i=(i+250)%255
FrontColor(i,i,i)
DrawText("Dies ist ein Verschwindibus test :D")
StopDrawing()
FlipBuffers()
Delay(50)
Until KeyboardPushed(1)

Verfasst: 12.01.2005 13:45
von freedimension
Ok, gut gekontert

Es geht aber noch besser

Code: Alles auswählen

InitSprite() 
OpenScreen(640,480,16,"Farb verschwinden test") 
InitKeyboard() 
Repeat 
ExamineKeyboard() 
StartDrawing(ScreenOutput()) 
Locate(300,300) 
BackColor(0,0,0) 
i+250
i%255
FrontColor(i,i,i) 
DrawText("Dies ist ein Verschwindibus test :D") 
StopDrawing() 
FlipBuffers() 
Delay(50) 
Until KeyboardPushed(1)
Auf die nächste Verbesserung bin ich mal gespannt :D

Man, muss mir langweilig sein ;)

Verfasst: 12.01.2005 14:07
von DrShrek
freedimension hat geschrieben:...Auf die nächste Verbesserung bin ich mal gespannt :D
Man, muss mir langweilig sein ;)
Ich auch!
Hat Spass gemacht!

Ich hoffe der Rest des Forums hat etwas draus lernen können!
Und zwar:

1) ClearScreen(...) ist meist überflüssig!
2) Die Standardlösung ist nicht immer die Beste (abhängig von der Zieldefinition)!
3) Teamwork macht sich bezahlt!

Verfasst: 12.01.2005 16:12
von nicolaus
IceSoft hat geschrieben:
freedimension hat geschrieben:...Auf die nächste Verbesserung bin ich mal gespannt :D
Man, muss mir langweilig sein ;)
Ich auch!
Hat Spass gemacht!

Ich hoffe der Rest des Forums hat etwas draus lernen können!
Und zwar:

1) ClearScreen(...) ist meist überflüssig!
2) Die Standardlösung ist nicht immer die Beste (abhängig von der Zieldefinition)!
3) Teamwork macht sich bezahlt!
und 4) source läst sich immer noch ein wenig optimieren

Verfasst: 12.01.2005 16:19
von Kaeru Gaman
die lösung trifft es aber nicht ganz, da es immer wieder auftaucht und verschwindet, nicht nur einmal.

deshalb benutze ich wieder eine for-next-schleife,
kann mir damit repeat-until sparen,
und deshalb auch alle keyboard-geschichten :wink:

ausserdem find ich's schöner, jede der 255 stufen anzuzeigen,
also delay auch 5 mal kleiner...

Code: Alles auswählen

InitSprite() 
OpenScreen(640,480,16,"Farb verschwinden test") 
For i=255 To 0 step-1
StartDrawing(ScreenOutput()) 
Locate(300,300) 
BackColor(0,0,0) 
FrontColor(i,i,i) 
DrawText("Dies ist ein Verschwindibus test :D") 
StopDrawing() 
FlipBuffers() 
Delay(10) 
Next
[edit]:
noch ein zeichen kann ich sparen mit Delay(9) statt Delay(10),
der unterschied ist kaum wahrnehmbar,
zumal ja nun 5x soviel schleifendurchläufe stattfinden...

Verfasst: 12.01.2005 16:55
von freedimension
nicolaus hat geschrieben:und 4) source läst sich immer noch ein wenig optimieren
5) man kann es nie allen Recht machen, gelle Kaeru ;)

Verfasst: 12.01.2005 17:01
von DrShrek
Kaeru Gaman hat geschrieben:...noch ein zeichen kann ich sparen mit Delay(9) statt Delay(10)
Dein Beispiel bzw Deine Optimierung entspricht aber nicht mehr den Orginal und ist somit disqualifiziert... /:->

Verfasst: 12.01.2005 18:01
von Kaeru Gaman
@IceSoft

wenn du einfach

Code: Alles auswählen

...
...Step-5
...
Delay(50)
...
wieder einsetzt entspricht sie nicht nur dem original, sondern ist de facto
die einzige version, die wie das original keine fortlaufende sondern
eine einmalige schleife besitzt... *bäh* :P

btw: die ursprungliche version hatte die 3 farbkanäle geschachtelt ausgeblendet,
also aber hallo!
freedimension hat geschrieben:5) man kann es nie allen Recht machen, gelle Kaeru ;)
oops... *kopfkratz* hab ich jetzt was angestellt? :freak:

Verfasst: 12.01.2005 18:14
von bluejoke
@Kaeru: IceSoft bezog sich mit entspricht nicht mehr dem Originalcode nicht auf die Änderung des Schleifentyps sondern auf das Delay(9) statt Delay(10)