Text farblich verschwinden lassen

Für allgemeine Fragen zur Programmierung mit PureBasic.
Benutzeravatar
nicolaus
Moderator
Beiträge: 1175
Registriert: 11.09.2004 13:09
Kontaktdaten:

Beitrag 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:
Benutzeravatar
DrShrek
Beiträge: 1970
Registriert: 08.09.2004 00:59

Beitrag 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)
Siehste! Geht doch....?!
PB*, *4PB, PetriDish, Movie2Image, PictureManager, TrainYourBrain, ...
Benutzeravatar
freedimension
Admin
Beiträge: 1987
Registriert: 08.09.2004 13:19
Wohnort: Ludwigsburg
Kontaktdaten:

Beitrag 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 ;)
Beginne jeden Tag als ob es Absicht wäre!
Bild
BILDblog
Benutzeravatar
DrShrek
Beiträge: 1970
Registriert: 08.09.2004 00:59

Beitrag 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!
Siehste! Geht doch....?!
PB*, *4PB, PetriDish, Movie2Image, PictureManager, TrainYourBrain, ...
Benutzeravatar
nicolaus
Moderator
Beiträge: 1175
Registriert: 11.09.2004 13:09
Kontaktdaten:

Beitrag 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
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag 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...
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
freedimension
Admin
Beiträge: 1987
Registriert: 08.09.2004 13:19
Wohnort: Ludwigsburg
Kontaktdaten:

Beitrag 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 ;)
Beginne jeden Tag als ob es Absicht wäre!
Bild
BILDblog
Benutzeravatar
DrShrek
Beiträge: 1970
Registriert: 08.09.2004 00:59

Beitrag 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... /:->
Siehste! Geht doch....?!
PB*, *4PB, PetriDish, Movie2Image, PictureManager, TrainYourBrain, ...
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag 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:
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
bluejoke
Beiträge: 1244
Registriert: 08.09.2004 16:33
Kontaktdaten:

Beitrag 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)
Ich bin Ausländer - fast überall
Windows XP Pro SP2 - PB 4.00
Antworten