Seite 1 von 2
Dance the Kirby Dance !
Verfasst: 20.02.2005 03:46
von MVXA
Tach !
Ich hab mal aus langeweile ein 20 Zeilen langes Programm geschrieben. Schimpfen tut es wie der Topic schon sagt 'Dance the Kirby Dance !'. Seht es euch am bessten einfach mal an

.
Code: Alles auswählen
Global frmMain.l, lblKyrbe.l, fntArial.l, lngStep.l
frmMain = OpenWindow(#PB_Any, 0, 0, 100, 25, #PB_Window_ScreenCentered | #PB_Window_SystemMenu, "Kirby")
If frmMain <> 0
fntArial = LoadFont(1, "Arial", 9)
If CreateGadgetList(WindowID(frmMain))
lblKyrbe = TextGadget(#PB_Any, 25, 5, 50, 20, "")
SetGadgetFont(lblKyrbe, fntArial)
EndIf
Repeat
Select lngStep
Case 0: SetGadgetText(lblKyrbe, "<(^_^<)")
Case 1: SetGadgetText(lblKyrbe, "^(^_^)^")
Case 2: SetGadgetText(lblKyrbe, "(>^_^)>")
Default: lngStep = -1
EndSelect
lngStep + 1: Delay(500)
Until WindowEvent() = #PB_Event_CloseWindow
EndIf
Verfasst: 20.02.2005 03:54
von Kaeru Gaman
*lol*
btw:
ist "Dance the Kirby Dance"
irgentein zitat?
bzw. "Kyrbe Dance".....
Verfasst: 20.02.2005 04:18
von ts-soft
Sieht ganz nett aus
Aber warum deklarierst Du lauter Globale Variablen, es gibt nicht eine Prozedur in dem Code
Verfasst: 20.02.2005 04:44
von Laurin
Lustig!
Das Ding frißt 100% Systemressourcen.

Ich sollte mir wohl mal einen neuen Rechner anschaffen (siehe mein Profil).
(Alternative: Nimm die Zeile mit den globalen Variablen raus und füge stattdessen ein WindowEvent() ein. )
Greetz Laurin
Verfasst: 20.02.2005 09:28
von DarkDragon
Sehr schön
Laurin hat geschrieben:(Alternative: Nimm die Zeile mit den globalen Variablen raus und füge stattdessen ein WindowEvent() ein. )
Hmm??? Ohne geöffnetes Fenster macht aber ein WindowEvent() nicht viel sinn. Was er machen sollte ist das Delay() mit einer ElapsedMilliseconds() methode auszutauschen, dann dürfte die CPU Auslastung auch nicht so stark sein, aber was mich wundert: warum regt ihr euch wegen diesen 99% Auslastung so auf? Macht bei einem solchen kleinen Ding doch hoffentlich nichts. Bei mir hat davon noch nichts Schaden genommen.
Verfasst: 20.02.2005 13:18
von Ynnus
Die Delay Methode ist in der Tat sehr schlecht gewählt. Dadurch kann der User immer eine halbe Sekunde lang nicht auf das Fenster zugreifen um es etwa zu Verschieben oder zu schließen. Demnach muss man mehrfach klicken bis irgendwann per Zufall der Tastendruck erkannt wird, weil gerade die 500 ms abgelaufen sind und die anderen Messages verarbeitet werden können. Das solltest du schnell korigieren.

Verfasst: 20.02.2005 14:08
von MVXA
Bei mir wird die CPU nicht zu 100% ausgelastet

. Und das mit dem Delay werde ich dann nochmal überarbeiten...
Verfasst: 20.02.2005 15:05
von Hroudtwolf
Prozessorbelastung hin oder her....
Dat Ding ist goldig.

Verfasst: 20.02.2005 22:04
von Deeem2031
richtig süß
aber der Code sollte wirklich überarbeitet werden, meine Idee wäre so:
Code: Alles auswählen
Global frmMain.l, lblKyrbe.l, fntArial.l, lngStep.l
frmMain = OpenWindow(#PB_Any, 0, 0, 100, 25, #PB_Window_ScreenCentered | #PB_Window_SystemMenu, "Kirby")
SetTimer_(WindowID(),1,500,0)
If frmMain <> 0
fntArial = LoadFont(1, "Arial", 9)
If CreateGadgetList(WindowID(frmMain))
lblKyrbe = TextGadget(#PB_Any, 25, 5, 50, 20, "(>^_^)>")
SetGadgetFont(lblKyrbe, fntArial)
EndIf
Repeat
Select WaitWindowEvent()
Case #WM_TIMER
Select lngStep
Case 0: SetGadgetText(lblKyrbe, "<(^_^<)")
Case 1: SetGadgetText(lblKyrbe, "^(^_^)^")
Case 2: SetGadgetText(lblKyrbe, "(>^_^)>")
Default: lngStep = -1
EndSelect
lngStep + 1
Case #PB_Event_CloseWindow
quit = 1
EndSelect
Until quit
EndIf
Verfasst: 20.02.2005 23:18
von MVXA
@Deeem2031
Joa, kann man so stehen lassen. Ich hate nur keine Zeit heute das nochmal zu fixen. Musste für 2 Arbeiten lernen und sonst noch Hausaufgaben machen

. Ne interessante Idee wäre es ein Programm zu schreiben das speziel Dateien mit sollchen Ascii Bildchen/Filmchen einliest und dann ausführt

.