Kleiner Bildschirmschoner

Übersicht BlitzBasic Codearchiv

Neue Antwort erstellen

 

sven123

Betreff: Kleiner Bildschirmschoner

BeitragDi, Aug 16, 2005 15:40
Antworten mit Zitat
Benutzer-Profile anzeigen
Einfach ein Paar Textfiles angeben.Wer mehr als die 4 haben möchte einfach den Selectbereich erweitern und unten entsprechend die Zahl ändern um eine slideshow zu erzielen.also viel Spaß damit.Einfach die exe in eine scr Datei Umbenenen und in das verzeichnis C:\WINDOWS\System32 kopieren,das wars.
BlitzBasic: [AUSKLAPPEN]

Graphics 800,600,0,1
SeedRnd MilliSecs()
Global naechster=0

Repeat
collered_file()
For it=0 To 255
If KeyDown(it)=1 Then End
If MouseX()>0 Then End
If MouseY()>0 Then End ;Abbruchbedingungen des Bildschirmschoners
Next

Until KeyDown(1) End



;Die Funktion
Function collered_file()
;aussuchen und laden der Textdateien
Select naechster
Case 0
Pfad$=\"Hier einen Pfad zur einer belibigen Datei angeben\"
Case 1
Pfad$=\"Hier einen Pfad zur einer belibigen Datei angeben\"
Case 2
Pfad$=\"Hier einen Pfad zur einer belibigen Datei angeben\"
Case 3
Pfad$=\"Hier einen Pfad zur einer belibigen Datei angeben\"
End Select

;Einlesen der Datei
Datei=ReadFile(Pfad$)
While Not Eof(Datei)
line_$ = ReadLine$(Datei)

For i=1 To Len(line_$)

;Zeichnen von Rechtecken für diese Ascwerte
Buchstabe$=Mid$(line_$,i,1)
Asccode=Asc(Buchstabe$)
For key_signe=0 To 100
If Asccode=key_signe Then
Color Rand(0,255),Rand(0,255),Rand(0,255)
Rect Rnd(0,800),Rnd(0,600),Rnd(0,3),Rnd(0,3),1
EndIf
Next

;Zeichnen von Kreisen für diese Ascwerte
For key_signe=100 To 200
If Asccode=key_signe Then
Color Rand(0,255),Rand(0,255),Rand(0,255)
Oval Rnd(0,800),Rnd(0,600),Rnd(0,3),Rnd(0,3),1
EndIf
Next

;Zeichnen von Linien für diese Ascwerte
For key_signe=200 To 255
If Asccode=key_signe Then
Color Rand(0,255),Rand(0,255),Rand(0,255)
Line Rnd(0,800),Rnd(0,600),Rnd(0,500)+FontWidth(),Rnd(0,500)+FontHeight() ;Unter berücksichtigung der Höhe und der Länge des Strings
EndIf
Next
Next
Wend
Delay 2000
naechster=naechster+1
If naechster>3 Then naechster=0 ;Slideshow von vorne beginnen:bei mehr bilderen die letzet Zahl nehmen
Cls
CloseFile Datei


End Function
Amd Athlon 2200+,Saphire Atlantis Radeon9800pro,1024 MB DDR RAm,40 Gb Festblatte.
'in shâ'a llâh=so Gott will
Fertiges Projekt:Invasion der Heuschrecken
  • Zuletzt bearbeitet von sven123 am Mi, Aug 17, 2005 11:23, insgesamt einmal bearbeitet
 

sven123

BeitragDi, Aug 16, 2005 17:39
Antworten mit Zitat
Benutzer-Profile anzeigen
Und wie findet ihr ihn?Ein bischen Featback wäre nicht schlecht
Amd Athlon 2200+,Saphire Atlantis Radeon9800pro,1024 MB DDR RAm,40 Gb Festblatte.
'in shâ'a llâh=so Gott will
Fertiges Projekt:Invasion der Heuschrecken

Blitz3D

Betreff: Re: Kleiner Bildschirmschoner

BeitragDi, Aug 16, 2005 17:44
Antworten mit Zitat
Benutzer-Profile anzeigen
sven123 hat Folgendes geschrieben:
BlitzBasic: [AUSKLAPPEN]
Case 0
Pfad$=\"D:\invas.txt\"
Case 1
Pfad$=\"D:\Fuzzy\Text.htm\"
Case 2
Pfad$=\"D:\Fuzzy\Text1.htm\"
Case 3
Pfad$=\"D:\Fuzzy\Text2.htm\"
End Select


Was sind das für html-Dateien? bei mir kommt stream does not exist
User posted image
Xware Entertainment und Forum
User posted image
 

