Seite 2 von 2

Verfasst: 28.11.2007 23:44
von Franky
Kurzschreibweise is ok ;)

Code: Alles auswählen

;Durchgang=9
Define event.l, GadgetID.l ;hinzugefügt, NicTheQuick (2)
Define Anzahl.l = 1 ;hinzugefügt, NicTheQuick (8)
Global aktiv.l;hinzugefügt, Franky (9)
Procedure HauptFunktion(wert1.l);Z1, Franky (5)
  Protected a.l;Hinzugefügt, Franky (5)
  StartDrawing(ImageOutput(0)) ;Z1, Deeem2031 (6)
    For a=0 To wert1;Z2, Franky (5)
      Circle(Random(489),Random(465),Random(5)+1,Random($FFFFFF)) ;Z2, Deeem2031 (6)
    Next;Z2, Franky (5)
    DrawingMode(#PB_2DDrawing_Transparent) ;Z1, PMV (7)
    DrawText(5, 5, "Programm des deutschen PureBasic Forums: www.pure-board.de", Random($FFFFFF)) ;Z2, PMV (7)
  StopDrawing() ;Z1, Deeem2031 (6)
  SetGadgetState(2, ImageID(0)) ;Z3, PMV (7)
EndProcedure;Z1, Franky (5)

Procedure NebenFunktion() ;Z3, NicTheQuick (8)
Protected posx.f,posy.f,radius.f;hinzugefügt, Franky(9)
EndProcedure ;Z3, NicTheQuick (8)

If CreateGadgetList(OpenWindow(1, 100, 100, 500, 500, "Das Super-Pure-Board-Programm")) ;Geändert, Z1, Deeem2031 (3)
;If OpenWindow(1, 100, 100, 500, 500, "Das Super-Pure-Board-Programm") ;Z1, Franky (1)
  ButtonGadget(0,5,475,490,20,"Start") ;Z2, Deeem2031 (3)
  ContainerGadget(1, 5, 5, 490, 465, #PB_Container_Single) ;Z1, milan1612 (4)
    ImageGadget(2,0,0,490,465,CreateImage(0,490,465)) ;Z3, Deeem2031 (6)
  CloseGadgetList();Auf Wunsch für Milan hinzugefügt (5)
  Repeat ;Z2, Franky (1)
    event = WaitWindowEvent() ;Z3, Franky (1)
    GadgetID = EventGadget() ;Z1, NicTheQuick (2)
    If aktiv=1; Z1, Franky (9)
      NebenFunktion(); Z2, Franky (9)
    EndIf
    Select event ;Z2, NicTheQuick (2)
      Case #PB_Event_Gadget ;Z3, NicTheQuick (2)
        Select GadgetID ;Z3, Deeem2031 (3)
          Case 0 ;Geändert, PMV (7)
          ;Case 1 ;Z2, milan1612 (4)
            If EventType() = #PB_EventType_LeftClick ;Z3, milan1612 (4)
              HauptFunktion(Anzahl) ;Z1, NicTheQuick (8)
              aktiv=aktiv!1; Z3, Franky (9)
              ;HauptFunktion(15) ;Z3, Franky (5)
              Anzahl + 1 ;Z2, NicTheQuick (8)
            EndIf ;Z3, milan1612 (4)
        EndSelect ;Z3, Deeem2031 (3)
    EndSelect ;Z2, NicTheQuick (2)
  Until event = #PB_Event_CloseWindow ;Z2, Franky (1)
EndIf ;Z1, Franky (1)
Was haltet ihr von der Menge an Befehlszeilen? Sind 3 zu wenig oder ok?

Verfasst: 29.11.2007 00:03
von PMV
Ich find die Menge ok ... nicht so viel, als das man seinen Gedanken zu
ende führen könnte ... und nicht zu wenig, als das einem komplet die
Hände gebunden sind. :D

Code: Alles auswählen

;Durchgang=10 
Define event.l, GadgetID.l ;hinzugefügt, NicTheQuick (2) 
Define Anzahl.l = 1 ;hinzugefügt, NicTheQuick (8) 
Global aktiv.l;hinzugefügt, Franky (9) 
Procedure HauptFunktion(wert1.l);Z1, Franky (5) 
  Protected a.l;Hinzugefügt, Franky (5) 
  StartDrawing(ImageOutput(0)) ;Z1, Deeem2031 (6) 
    For a=0 To wert1;Z2, Franky (5) 
      Circle(Random(489),Random(465),Random(5)+1,Random($FFFFFF)) ;Z2, Deeem2031 (6) 
    Next;Z2, Franky (5) 
    DrawingMode(#PB_2DDrawing_Transparent) ;Z1, PMV (7) 
    DrawText(5, 5, "Programm des deutschen PureBasic Forums: www.pure-board.de", Random($FFFFFF)) ;Z2, PMV (7) 
  StopDrawing() ;Z1, Deeem2031 (6) 
  SetGadgetState(2, ImageID(0)) ;Z3, PMV (7) 
EndProcedure;Z1, Franky (5) 

Procedure NebenFunktion() ;Z3, NicTheQuick (8) 
  Protected posx.f,posy.f,radius.f = 100 + Random(100) ;Geändert, PMV (10) 
  ;Protected posx.f,posy.f,radius.f;hinzugefügt, Franky(9) 
  CreateImage(1, radius, radius) ;Z1, PMV (10)
  StartDrawing(ImageOutput(0)) ;Z2, PMV (10)
     DrawImage(ImageID(1), posx, posy) ;Z3, PMV (10)
  StopDrawing() ;Z2, PMV (10)
EndProcedure ;Z3, NicTheQuick (8) 

If CreateGadgetList(OpenWindow(1, 100, 100, 500, 500, "Das Super-Pure-Board-Programm")) ;Geändert, Z1, Deeem2031 (3) 
;If OpenWindow(1, 100, 100, 500, 500, "Das Super-Pure-Board-Programm") ;Z1, Franky (1) 
  ButtonGadget(0,5,475,490,20,"Start") ;Z2, Deeem2031 (3) 
  ContainerGadget(1, 5, 5, 490, 465, #PB_Container_Single) ;Z1, milan1612 (4) 
    ImageGadget(2,0,0,490,465,CreateImage(0,490,465)) ;Z3, Deeem2031 (6) 
  CloseGadgetList();Auf Wunsch für Milan hinzugefügt (5) 
  Repeat ;Z2, Franky (1) 
    event = WaitWindowEvent() ;Z3, Franky (1) 
    GadgetID = EventGadget() ;Z1, NicTheQuick (2) 
    If aktiv=1; Z1, Franky (9) 
      NebenFunktion(); Z2, Franky (9) 
    EndIf 
    Select event ;Z2, NicTheQuick (2) 
      Case #PB_Event_Gadget ;Z3, NicTheQuick (2) 
        Select GadgetID ;Z3, Deeem2031 (3) 
          Case 0 ;Geändert, PMV (7) 
          ;Case 1 ;Z2, milan1612 (4) 
            If EventType() = #PB_EventType_LeftClick ;Z3, milan1612 (4) 
              HauptFunktion(Anzahl) ;Z1, NicTheQuick (8) 
              aktiv=aktiv!1; Z3, Franky (9) 
              ;HauptFunktion(15) ;Z3, Franky (5) 
              Anzahl + 1 ;Z2, NicTheQuick (8) 
            EndIf ;Z3, milan1612 (4) 
        EndSelect ;Z3, Deeem2031 (3) 
    EndSelect ;Z2, NicTheQuick (2) 
  Until event = #PB_Event_CloseWindow ;Z2, Franky (1) 
EndIf ;Z1, Franky (1)
MFG PMV

Verfasst: 29.11.2007 00:22
von Deeem2031
Ich kann mir nich vorstellen wie daraus noch was halbwegs sinnvolles werden soll :mrgreen:

Code: Alles auswählen

;Durchgang=11

Structure thing_struc ;Z1, Deeem2031 (11)
EndStructure ;Z1, Deeem2031 (11)

Define event.l, GadgetID.l ;hinzugefügt, NicTheQuick (2) 
Define Anzahl.l = 1 ;hinzugefügt, NicTheQuick (8) 
Global aktiv.l;hinzugefügt, Franky (9) 
Global NewList thing.thing_struc() ;Z2, Deeem2031 (11)

Procedure HauptFunktion(wert1.l);Z1, Franky (5) 
  Protected a.l;Hinzugefügt, Franky (5) 
  StartDrawing(ImageOutput(0)) ;Z1, Deeem2031 (6) 
    For a=0 To wert1;Z2, Franky (5) 
      Circle(Random(489),Random(465),Random(5)+1,Random($FFFFFF)) ;Z2, Deeem2031 (6) 
    Next;Z2, Franky (5) 
    DrawingMode(#PB_2DDrawing_Transparent) ;Z1, PMV (7) 
    DrawText(5, 5, "Programm des deutschen PureBasic Forums: www.pure-board.de", Random($FFFFFF)) ;Z2, PMV (7) 
  StopDrawing() ;Z1, Deeem2031 (6) 
  SetGadgetState(2, ImageID(0)) ;Z3, PMV (7) 
EndProcedure;Z1, Franky (5) 

Procedure NebenFunktion() ;Z3, NicTheQuick (8) 
  Protected posx.f,posy.f,radius.f = 100 + Random(100) ;Geändert, PMV (10) 
  ;Protected posx.f,posy.f,radius.f;hinzugefügt, Franky(9) 
  CreateImage(1, radius, radius) ;Z1, PMV (10) 
  AddElement(thing()) ;Z3, Deeem2031 (11)
  StartDrawing(ImageOutput(0)) ;Z2, PMV (10) 
     DrawImage(ImageID(1), posx, posy) ;Z3, PMV (10) 
  StopDrawing() ;Z2, PMV (10) 
EndProcedure ;Z3, NicTheQuick (8) 

If CreateGadgetList(OpenWindow(1, 100, 100, 500, 500, "Das Super-Pure-Board-Programm")) ;Geändert, Z1, Deeem2031 (3) 
;If OpenWindow(1, 100, 100, 500, 500, "Das Super-Pure-Board-Programm") ;Z1, Franky (1) 
  ButtonGadget(0,5,475,490,20,"Start") ;Z2, Deeem2031 (3) 
  ContainerGadget(1, 5, 5, 490, 465, #PB_Container_Single) ;Z1, milan1612 (4) 
    ImageGadget(2,0,0,490,465,CreateImage(0,490,465)) ;Z3, Deeem2031 (6) 
  CloseGadgetList();Auf Wunsch für Milan hinzugefügt (5) 
  Repeat ;Z2, Franky (1) 
    event = WaitWindowEvent() ;Z3, Franky (1) 
    GadgetID = EventGadget() ;Z1, NicTheQuick (2) 
    If aktiv=1; Z1, Franky (9) 
      NebenFunktion(); Z2, Franky (9) 
    EndIf 
    Select event ;Z2, NicTheQuick (2) 
      Case #PB_Event_Gadget ;Z3, NicTheQuick (2) 
        Select GadgetID ;Z3, Deeem2031 (3) 
          Case 0 ;Geändert, PMV (7) 
          ;Case 1 ;Z2, milan1612 (4) 
            If EventType() = #PB_EventType_LeftClick ;Z3, milan1612 (4) 
              HauptFunktion(Anzahl) ;Z1, NicTheQuick (8) 
              aktiv=aktiv!1; Z3, Franky (9) 
              ;HauptFunktion(15) ;Z3, Franky (5) 
              Anzahl + 1 ;Z2, NicTheQuick (8) 
            EndIf ;Z3, milan1612 (4) 
        EndSelect ;Z3, Deeem2031 (3) 
    EndSelect ;Z2, NicTheQuick (2) 
  Until event = #PB_Event_CloseWindow ;Z2, Franky (1) 
EndIf ;Z1, Franky (1)

Verfasst: 29.11.2007 01:15
von hardfalcon

Code: Alles auswählen

  ;Durchgang=12

Structure thing_struc ;Z1, Deeem2031 (11) 
EndStructure ;Z1, Deeem2031 (11) 

Define event.l, GadgetID.l ;hinzugefügt, NicTheQuick (2) 
Define Anzahl.l = 1 ;hinzugefügt, NicTheQuick (8) 
Global aktiv.l;hinzugefügt, Franky (9) 
Global NewList thing.thing_struc() ;Z2, Deeem2031 (11) 

Procedure HauptFunktion(wert1.l);Z1, Franky (5) 
  Protected a.l;Hinzugefügt, Franky (5) 
  StartDrawing(ImageOutput(0)) ;Z1, Deeem2031 (6) 
    For a=0 To wert1;Z2, Franky (5) 
      Circle(Random(489),Random(465),Random(5)+1,Random($FFFFFF)) ;Z2, Deeem2031 (6) 
      Line(Int(Abs(Cos(wert1+a)*489)),Int(Abs(Sin(wert1+a)*465)),Int(Abs(Sin((wert1+a))*489)),Int(Cos(wert1+a)*465),Int(Abs(Tan(a)*255))<<((Int(Second(Date())/10)%3)*8)) ;Z1, hardfalcon (12)
    Next;Z2, Franky (5) 
    DrawingMode(#PB_2DDrawing_Transparent) ;Z1, PMV (7) 
    DrawText(5, 5, "Programm des deutschen PureBasic Forums: www.pure-board.de", Random($FFFFFF)) ;Z2, PMV (7) 
  StopDrawing() ;Z1, Deeem2031 (6) 
  SetGadgetState(2, ImageID(0)) ;Z3, PMV (7) 
EndProcedure;Z1, Franky (5) 

Procedure NebenFunktion() ;Z3, NicTheQuick (8) 
  Protected posx.f,posy.f,radius.f = 100 + Random(100) ;Geändert, PMV (10) 
  ;Protected posx.f,posy.f,radius.f;hinzugefügt, Franky(9) 
  CreateImage(1, radius, radius) ;Z1, PMV (10) 
  AddElement(thing()) ;Z3, Deeem2031 (11) 
  StartDrawing(ImageOutput(0)) ;Z2, PMV (10) 
     DrawImage(ImageID(1), posx, posy) ;Z3, PMV (10) 
  StopDrawing() ;Z2, PMV (10) 
EndProcedure ;Z3, NicTheQuick (8) 

If CreateGadgetList(OpenWindow(1, 100, 100, 500, 500, "Das Super-Pure-Board-Programm")) ;Geändert, Z1, Deeem2031 (3) 
;If OpenWindow(1, 100, 100, 500, 500, "Das Super-Pure-Board-Programm") ;Z1, Franky (1) 
  ButtonGadget(0,5,475,490,20,"Start") ;Z2, Deeem2031 (3) 
  ContainerGadget(1, 5, 5, 490, 465, #PB_Container_Single) ;Z1, milan1612 (4) 
    ImageGadget(2,0,0,490,465,CreateImage(0,490,465)) ;Z3, Deeem2031 (6) 
  CloseGadgetList();Auf Wunsch für Milan hinzugefügt (5) 
  Repeat ;Z2, Franky (1) 
    event = WaitWindowEvent() ;Z3, Franky (1) 
    GadgetID = EventGadget() ;Z1, NicTheQuick (2) 
    If aktiv=1; Z1, Franky (9) 
      NebenFunktion(); Z2, Franky (9) 
      HauptFunktion(Anzahl) ;Z2, hardfalcon (12)
      Anzahl + 1 ;Z3, hardfalcon (12)
    EndIf 
    Select event ;Z2, NicTheQuick (2) 
      Case #PB_Event_Gadget ;Z3, NicTheQuick (2) 
        Select GadgetID ;Z3, Deeem2031 (3) 
          Case 0 ;Geändert, PMV (7) 
          ;Case 1 ;Z2, milan1612 (4) 
            If EventType() = #PB_EventType_LeftClick ;Z3, milan1612 (4) 
              ;HauptFunktion(Anzahl) ;Z1, NicTheQuick (8)
              aktiv=aktiv!1; Z3, Franky (9) 
              ;HauptFunktion(15) ;Z3, Franky (5) 
              ;Anzahl + 1 ;Z2, NicTheQuick (8) 
            EndIf ;Z3, milan1612 (4) 
        EndSelect ;Z3, Deeem2031 (3) 
    EndSelect ;Z2, NicTheQuick (2) 
  Until event = #PB_Event_CloseWindow ;Z2, Franky (1) 
EndIf ;Z1, Franky (1)

Verfasst: 29.11.2007 01:45
von Deeem2031

Code: Alles auswählen

;Durchgang=13 

Structure thing_struc ;Z1, Deeem2031 (11) 
  pos.l ;hinzugefügt, Deeem2031 (13)
EndStructure ;Z1, Deeem2031 (11) 

Define event.l, GadgetID.l ;hinzugefügt, NicTheQuick (2) 
Define Anzahl.l = 1 ;hinzugefügt, NicTheQuick (8) 
Global aktiv.l;hinzugefügt, Franky (9) 
Global NewList thing.thing_struc() ;Z2, Deeem2031 (11) 

Procedure HauptFunktion(wert1.l);Z1, Franky (5) 
  Protected a.l;Hinzugefügt, Franky (5) 
  StartDrawing(ImageOutput(0)) ;Z1, Deeem2031 (6) 
    For a=0 To wert1;Z2, Franky (5) 
      ForEach thing() ;Z1, Deeem2031 (13) 
        Circle(245 + ((thing()\pos>>16)&$FF-128) / (thing()\pos&$FF),232 + ((thing()\pos>>8)&$FF-128) / (thing()\pos&$FF+1),Random(5)+1,Random($FFFFFF)) ;(Geändert) Z2, Deeem2031 (13) 
      Next ;Z1, Deeem2031 (13)
      ;Circle(Random(489),Random(465),Random(5)+1,Random($FFFFFF)) ;Z2, Deeem2031 (6) 
      Line(Int(Abs(Cos(wert1+a)*489)),Int(Abs(Sin(wert1+a)*465)),Int(Abs(Sin((wert1+a))*489)),Int(Cos(wert1+a)*465),Int(Abs(Tan(a)*255))<<((Int(Second(Date())/10)%3)*8)) ;Z1, hardfalcon (12) 
    Next;Z2, Franky (5) 
    DrawingMode(#PB_2DDrawing_Transparent) ;Z1, PMV (7) 
    DrawText(5, 5, "Programm des deutschen PureBasic Forums: www.pure-board.de", Random($FFFFFF)) ;Z2, PMV (7)
  StopDrawing() ;Z1, Deeem2031 (6)
  SetGadgetState(2, ImageID(0)) ;Z3, PMV (7) 
EndProcedure;Z1, Franky (5) 

Procedure NebenFunktion() ;Z3, NicTheQuick (8) 
  Protected posx.f,posy.f,radius.f = 100 + Random(100) ;Geändert, PMV (10) 
  ;Protected posx.f,posy.f,radius.f;hinzugefügt, Franky(9) 
  CreateImage(1, radius, radius) ;Z1, PMV (10) 
  AddElement(thing()) ;Z3, Deeem2031 (11) 
  thing()\pos = (Random(200)<<16) | (Random(200)<<8) | (Random(5)+1) ;Z3, Deeem2031 (13)
  StartDrawing(ImageOutput(0)) ;Z2, PMV (10) 
     DrawImage(ImageID(1), posx, posy) ;Z3, PMV (10) 
  StopDrawing() ;Z2, PMV (10) 
EndProcedure ;Z3, NicTheQuick (8) 

If CreateGadgetList(OpenWindow(1, 100, 100, 500, 500, "Das Super-Pure-Board-Programm")) ;Geändert, Z1, Deeem2031 (3) 
;If OpenWindow(1, 100, 100, 500, 500, "Das Super-Pure-Board-Programm") ;Z1, Franky (1) 
  ButtonGadget(0,5,475,490,20,"Start") ;Z2, Deeem2031 (3) 
  ContainerGadget(1, 5, 5, 490, 465, #PB_Container_Single) ;Z1, milan1612 (4) 
    ImageGadget(2,0,0,490,465,CreateImage(0,490,465)) ;Z3, Deeem2031 (6) 
  CloseGadgetList();Auf Wunsch für Milan hinzugefügt (5) 
  Repeat ;Z2, Franky (1) 
    event = WaitWindowEvent() ;Z3, Franky (1) 
    GadgetID = EventGadget() ;Z1, NicTheQuick (2) 
    If aktiv=1; Z1, Franky (9) 
      NebenFunktion(); Z2, Franky (9) 
      HauptFunktion(Anzahl) ;Z2, hardfalcon (12) 
      Anzahl + 1 ;Z3, hardfalcon (12) 
    EndIf 
    Select event ;Z2, NicTheQuick (2) 
      Case #PB_Event_Gadget ;Z3, NicTheQuick (2) 
        Select GadgetID ;Z3, Deeem2031 (3) 
          Case 0 ;Geändert, PMV (7) 
          ;Case 1 ;Z2, milan1612 (4) 
            If EventType() = #PB_EventType_LeftClick ;Z3, milan1612 (4) 
              ;HauptFunktion(Anzahl) ;Z1, NicTheQuick (8) 
              aktiv=aktiv!1; Z3, Franky (9) 
              ;HauptFunktion(15) ;Z3, Franky (5) 
              ;Anzahl + 1 ;Z2, NicTheQuick (8) 
            EndIf ;Z3, milan1612 (4) 
        EndSelect ;Z3, Deeem2031 (3) 
    EndSelect ;Z2, NicTheQuick (2) 
  Until event = #PB_Event_CloseWindow ;Z2, Franky (1) 
EndIf ;Z1, Franky (1)
Irgendwer sollte was einbaun, damit die thing()s irgendwann auch wieder gelöscht werden, sonst wirds zu langsam ;)

Verfasst: 29.11.2007 08:51
von NicTheQuick

Code: Alles auswählen

;Durchgang=14

Structure thing_struc ;Z1, Deeem2031 (11)
  pos.l ;hinzugefügt, Deeem2031 (13)
  radius.l ;hinzugefügt, NicTheQuick (14)
  color.l ;hinzugefügt, NicTheQuick (14)
EndStructure ;Z1, Deeem2031 (11)

Define event.l, GadgetID.l ;hinzugefügt, NicTheQuick (2)
Define Anzahl.l = 1 ;hinzugefügt, NicTheQuick (8)
Global aktiv.l;hinzugefügt, Franky (9)
Global NewList thing.thing_struc() ;Z2, Deeem2031 (11)

Procedure HauptFunktion(wert1.l);Z1, Franky (5)
  Protected a.l;Hinzugefügt, Franky (5)
  Protected r.l ;hinzugefügt, NicTheQuick (14)
  StartDrawing(ImageOutput(0)) ;Z1, Deeem2031 (6)
    For a=0 To wert1;Z2, Franky (5)
      ForEach thing() ;Z1, Deeem2031 (13)
        For r = thing()\radius To 1 Step -1 ;Z1, NicTheQuick (14)
          Circle(245 + ((thing()\pos>>16)&$FF-128) / (thing()\pos&$FF),232 + ((thing()\pos>>8)&$FF-128) / (thing()\pos&$FF+1),r,RGB(Red(thing()\color) * (thing()\radius - r) / thing()\radius, Green(thing()\color) * (thing()\radius - r) / thing()\radius, Blue(thing()\color) * (thing()\radius - r) / thing()\radius)) ;(Geändert) Z2, NicTheQuick (14)
          ;Circle(245 + ((thing()\pos>>16)&$FF-128) / (thing()\pos&$FF),232 + ((thing()\pos>>8)&$FF-128) / (thing()\pos&$FF+1),Random(5)+1,Random($FFFFFF)) ;(Geändert) Z2, Deeem2031 (13)
        Next ;Z1, NicTheQuick (14)
      Next ;Z1, Deeem2031 (13)
      ;Circle(Random(489),Random(465),Random(5)+1,Random($FFFFFF)) ;Z2, Deeem2031 (6)
      Line(Int(Abs(Cos(wert1+a)*489)),Int(Abs(Sin(wert1+a)*465)),Int(Abs(Sin((wert1+a))*489)),Int(Cos(wert1+a)*465),Int(Abs(Tan(a)*255))<<((Int(Second(Date())/10)%3)*8)) ;Z1, hardfalcon (12)
    Next;Z2, Franky (5)
    DrawingMode(#PB_2DDrawing_Transparent) ;Z1, PMV (7)
    DrawText(5, 5, "Programm des deutschen PureBasic Forums: www.pure-board.de", Random($FFFFFF)) ;Z2, PMV (7)
  StopDrawing() ;Z1, Deeem2031 (6)
  SetGadgetState(2, ImageID(0)) ;Z3, PMV (7)
EndProcedure;Z1, Franky (5)

Procedure NebenFunktion() ;Z3, NicTheQuick (8)
  Protected posx.f,posy.f,radius.f = 100 + Random(100) ;Geändert, PMV (10)
  ;Protected posx.f,posy.f,radius.f;hinzugefügt, Franky(9)
  CreateImage(1, radius, radius) ;Z1, PMV (10)
  AddElement(thing()) ;Z3, Deeem2031 (11)
  thing()\pos = (Random(200)<<16) | (Random(200)<<8) | (Random(5)+1) ;Z3, Deeem2031 (13)
  thing()\radius = Random(10) ;Z3, NicTheQuick
  StartDrawing(ImageOutput(0)) ;Z2, PMV (10)
     DrawImage(ImageID(1), posx, posy) ;Z3, PMV (10)
  StopDrawing() ;Z2, PMV (10)
EndProcedure ;Z3, NicTheQuick (8)

If CreateGadgetList(OpenWindow(1, 100, 100, 500, 500, "Das Super-Pure-Board-Programm")) ;Geändert, Z1, Deeem2031 (3)
;If OpenWindow(1, 100, 100, 500, 500, "Das Super-Pure-Board-Programm") ;Z1, Franky (1)
  ButtonGadget(0,5,475,490,20,"Start") ;Z2, Deeem2031 (3)
  ContainerGadget(1, 5, 5, 490, 465, #PB_Container_Single) ;Z1, milan1612 (4)
    ImageGadget(2,0,0,490,465,CreateImage(0,490,465)) ;Z3, Deeem2031 (6)
  CloseGadgetList();Auf Wunsch für Milan hinzugefügt (5)
  Repeat ;Z2, Franky (1)
    event = WaitWindowEvent(10) ;geändert, NicTheQuick (14)
    ;event = WaitWindowEvent() ;Z3, Franky (1)
    GadgetID = EventGadget() ;Z1, NicTheQuick (2)
    If aktiv=1; Z1, Franky (9)
      NebenFunktion(); Z2, Franky (9)
      HauptFunktion(Anzahl) ;Z2, hardfalcon (12)
      Anzahl + 1 ;Z3, hardfalcon (12)
    EndIf
    Select event ;Z2, NicTheQuick (2)
      Case #PB_Event_Gadget ;Z3, NicTheQuick (2)
        Select GadgetID ;Z3, Deeem2031 (3)
          Case 0 ;Geändert, PMV (7)
          ;Case 1 ;Z2, milan1612 (4)
            If EventType() = #PB_EventType_LeftClick ;Z3, milan1612 (4)
              ;HauptFunktion(Anzahl) ;Z1, NicTheQuick (8)
              aktiv=aktiv!1; Z3, Franky (9)
              ;HauptFunktion(15) ;Z3, Franky (5)
              ;Anzahl + 1 ;Z2, NicTheQuick (8)
            EndIf ;Z3, milan1612 (4)
        EndSelect ;Z3, Deeem2031 (3)
    EndSelect ;Z2, NicTheQuick (2)
  Until event = #PB_Event_CloseWindow ;Z2, Franky (1)
EndIf ;Z1, Franky (1)
Ich hab mal die Circles schöner gemacht. Damit man sie sieht, gehört
aber noch eine Zeile unter 'thing()\Radius = ...', damit eine Farbe
zugewiesen wird. Außerdem kann man jetzt die For-Next-Schleife in der
Hauptfunktion, die mit 'a' von 0 bis 'wert1' iteriert, rauswerfen.

Verfasst: 29.11.2007 17:11
von Franky

Code: Alles auswählen

;Durchgang=15

Structure thing_struc ;Z1, Deeem2031 (11)
  pos.l ;hinzugefügt, Deeem2031 (13)
  radius.l ;hinzugefügt, NicTheQuick (14)
  color.l ;hinzugefügt, NicTheQuick (14)
EndStructure ;Z1, Deeem2031 (11)

Define event.l, GadgetID.l ;hinzugefügt, NicTheQuick (2)
Define Anzahl.l = 1 ;hinzugefügt, NicTheQuick (8)
Global aktiv.l;hinzugefügt, Franky (9)
Global NewList thing.thing_struc() ;Z2, Deeem2031 (11)

Procedure HauptFunktion(wert1.l);Z1, Franky (5)
  Protected a.l;Hinzugefügt, Franky (5)
  Protected r.l ;hinzugefügt, NicTheQuick (14)
  StartDrawing(ImageOutput(0)) ;Z1, Deeem2031 (6)
    For a=0 To wert1;Z2, Franky (5)
      ForEach thing() ;Z1, Deeem2031 (13)
        For r = thing()\radius To 1 Step -1 ;Z1, NicTheQuick (14)
          thing()\color=RGB(Random(255),Random(255),Random(255));Z1, Franky (15)
          Circle(245 + ((thing()\pos>>16)&$FF-128) / (thing()\pos&$FF),232 + ((thing()\pos>>8)&$FF-128) / (thing()\pos&$FF+1),r,RGB(Red(thing()\color) * (thing()\radius - r) / thing()\radius, Green(thing()\color) * (thing()\radius - r) / thing()\radius, Blue(thing()\color) * (thing()\radius - r) / thing()\radius)) ;(Geändert) Z2, NicTheQuick (14)
          ;Circle(245 + ((thing()\pos>>16)&$FF-128) / (thing()\pos&$FF),232 + ((thing()\pos>>8)&$FF-128) / (thing()\pos&$FF+1),Random(5)+1,Random($FFFFFF)) ;(Geändert) Z2, Deeem2031 (13)
        Next ;Z1, NicTheQuick (14)
      Next ;Z1, Deeem2031 (13)
      ;Circle(Random(489),Random(465),Random(5)+1,Random($FFFFFF)) ;Z2, Deeem2031 (6)
      Line(Int(Abs(Cos(wert1+a)*489)),Int(Abs(Sin(wert1+a)*465)),Int(Abs(Sin((wert1+a))*489)),Int(Cos(wert1+a)*465),Int(Abs(Tan(a)*255))<<((Int(Second(Date())/10)%3)*8)) ;Z1, hardfalcon (12)
    Next;Z2, Franky (5)
    DrawingMode(#PB_2DDrawing_Transparent) ;Z1, PMV (7)
    DrawText(5, 5, "Programm des deutschen PureBasic Forums: www.pure-board.de", Random($FFFFFF)) ;Z2, PMV (7)
  StopDrawing() ;Z1, Deeem2031 (6)
  SetGadgetState(2, ImageID(0)) ;Z3, PMV (7)
EndProcedure;Z1, Franky (5)

Procedure NebenFunktion() ;Z3, NicTheQuick (8)
  Protected posx.f,posy.f,radius.f = 100 + Random(100) ;Geändert, PMV (10)
  ;Protected posx.f,posy.f,radius.f;hinzugefügt, Franky(9)
  CreateImage(1, radius, radius) ;Z1, PMV (10)
  AddElement(thing()) ;Z3, Deeem2031 (11)
  thing()\pos = (Random(200)<<16) | (Random(200)<<8) | (Random(5)+1) ;Z3, Deeem2031 (13)
  thing()\radius = Random(10) ;Z3, NicTheQuick
  StartDrawing(ImageOutput(0)) ;Z2, PMV (10)
     DrawImage(ImageID(1), posx, posy) ;Z3, PMV (10)
  StopDrawing() ;Z2, PMV (10)
EndProcedure ;Z3, NicTheQuick (8)

If CreateGadgetList(OpenWindow(1, 100, 100, 500, 550, "Das Super-Pure-Board-Programm")) ;Geändert, Z1, Deeem2031 (3)
;If OpenWindow(1, 100, 100, 500, 500, "Das Super-Pure-Board-Programm") ;Z1, Franky (1)
  PanelGadget(3,0,0,WindowWidth(1),WindowHeight(1));Z2, Franky(15)
  AddGadgetItem(3,1,"Bunte Bilder");Z3, Franky(15)
  ButtonGadget(0,5,475,490,20,"Start") ;Z2, Deeem2031 (3)
  ContainerGadget(1, 5, 5, 490, 465, #PB_Container_Single) ;Z1, milan1612 (4)
    ImageGadget(2,0,0,490,465,CreateImage(0,490,465)) ;Z3, Deeem2031 (6)
  CloseGadgetList();Auf Wunsch für Milan hinzugefügt (5)
  Repeat ;Z2, Franky (1)
    event = WaitWindowEvent(10) ;geändert, NicTheQuick (14)
    ;event = WaitWindowEvent() ;Z3, Franky (1)
    GadgetID = EventGadget() ;Z1, NicTheQuick (2)
    If aktiv=1; Z1, Franky (9)
      NebenFunktion(); Z2, Franky (9)
      HauptFunktion(Anzahl) ;Z2, hardfalcon (12)
      Anzahl + 1 ;Z3, hardfalcon (12)
    EndIf
    Select event ;Z2, NicTheQuick (2)
      Case #PB_Event_Gadget ;Z3, NicTheQuick (2)
        Select GadgetID ;Z3, Deeem2031 (3)
          Case 0 ;Geändert, PMV (7)
          ;Case 1 ;Z2, milan1612 (4)
            If EventType() = #PB_EventType_LeftClick ;Z3, milan1612 (4)
              ;HauptFunktion(Anzahl) ;Z1, NicTheQuick (8)
              aktiv=aktiv!1; Z3, Franky (9)
              ;HauptFunktion(15) ;Z3, Franky (5)
              ;Anzahl + 1 ;Z2, NicTheQuick (8)
            EndIf ;Z3, milan1612 (4)
        EndSelect ;Z3, Deeem2031 (3)
    EndSelect ;Z2, NicTheQuick (2)
  Until event = #PB_Event_CloseWindow ;Z2, Franky (1)
EndIf ;Z1, Franky (1)
OK, Kinder, Folgende neue Regelvorschläge:

1.)Proceduren Dienen der Übersicht, die Deklaration einer Procedure sollte für den Schreibenden also keinen Nachteil ergeben, daher denke ich:
1.1) Procedure, EndProcedure zählen nicht als BEfehlszeilen
1.2) Wenn man eine Procedure erstellt, darf sie eine Zeile enthalten, die auch nicht zählt (Bei einmaligem Aufruf ist das gleichbedeutend mit einem Code ohne Procedureaufruf)
1.3)Beim hinzufügen eines Parameters gilt die Gesamte änderung des Procedure-Kopfes mit Änderung der einzelnen Aufrufe als änderung einer Befehlszeile. So verhindern wir übermäßige Nutzung optionaler Parameter

2)Die Definition von Befehlszeile würde ich gerne leicht abändern von:
...Der ohne einen Doppelpunkt in eine Zeile geschrieben werden kann....
in
...Der ohne einen Doppelpunkt in eine Zeile geschrieben werden könnte....
Der Grund hierfür ist zum Beispiel in der Procedure für die Platzierung der Kreise zu sehen. Da hat man einen unendlich langen Wuust, den man besser in 4 Zeilen teilen könnte:
Zeile 4 enthält den Code, Zeile 1-3 deklarationen für Variablen, die dann in den Code eingefügt werden. Ich möchte so zu sagen die Auslagerung von Code anstreben aus gründen der Übersichtlichkeit ;) den Beweis kann dann ja jeder direkt bei der Änderung kurz unten angeben.


Äh, zum Thema Procedure nochmal:

Darf jemand Proceduren erstellen, die er dann nicht benutzt? Ich wär dagegen, man kann ja am ende seiner antwort immer noch schreiben:
"Füg mal bitte wer das hier ein".....

Sonst haben wir nacher 1000 Ungenutzte Proceduren ;)

Achja, also mal die Liste der Dinge, die als einzelnes keine Befehlszeile darstellen:

Code: Alles auswählen

    Next
    End....(-Select/-If/-etc.)
    Wend
    Repeat (oder Until/Forever, mir egal)
    Procedure und Endprocedure
    Alles von Enumeration bis EndEnumeration
    Global, Static, Protected, Shared
    Alles von Structure bis EndStructure
Ordnung sollte oberstes Gebot sein, damit
-Der Code auch im 100ten Durchlauf noch verstehbar ist (mehr oder Weniger)
-Nicht jeder ab dem 20ten Durchlauf nur noch eigenen Code anfängt und man so parallel mehrere Programme jeweils alleine entwickelt, sondern auf die Codes der Anderen eingeht.


Daher wär auch ein Changelog der eigenen Änderungen am Ende nich schlecht. Hat man den Alten Code noch im Kopf, kann man sich kurz durch den Changelog wieder reindenken.

Kommentare?

Verfasst: 29.11.2007 17:44
von NicTheQuick

Code: Alles auswählen

;Durchgang=15

Structure thing_struc ;Z1, Deeem2031 (11)
  Pos.l ;hinzugefügt, Deeem2031 (13)
  Radius.l ;hinzugefügt, NicTheQuick (14)
  Color.l ;hinzugefügt, NicTheQuick (14)
EndStructure ;Z1, Deeem2031 (11)

Define event.l, GadgetID.l ;hinzugefügt, NicTheQuick (2)
Define Anzahl.l = 1 ;hinzugefügt, NicTheQuick (8)
Global aktiv.l;hinzugefügt, Franky (9)
Global NewList thing.thing_struc() ;Z2, Deeem2031 (11)

Procedure HauptFunktion(wert1.l);Z1, Franky (5)
  Protected a.l;Hinzugefügt, Franky (5)
  Protected r.l ;hinzugefügt, NicTheQuick (14)
  StartDrawing(ImageOutput(0)) ;Z1, Deeem2031 (6)
    For a=0 To wert1;Z2, Franky (5)
      ForEach thing() ;Z1, Deeem2031 (13)
        For r = thing()\Radius To 1 Step -1 ;Z1, NicTheQuick (14)
          ;gelöscht und an anderer Stelle wieder eingefügt, NicTheQuick (16)
          ;thing()\Color=RGB(Random(255),Random(255),Random(255));Z1, Franky (15)
          Circle(245 + ((thing()\Pos>>16)&$FF-128) / (thing()\Pos&$FF),232 + ((thing()\Pos>>8)&$FF-128) / (thing()\Pos&$FF+1),r,RGB(Red(thing()\Color) * (thing()\Radius - r) / thing()\Radius, Green(thing()\Color) * (thing()\Radius - r) / thing()\Radius, Blue(thing()\Color) * (thing()\Radius - r) / thing()\Radius)) ;(Geändert) Z2, NicTheQuick (14)
          ;Circle(245 + ((thing()\pos>>16)&$FF-128) / (thing()\pos&$FF),232 + ((thing()\pos>>8)&$FF-128) / (thing()\pos&$FF+1),Random(5)+1,Random($FFFFFF)) ;(Geändert) Z2, Deeem2031 (13)
        Next ;Z1, NicTheQuick (14)
      Next ;Z1, Deeem2031 (13)
      ;Circle(Random(489),Random(465),Random(5)+1,Random($FFFFFF)) ;Z2, Deeem2031 (6)
      Line(Int(Abs(Cos(wert1+a)*489)),Int(Abs(Sin(wert1+a)*465)),Int(Abs(Sin((wert1+a))*489)),Int(Cos(wert1+a)*465),Int(Abs(Tan(a)*255))<<((Int(Second(Date())/10)%3)*8)) ;Z1, hardfalcon (12)
    Next;Z2, Franky (5)
    DrawingMode(#PB_2DDrawing_Transparent) ;Z1, PMV (7)
    DrawText(5, 5, "Programm des deutschen PureBasic Forums: www.pure-board.de", Random($FFFFFF)) ;Z2, PMV (7)
  StopDrawing() ;Z1, Deeem2031 (6)
  SetGadgetState(2, ImageID(0)) ;Z3, PMV (7)
EndProcedure;Z1, Franky (5)

Procedure NebenFunktion() ;Z3, NicTheQuick (8)
  Protected posx.f,posy.f,Radius.f = 100 + Random(100) ;Geändert, PMV (10)
  ;Protected posx.f,posy.f,radius.f;hinzugefügt, Franky(9)
  CreateImage(1, Radius, Radius) ;Z1, PMV (10)
  AddElement(thing()) ;Z3, Deeem2031 (11)
  thing()\Pos = (Random(200)<<16) | (Random(200)<<8) | (Random(5)+1) ;Z3, Deeem2031 (13)
  thing()\Radius = Random(10) ;Z3, NicTheQuick
  thing()\Color=Random($FFFFFF);Z1, NicTheQuick (16)
  StartDrawing(ImageOutput(0)) ;Z2, PMV (10)
     DrawImage(ImageID(1), posx, posy) ;Z3, PMV (10)
  StopDrawing() ;Z2, PMV (10)
EndProcedure ;Z3, NicTheQuick (8)

If CreateGadgetList(OpenWindow(1, 100, 100, 500, 550, "Das Super-Pure-Board-Programm")) ;Geändert, Z1, Deeem2031 (3)
;If OpenWindow(1, 100, 100, 500, 500, "Das Super-Pure-Board-Programm") ;Z1, Franky (1)
  PanelGadget(3,0,0,WindowWidth(1),WindowHeight(1));Z2, Franky(15)
  AddGadgetItem(3,1,"Bunte Bilder");Z3, Franky(15)
  ButtonGadget(0,5,475,490,20,"Start") ;geändert, NicTheQuick (16)
  ;ButtonGadget(0,5,475,242,20,"Start") ;Z2, Deeem2031 (3)
  ButtonGadget(4, 252, 475, 242, 20, "Reset") ;Z2, NicTheQuick (16)
  ContainerGadget(1, 5, 5, 490, 465, #PB_Container_Single) ;Z1, milan1612 (4)
    ImageGadget(2,0,0,490,465,CreateImage(0,490,465)) ;Z3, Deeem2031 (6)
  CloseGadgetList();Auf Wunsch für Milan hinzugefügt (5)
  Repeat ;Z2, Franky (1)
    event = WaitWindowEvent(10) ;geändert, NicTheQuick (14)
    ;event = WaitWindowEvent() ;Z3, Franky (1)
    GadgetID = EventGadget() ;Z1, NicTheQuick (2)
    If aktiv=1; Z1, Franky (9)
      NebenFunktion(); Z2, Franky (9)
      HauptFunktion(Anzahl) ;Z2, hardfalcon (12)
      Anzahl + 1 ;Z3, hardfalcon (12)
    EndIf
    Select event ;Z2, NicTheQuick (2)
      Case #PB_Event_Gadget ;Z3, NicTheQuick (2)
        Select GadgetID ;Z3, Deeem2031 (3)
          Case 0 ;Geändert, PMV (7)
          ;Case 1 ;Z2, milan1612 (4)
            If EventType() = #PB_EventType_LeftClick ;Z3, milan1612 (4)
              ;HauptFunktion(Anzahl) ;Z1, NicTheQuick (8)
              aktiv=aktiv!1; Z3, Franky (9)
              ;HauptFunktion(15) ;Z3, Franky (5)
              ;Anzahl + 1 ;Z2, NicTheQuick (8)
            EndIf ;Z3, milan1612 (4)
          Case 4
            ResetList(thing()) ;Z3, NicTheQuick (16)
        EndSelect ;Z3, Deeem2031 (3)
    EndSelect ;Z2, NicTheQuick (2)
  Until event = #PB_Event_CloseWindow ;Z2, Franky (1)
EndIf ;Z1, Franky (1)
Jemand müsste beim Reset noch 'Anzahl' resetten.

Verfasst: 29.11.2007 18:18
von Deeem2031
NTQ, du hast meine Start-Button Zeile kopiert, auskommentiert und die auskommentierte Zeile editiert. :lol:

Code: Alles auswählen

;Durchgang=17

Structure thing_struc ;Z1, Deeem2031 (11) 
  Pos.l ;hinzugefügt, Deeem2031 (13) 
  Radius.l ;hinzugefügt, NicTheQuick (14) 
  Color.l ;hinzugefügt, NicTheQuick (14) 
EndStructure ;Z1, Deeem2031 (11) 

Define event.l, GadgetID.l ;hinzugefügt, NicTheQuick (2) 
Define Anzahl.l = 1 ;hinzugefügt, NicTheQuick (8) 
Global aktiv.l;hinzugefügt, Franky (9) 
Global NewList thing.thing_struc() ;Z2, Deeem2031 (11) 

Procedure HauptFunktion(wert1.l);Z1, Franky (5) 
  Protected a.l;Hinzugefügt, Franky (5) 
  Protected r.l ;hinzugefügt, NicTheQuick (14) 
  StartDrawing(ImageOutput(0)) ;Z1, Deeem2031 (6) 
    For a=0 To wert1;Z2, Franky (5) 
      ForEach thing() ;Z1, Deeem2031 (13) 
        For r = thing()\Radius To 1 Step -1 ;Z1, NicTheQuick (14) 
          ;gelöscht und an anderer Stelle wieder eingefügt, NicTheQuick (16) 
          ;thing()\Color=RGB(Random(255),Random(255),Random(255));Z1, Franky (15) 
          Circle(245 + ((thing()\Pos>>16)&$FF-128) / (thing()\Pos&$FF),232 + ((thing()\Pos>>8)&$FF-128) / (thing()\Pos&$FF+1),r,RGB(Red(thing()\Color) * (thing()\Radius - r) / thing()\Radius, Green(thing()\Color) * (thing()\Radius - r) / thing()\Radius, Blue(thing()\Color) * (thing()\Radius - r) / thing()\Radius)) ;(Geändert) Z2, NicTheQuick (14) 
          ;Circle(245 + ((thing()\pos>>16)&$FF-128) / (thing()\pos&$FF),232 + ((thing()\pos>>8)&$FF-128) / (thing()\pos&$FF+1),Random(5)+1,Random($FFFFFF)) ;(Geändert) Z2, Deeem2031 (13) 
        Next ;Z1, NicTheQuick (14) 
        thing()\Pos+1 ;Z1, Deeem2031 (17)
        If thing()\pos & $FF = 0 ;Z2, Deeem2031 (17)
          DeleteElement(thing()) ;Z3, Deeem2031 (17)
        EndIf  ;Z2, Deeem2031 (17)
      Next ;Z1, Deeem2031 (13) 
      ;Circle(Random(489),Random(465),Random(5)+1,Random($FFFFFF)) ;Z2, Deeem2031 (6) 
      Line(Int(Abs(Cos(wert1+a)*489)),Int(Abs(Sin(wert1+a)*465)),Int(Abs(Sin((wert1+a))*489)),Int(Cos(wert1+a)*465),Int(Abs(Tan(a)*255))<<((Int(Second(Date())/10)%3)*8)) ;Z1, hardfalcon (12) 
    Next;Z2, Franky (5) 
    DrawingMode(#PB_2DDrawing_Transparent) ;Z1, PMV (7) 
    DrawText(5, 5, "Programm des deutschen PureBasic Forums: www.pure-board.de", Random($FFFFFF)) ;Z2, PMV (7) 
  StopDrawing() ;Z1, Deeem2031 (6) 
  SetGadgetState(2, ImageID(0)) ;Z3, PMV (7) 
EndProcedure;Z1, Franky (5) 

Procedure NebenFunktion() ;Z3, NicTheQuick (8) 
  Protected posx.f,posy.f,Radius.f = 100 + Random(100) ;Geändert, PMV (10) 
  ;Protected posx.f,posy.f,radius.f;hinzugefügt, Franky(9) 
  CreateImage(1, Radius, Radius) ;Z1, PMV (10) 
  AddElement(thing()) ;Z3, Deeem2031 (11) 
  thing()\Pos = (Random(200)<<16) | (Random(200)<<8) | (Random(5)+1) ;Z3, Deeem2031 (13) 
  thing()\Radius = Random(10) ;Z3, NicTheQuick 
  thing()\Color=Random($FFFFFF);Z1, NicTheQuick (16) 
  StartDrawing(ImageOutput(0)) ;Z2, PMV (10) 
     DrawImage(ImageID(1), posx, posy) ;Z3, PMV (10) 
  StopDrawing() ;Z2, PMV (10) 
EndProcedure ;Z3, NicTheQuick (8) 

If CreateGadgetList(OpenWindow(1, 100, 100, 500, 550, "Das Super-Pure-Board-Programm")) ;Geändert, Z1, Deeem2031 (3) 
;If OpenWindow(1, 100, 100, 500, 500, "Das Super-Pure-Board-Programm") ;Z1, Franky (1) 
  PanelGadget(3,0,0,WindowWidth(1),WindowHeight(1));Z2, Franky(15) 
  AddGadgetItem(3,1,"Bunte Bilder");Z3, Franky(15) 
  ButtonGadget(0,5,475,242,20,"Start") ;geändert, NicTheQuick (16) 
  ;ButtonGadget(0,5,475,490,20,"Start") ;Z2, Deeem2031 (3) 
  ButtonGadget(4, 252, 475, 242, 20, "Reset") ;Z2, NicTheQuick (16) 
  ContainerGadget(1, 5, 5, 490, 465, #PB_Container_Single) ;Z1, milan1612 (4) 
    ImageGadget(2,0,0,490,465,CreateImage(0,490,465)) ;Z3, Deeem2031 (6) 
  CloseGadgetList();Auf Wunsch für Milan hinzugefügt (5) 
  Repeat ;Z2, Franky (1) 
    event = WaitWindowEvent(10) ;geändert, NicTheQuick (14) 
    ;event = WaitWindowEvent() ;Z3, Franky (1) 
    GadgetID = EventGadget() ;Z1, NicTheQuick (2) 
    If aktiv=1; Z1, Franky (9) 
      NebenFunktion(); Z2, Franky (9) 
      HauptFunktion(Anzahl) ;Z2, hardfalcon (12) 
      Anzahl + 1 ;Z3, hardfalcon (12) 
    EndIf 
    Select event ;Z2, NicTheQuick (2) 
      Case #PB_Event_Gadget ;Z3, NicTheQuick (2) 
        Select GadgetID ;Z3, Deeem2031 (3) 
          Case 0 ;Geändert, PMV (7) 
          ;Case 1 ;Z2, milan1612 (4) 
            If EventType() = #PB_EventType_LeftClick ;Z3, milan1612 (4) 
              ;HauptFunktion(Anzahl) ;Z1, NicTheQuick (8) 
              aktiv=aktiv!1; Z3, Franky (9) 
              ;HauptFunktion(15) ;Z3, Franky (5) 
              ;Anzahl + 1 ;Z2, NicTheQuick (8) 
            EndIf ;Z3, milan1612 (4) 
          Case 4 
            ResetList(thing()) ;Z3, NicTheQuick (16) 
        EndSelect ;Z3, Deeem2031 (3) 
    EndSelect ;Z2, NicTheQuick (2) 
  Until event = #PB_Event_CloseWindow ;Z2, Franky (1) 
EndIf ;Z1, Franky (1)