Bildschirmschoner für Freaks

Spiele, Demos, Grafikzeug und anderes unterhaltendes.

Wie gefällt dir dieses Programm?

Sehr gut!
5
14%
Gut!
6
17%
Naja...
7
20%
Es gibt originelleres...
8
23%
Ein gut gemeinter Rat: gib das Programmieren auf und mach was Anderes, z.B. Sticken oder Golf spielen.
9
26%
 
Insgesamt abgegebene Stimmen: 35

Benutzeravatar
hardfalcon
Beiträge: 3447
Registriert: 29.08.2004 20:46
Wohnort: Luxemburg
Kontaktdaten:

Bildschirmschoner für Freaks

Beitrag von hardfalcon »

Dieses Programm öffnet eine Datei die ihr selbst auswählen könnt, und "malt" ihren Inhalt auf den Bildschirm. Am Besten sieht es natürlic mit BMP und WAV-Dateien aus, weil hier meist "schöne Bytemuster" vorliegen. Es gibt 8 verschiedene Zeichenmodi:
F1 - F4: Plot() mit Abständen von 0 bis 8
F5 - F8: Line() mit Abständen von 0 bis 8

Zu den Systemvorraussetzungen: Auf meinem 1,2Ghz-PC läuft das Programm recht schnell, wenn es die Datei erst einmal komplett durchlaufen hat. Die einzelenen Tasten muss man aber trotzdem meist mehrere Sekunden gedrückt halten. Alles in allem läuft es jedoch durchaus akzeptabel. Für rechner unter 600-800Mhz würde ich das Programm jedoch definitiv nicht empfehlen. Was das RAM angeht: Je mehr, deso besser! (Ich habe 256MB SD-RAM)

Die Idee habe ich übrigens aus dem Thread über die seltsamen C64-Screen beim Laden mancher Programme in der Laberecke... :allright:
Viel Spaß beim Anschauen! <)

Code: Alles auswählen

ResX.w = 1280
ResY.w = 1024
Mode = 1
ProgramName.s = "hardfalcon's file player"
If 0 = InitSprite() Or 0 = InitKeyboard()
  MessageRequester(ProgramName,"Failed to initialize DirectX 7 or higher!")
  End