sven123

BeitragDi, Aug 16, 2005 17:52
Antworten mit Zitat
Benutzer-Profile anzeigen
Da sollst du doch deinen eigenen Dateien Reinschreiben.Das ist auf meinem Pc!Das musst du dir Umschreiben.sprich du musst deine Eigenen Dateien Laden.
Amd Athlon 2200+,Saphire Atlantis Radeon9800pro,1024 MB DDR RAm,40 Gb Festblatte.
'in shâ'a llâh=so Gott will
Fertiges Projekt:Invasion der Heuschrecken

Blitz3D

BeitragDi, Aug 16, 2005 17:57
Antworten mit Zitat
Benutzer-Profile anzeigen
ups, sry. Ja ist geil Shocked
User posted image
Xware Entertainment und Forum
User posted image
 

sven123

BeitragDi, Aug 16, 2005 18:13
Antworten mit Zitat
Benutzer-Profile anzeigen
Na dann viel Spaß damit.
Amd Athlon 2200+,Saphire Atlantis Radeon9800pro,1024 MB DDR RAm,40 Gb Festblatte.
'in shâ'a llâh=so Gott will
Fertiges Projekt:Invasion der Heuschrecken

Blitz3D

BeitragDi, Aug 16, 2005 18:14
Antworten mit Zitat
Benutzer-Profile anzeigen
hab ihn noch nicht ausprobiert
User posted image
Xware Entertainment und Forum
User posted image

Digi_

BeitragMi, Aug 17, 2005 1:02
Antworten mit Zitat
Benutzer-Profile anzeigen
mach doch einfach eine rardatei und lade sie irgendwo hoch, dann bekommst du bestimmt feedback
 

sven123

BeitragMi, Aug 17, 2005 11:20
Antworten mit Zitat
Benutzer-Profile anzeigen
Ist das so schwer zu kapieren das sind irgendwelche Persönlichendaten,die werde ich nicht hochladen.Ihr müsst einfach anstat derer eure eigenen angeben.
Amd Athlon 2200+,Saphire Atlantis Radeon9800pro,1024 MB DDR RAm,40 Gb Festblatte.
'in shâ'a llâh=so Gott will
Fertiges Projekt:Invasion der Heuschrecken

Jan_

Ehemaliger Admin

BeitragMi, Aug 17, 2005 11:34
Antworten mit Zitat
Benutzer-Profile anzeigen
Also, ich habe es getestet, und muss sagen, das ich nicht kapiere was das soll.

es sind eigentlcih immer nur Bunte rects aufm Bildschirm.
between angels and insects
 

MegaTefyt

BeitragMi, Aug 17, 2005 11:48
Antworten mit Zitat
Benutzer-Profile anzeigen
Bissl sinnlos das ganze. Sowas hat man aus Langeweile schon vor Ewigkeiten gemacht (z.B. QBasic), wenn man nix mit sich anzufangen wusste. Und in garantiert nicht länger wie 5 - 10 Minuten, wenn überhaupt... Shocked

Und warum um Himmels Willen willst du Werte aus Dateien verwenden, wenn du das genauso gut mit RND machen kannst (und dabei würdest du nicht ständig die 4 gleichen Bildschirmaufbauten sehen). Sinn?

Ich sag lieber nicht, wie ich das finde. Rolling Eyes

Lord_Vader

BeitragMi, Aug 17, 2005 12:00
Antworten mit Zitat
Benutzer-Profile anzeigen
Weis auch nicht was das soll. Also testen tu ich das net bis da beispiel htmls dabei sind.

Finde es auch blöd weils das schon hier gab. Wenn du was über bildschirmschoner schreibst dann schreib einen code darüber wie das funktioniert aber nicht noch irgentwas dabei was völlig irrelevant ist und das man als anderen code reinsetzen kann. Schließlich sucht man ja mit der suche, wie screensaver funktionieren und dabei verwirrt das.
 

MegaTefyt

BeitragMi, Aug 17, 2005 12:36
Antworten mit Zitat
Benutzer-Profile anzeigen
Ähm, Vader, die brauchst du nicht. Du kannst da jede beliebige Datei einsetzen, weil das Programm macht folgendes:

Es geht die angegebenen Dateien Zeile für Zeile, und in jeder Zeile Zeichen für Zeichen durch. Für jedes Zeichen lässt er sich den zugehörigen ASCII-Code zurückgeben. Liegt der zwischen 0 und 100 gibts ein Rechteck, zwischen 100 und 200 ein Kreis und zwischen 200 und 255 eine Linie. Die 3 Dinge jeweils mit Zufallsposition, Zufallgröße und Zufallsfarbe. Die Dateien, die du angibst, sind praktisch nur eine schlechte Möglichkeit Zufallswerte zu bekommen...