Else
  Repeat
    File.s = OpenFileRequester(ProgramName,"C:\","All files|*",0)
    If "" = File
      End
    EndIf
  Until ReadFile(0,File)
  If OpenScreen(ResX,ResY,32,ProgramName)
    Repeat
      ClearScreen(0,0,0)
      StartDrawing(ScreenOutput())
      Select Mode
        Case 1
          For y = 0 To ResY-1
            For x = 0 To ResX-1
              Plot(x,y,ReadLong())
            Next x
          Next y
        Case 2
          For y = 0 To ResY-1 Step 2
            For x = 0 To ResX-1 Step 2
              Plot(x,y,ReadLong())
            Next x
          Next y
        Case 3
          For y = 0 To ResY-1 Step 4
            For x = 0 To ResX-1 Step 4
              Plot(x,y,ReadLong())
            Next x
          Next y
        Case 4
          For y = 0 To ResY-1 Step 8
            For x = 0 To ResX-1 Step 8
              Plot(x,y,ReadLong())
            Next x
          Next y
        Case 5
          For y = 0 To ResY-1
            For x = 0 To ResX-1
              Line(x,y,ReadByte(),ReadByte(),ReadLong())
            Next x
          Next y
        Case 6
          For y = 0 To ResY-1 Step 2
            For x = 0 To ResX-1 Step 2
              Line(x,y,ReadByte(),ReadByte(),ReadLong())
            Next x
          Next y
        Case 7
          For y = 0 To ResY-1 Step 4
            For x = 0 To ResX-1 Step 4
              Line(x,y,ReadByte(),ReadByte(),ReadLong())
            Next x
          Next y
        Case 8
          For y = 0 To ResY-1 Step 8
            For x = 0 To ResX-1 Step 8
              Line(x,y,ReadByte(),ReadByte(),ReadLong())
            Next x
          Next y
      EndSelect
      StopDrawing()
      FlipBuffers()
      If Eof(0)
        FileSeek(0)
      EndIf
      Delay(10)
      ExamineKeyboard()
      If KeyboardPushed(#PB_Key_F1)
        Mode = 1
      ElseIf KeyboardPushed(#PB_Key_F2)
        Mode = 2
      ElseIf KeyboardPushed(#PB_Key_F3)
        Mode = 3
      ElseIf KeyboardPushed(#PB_Key_F4)
        Mode = 4
      ElseIf KeyboardPushed(#PB_Key_F5)
        Mode = 5
      ElseIf KeyboardPushed(#PB_Key_F6)
        Mode = 6
      ElseIf KeyboardPushed(#PB_Key_F7)
        Mode = 7
      ElseIf KeyboardPushed(#PB_Key_F8)
        Mode = 8
      EndIf
    Until KeyboardPushed(#PB_Key_Escape)
  Else
    MessageRequester(ProgramName,"Failed to open a 640*480 32bit screen!")
    End
  EndIf
EndIf
„Warum siehst du den Splitter im Auge deines Bruders, aber den dicken fetten schwarzen Zensurbalken vor deinem Auge bemerkst du nicht?“
Benutzeravatar
Laurin
Beiträge: 1639
Registriert: 23.09.2004 18:04
Wohnort: /dev/eth0

Beitrag von Laurin »

Geil, vorallem der F8-Modus hats mir angetan. :D

Dabei ist das Prog eigendlich sehr simpel.
Now these points of data make a beautiful line.
And we're out of beta. We're releasing on time.
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

Ja, F8 mit 700 MB MP3 File von Pink Floyd, das Rulez. Schade das die Musik dabei nicht gleichzeitig abgespielt wird :lol:
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
hardfalcon
Beiträge: 3447
Registriert: 29.08.2004 20:46
Wohnort: Luxemburg
Kontaktdaten:

Beitrag von hardfalcon »

Schade dass die acht Forenuser, die eine negative Bewertung abgegeben haben, diese nicht begründen können... :|

@Laurin & ts-soft: freut mich, dass es euch gefällt! :D
„Warum siehst du den Splitter im Auge deines Bruders, aber den dicken fetten schwarzen Zensurbalken vor deinem Auge bemerkst du nicht?“
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

beim letzten punkt haben 3 von den 4 bestimmt nur geklickt,
weil der spruch so cool is... :mrgreen:
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
hardfalcon
Beiträge: 3447
Registriert: 29.08.2004 20:46
Wohnort: Luxemburg
Kontaktdaten:

Beitrag von hardfalcon »

Dann bleiben immer noch fünf. Und das betrübt mein Programmiererherz doch zutiefst... :cry:
„Warum siehst du den Splitter im Auge deines Bruders, aber den dicken fetten schwarzen Zensurbalken vor deinem Auge bemerkst du nicht?“
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

mach dir nix draus...

ich hab noch garnix ausgewählt, weil ich noch keine muße zum testen hatte...

aber die grundidee sieht gut aus (vom code her),
man könnte die grundidee verwenden, um bei einem wirklichen ladevorgang einen effekt anzuzeigen...
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
hardfalcon
Beiträge: 3447
Registriert: 29.08.2004 20:46
Wohnort: Luxemburg
Kontaktdaten:

Beitrag von hardfalcon »

Also ein BISSCHEN mehr Feedback hätte ich mir bei einem Programm mit ner Entwicklungszeit von immerhin 30 Minuten ja schon erwartet... :mrgreen:
„Warum siehst du den Splitter im Auge deines Bruders, aber den dicken fetten schwarzen Zensurbalken vor deinem Auge bemerkst du nicht?“
Benutzeravatar
bobobo
jaAdmin
Beiträge: 3857
Registriert: 13.09.2004 17:48
Kontaktdaten:

Beitrag von bobobo »

Iich hab 4 geklickt weil es originelleres gibt. Brauch keinen Screensaver der den Prozessorlüfter zum Laufen bringt.
‮pb aktuell5.7 - windoof aktuell und sowas von 10
Ich hab Tinnitus im Auge. Ich seh nur Pfeifen.
Benutzeravatar
AndyX
Beiträge: 1272
Registriert: 17.12.2004 20:10
Wohnort: Niederösterreich
Kontaktdaten:

Beitrag von AndyX »

also ich find das echt genial :allright: Vorallem EXEs rocken :D
Antworten