Und ich frage mich immernoch: Wozu den Kram aus Dateien lesen wenn es mit RAND doch viel einfacher und weniger umständlich geht und dazu nicht nur vier verschiedene Abläufe sondern unendlich viele bringt?

Mal davon abgesehen hast du einen seltsamen Programmierstil. Von der Einrückung (bzw. der allgemeinen Übersicht) abgesehen: Warum kombinierst du FOR-TO-Schleifen mit IF-Bedingungen um zu prüfen, ob der Wert zwischen zwei Grenzen liegt?

Du machst praktisch:

BlitzBasic: [AUSKLAPPEN]

For X = 100 To 200
If Y = X Then
BlahBlah
End If
Next


Warum machst du nicht:

BlitzBasic: [AUSKLAPPEN]

If Y >= 100 And Y <= 200 Then
BlahBlah
End If


Ich stell mir das mal bei einem komplexeren Programm vor, das ist Speedverlust pur. Shocked

Folgender Quellcode macht praktisch das gleiche, ohne irgendwelchen extra-Datei-blahblah und die damit verbundenen Einschränkungen, ist außerdem kürzer und schneller...

BlitzBasic: [AUSKLAPPEN]

Graphics 800, 600, 0, 1
SeedRnd MilliSecs()

TimeStamp# = MilliSecs()

Repeat

Zufall = Rand(0, 255)

Color Rand(O, 255), Rand(O, 255), Rand(O, 255)


If Zufall >= 0 And Zufall < 100 Then

Rect Rand(0, 800), Rand(0, 600), Rand(0, 3), Rand(0, 3), 1

Else If Zufall >= 100 And Zufall < 200 Then

Oval Rand(0, 800), Rand(0, 600), Rand(0, 3), Rand(0, 3), 1

Else If Zufall >= 200 Then

; Line Rand(0, 800), Rand(0, 600), Rand(0, 500) + FontWidth(), Rand(0, 500) + FontHeight()

End If


If MilliSecs() - TimeStamp > 5000 Then

Delay 2000

Cls

TimeStamp = MilliSecs()

End If

Until KeyHit(1)


Anstatt nach jedem Dateidurchlauf lass ich 5 Sekunden lang generieren, bevor das Bild 2 Sekunden lang steht und danach gelöscht wird. Den Line-Befehl hab ich auskommentiert, weil die aus Dateien eingelesenen ASCII-Codes eh nur selten 200 übersteigen. Mit LINE auskommentiert sieht es praktisch genauso aus wie das "Ursprungsprogramm", also die Grafikausgabe. Und ich finds immernoch sinnlos hoch 10, selbst als Bildschirmschoner...
 

sven123

BeitragMi, Aug 17, 2005 17:18
Antworten mit Zitat
Benutzer-Profile anzeigen
Jo da haste recht ich bin halt ein bischen umständlich. Laughing
Zur Sinnfrage! Das Ding macht keinen Sinn habe ich einfach zum Spaß programmiert,als Bildschirmschoner finde ich es halt ganz cool.Ich weis auch das es nicht das Superprogramm ist und das es eigntlich simpel ist aber ich habe auch nicht behauptet das es irgendwie eine Mega neuendeckung ist.Es ist einfach eine Spielerei die als Bildschirmschoner ganz nett ausieht.

Warum ich die Werte aus Dateien auslese?Naja ich finde die Tatsache eigentlich ganz interessant das dass nicht nur irgendwelche Zuffalswerte sind.Sondern alle Rechtecke...etc auf dem Schirm.Den Inhalt der Datei wiederspiegeln.
Amd Athlon 2200+,Saphire Atlantis Radeon9800pro,1024 MB DDR RAm,40 Gb Festblatte.
'in shâ'a llâh=so Gott will
Fertiges Projekt:Invasion der Heuschrecken
 

MegaTefyt

BeitragMi, Aug 17, 2005 22:45
Antworten mit Zitat
Benutzer-Profile anzeigen
Tun sie ja nicht mal, da sie jedesmal neu zufällig sind. Das einzige, was die Datei entscheidet ist, ob es ein Rechteck, ein Kreis oder eine Linie wird, wobei man bei ersteren beiden kaum einen Unterschied sieht und letzteres eher seltener auftritt. Rolling Eyes

Neue Antwort erstellen


Übersicht BlitzBasic Codearchiv

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group