Kleines Spiel: GruppenCoding

Hier kann alles mögliche diskutiert werden. Themen zu Purebasic sind hier erwünscht.
Flames und Spam kommen ungefragt in den Mülleimer.
Benutzeravatar
Franky
Beiträge: 1132
Registriert: 29.08.2004 16:31
Wohnort: Münsterland
Kontaktdaten:

Kleines Spiel: GruppenCoding

Beitrag von Franky »


Wichtig:
Bevor ihr Postet, schaut einfach nochmal in die Regeln, falls ich doch noch was ändern muss, dies ist ja ein Versuch ;)


So, also:

Hi Leute :)

mir viel gerade mal so ein Spiel ein, dass vielleicht ganz lustig werden könnte:

GruppenCoding 8)
Die Regeln sind ganz einfach:
1.)Person 1 postet einen lauffähigen Code
2.)Person 2 erweitert diesen Code um maximal 3 Befehls-Zeilen
Für Befehlszeilen gilt hierbei folgendes:
2.1)Alles, was man in eine Zeile schreiben kann ohne Doppelpunkt entspricht einer Befehlszeile (Doppelpunkte in Strings zählen natürlich nicht)
2.2)Endkonditionen gelten als zweiter Teil ihrer anfangs-Befehlszeile.

Code: Alles auswählen

If a=2
Endif
Gilt somit als eine Zeile
2.3)Notwendige Erweiterungen (ich will ein Buttongadget machen, brauche also ein CreateGadgetList()) zählen nicht als Befehlszeilen.
2.4)Aus Gründen der Übersichtlichkeit dürfen Zeilen zur Variablendeklaration auch beliebig hinzugefügt werden
2.5)Hinter die Zeile kommt ein ";Z"Zeile", User (Durchgang)", damit man am Ende immer noch sehen kann, wer was war. Passt dazu bitte immer den Kommentar in der ersten Zeile an, einfach hochzählen ;)
->Beispiel: ;Z2, Franky (1)
2.6)Vorher dürfen natürlich auch andere Kommentare eingefügt werden ;)
3.)Man kann auch Zeilen abändern, ANSTATT welche ein zu fügen
Hierbei gilt:
3.1)Die Zeile wird kopiert und die Ursprüngliche Version wird direkt darunter wieder als Kommentar eingefügt.
3.2)Man schreibt dahinter, dass es sich um eine Änderung handelt
4.)Der Code muss immer Lauffähig sein (sprich ohne Fehler compilierbar und unter normalen vorraussetzungen ausführbar (fehlerfrei ist ja niemand ;)))
5.)Alle nachfolgenden Personen erweitern/ändern den Code auch :)
6.)Nach einem müssen mindestens 2 Leute posten, bevor man wieder darf
7.) mit Tab (2 Leerzeichen) pro Ebene einrücken
8.) nach dem Komma in einer Parameterliste ein Leerzeichen einfügen
9.)Have Fun :mrgreen:
So, nu geht´s los, bin ja mal gespannt, was für eine Eierlegende Wollmilchsau am ende dabei rauskommt.

Der GrundCode:

Code: Alles auswählen

;Durchgang=1
If OpenWindow(1,100,100,500,500,"Das Super-Pure-Board-Programm") ;Zeile 1 von Franky im Durchgang 1
     Repeat ;Zeile 2 von Franky im Durchgang 1
       event=WaitWindowEvent();Zeile 3 von Franky im Durchgang 1
     Until Event=#pb_Event_CloseWindow;Zeile 2 von Franky im Durchgang 1

endIf;Zeile 1 von Franky im Durchgang 1

Viel Spass
Zuletzt geändert von Franky am 28.11.2007 23:34, insgesamt 2-mal geändert.
Falsch zugeordnetes Zitat des Tages: "O'zapft is" - Edward Snowden :)
Benutzeravatar
NicTheQuick
Ein Admin
Beiträge: 8809
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken

Beitrag von NicTheQuick »

Code: Alles auswählen

;Durchgang=2
Define event.l, GadgetID.l ;hinzugefügt von NicTheQuick im Durchgang 2
If OpenWindow(1, 100, 100, 500, 500, "Das Super-Pure-Board-Programm") ;Zeile 1 von Franky im Durchgang 1
  Repeat ;Zeile 2 von Franky im Durchgang 1
    event = WaitWindowEvent() ;Zeile 3 von Franky im Durchgang 1
    GadgetID = EventGadget() ;Zeile 1 von NicTheQuick im Durchgang 2
    Select event ;Zeile 2 von NicTheQuick im Durchgang 2
      Case #PB_Event_Gadget ;Zeile 3 von NicTheQuick im Durchgang 2
    EndSelect ;Zeile 2 von NicTheQuick im Durchgang 2
  Until event = #PB_Event_CloseWindow ;Zeile 2 von Franky im Durchgang 1
EndIf ;Zeile 1 von Franky im Durchgang 1 
Aber ich bitte darum, den Quellcode übersichtlich zu gestalten, wie ich es
vorgemacht habe, also:
- mit Tab (2 Leerzeichen) pro Ebene einrücken
- nach dem Komma in einer Parameterliste ein Leerzeichen einfügen (siehe 'OpenWindow()' oben)
Zuletzt geändert von NicTheQuick am 28.11.2007 22:08, insgesamt 1-mal geändert.
Benutzeravatar
Deeem2031
Beiträge: 1232
Registriert: 29.08.2004 00:16
Wohnort: Vorm Computer
Kontaktdaten:

Beitrag von Deeem2031 »

Code: Alles auswählen

;Durchgang=3
Define event.l, GadgetID.l ;hinzugefügt von NicTheQuick im Durchgang 2 
If CreateGadgetList(OpenWindow(1, 100, 100, 500, 500, "Das Super-Pure-Board-Programm")) ;(Geändert) Zeile 1 von Deeem2031 im Durchgang 3
;If OpenWindow(1, 100, 100, 500, 500, "Das Super-Pure-Board-Programm") ;Zeile 1 von Franky im Durchgang 1 
  ButtonGadget(0,5,475,490,20,"Start") ;Zeile 2 von Deeem2031 im Durchgang 3
  Repeat ;Zeile 2 von Franky im Durchgang 1 
    event = WaitWindowEvent() ;Zeile 3 von Franky im Durchgang 1 
    GadgetID = EventGadget() ;Zeile 1 von NicTheQuick im Durchgang 2
    Select event ;Zeile 2 von NicTheQuick im Durchgang 2 
      Case #PB_Event_Gadget ;Zeile 3 von NicTheQuick im Durchgang 2 
        Select GadgetID ;Zeile 3 von Deeem2031 im Durchgang 3
        EndSelect ;Zeile 3 von Deeem2031 im Durchgang 3
    EndSelect ;Zeile 2 von NicTheQuick im Durchgang 2 
  Until event = #PB_Event_CloseWindow ;Zeile 2 von Franky im Durchgang 1 
EndIf ;Zeile 1 von Franky im Durchgang 1
Bild
[url=irc://irc.freenode.org/##purebasic.de]irc://irc.freenode.org/##purebasic.de[/url]
Benutzeravatar
milan1612
Beiträge: 810
Registriert: 15.04.2007 17:58

Beitrag von milan1612 »

Code: Alles auswählen

;Durchgang=4
Define event.l, GadgetID.l ;hinzugefügt von NicTheQuick im Durchgang 2
If CreateGadgetList(OpenWindow(1, 100, 100, 500, 500, "Das Super-Pure-Board-Programm")) ;(Geändert) Zeile 1 von Deeem2031 im Durchgang 3
;If OpenWindow(1, 100, 100, 500, 500, "Das Super-Pure-Board-Programm") ;Zeile 1 von Franky im Durchgang 1
  ButtonGadget(0,5,475,490,20,"Start") ;Zeile 2 von Deeem2031 im Durchgang 3
  ContainerGadget(1, 5, 5, 490, 465, #PB_Container_Single) ;Zeile 1 von milan1612 im Durchgang 4
  Repeat ;Zeile 2 von Franky im Durchgang 1
    event = WaitWindowEvent() ;Zeile 3 von Franky im Durchgang 1
    GadgetID = EventGadget() ;Zeile 1 von NicTheQuick im Durchgang 2
    Select event ;Zeile 2 von NicTheQuick im Durchgang 2
      Case #PB_Event_Gadget ;Zeile 3 von NicTheQuick im Durchgang 2
        Select GadgetID ;Zeile 3 von Deeem2031 im Durchgang 3
          Case 1 ;Zeile 2 von milan1612 im Durchgang 4
            If EventType() = #PB_EventType_LeftClick ;Zeile 3 von milan1612 im Durchgang 4
            EndIf ;Zeile 3 von milan1612 im Durchgang 4
        EndSelect ;Zeile 3 von Deeem2031 im Durchgang 3
    EndSelect ;Zeile 2 von NicTheQuick im Durchgang 2
  Until event = #PB_Event_CloseWindow ;Zeile 2 von Franky im Durchgang 1
EndIf ;Zeile 1 von Franky im Durchgang 1
Der Nächste soll bitte nicht vergessen ein CloseGadgetList() hinter
dem ContainerGadget einzufügen, hab ich vergessen...
Bin nur noch sehr selten hier, bitte nur noch per PN kontaktieren
Benutzeravatar
Franky
Beiträge: 1132
Registriert: 29.08.2004 16:31
Wohnort: Münsterland
Kontaktdaten:

Beitrag von Franky »

Code: Alles auswählen

;Durchgang=5
Define event.l, GadgetID.l ;hinzugefügt von NicTheQuick im Durchgang 2

Procedure HauptFunktion(wert1.l);Zeile 1 von Franky Durchgang 5
  Protected a.l;Hinzugefügt von Franky in Durchgang 5
  For a=0 To wert1;Zeile 2 von Franky Durchgang 5
    
  Next;Zeile 2 von Franky Durchgang 5
EndProcedure;Zeile 1 von Franky Durchgang 5

If CreateGadgetList(OpenWindow(1, 100, 100, 500, 500, "Das Super-Pure-Board-Programm")) ;(Geändert) Zeile 1 von Deeem2031 im Durchgang 3
;If OpenWindow(1, 100, 100, 500, 500, "Das Super-Pure-Board-Programm") ;Zeile 1 von Franky im Durchgang 1
  ButtonGadget(0,5,475,490,20,"Start") ;Zeile 2 von Deeem2031 im Durchgang 3
  ContainerGadget(1, 5, 5, 490, 465, #PB_Container_Single) ;Zeile 1 von milan1612 im Durchgang 4
  CloseGadgetList();Auf wunsch für Milan hinzugefügt in Durchgang 5
  Repeat ;Zeile 2 von Franky im Durchgang 1
    event = WaitWindowEvent() ;Zeile 3 von Franky im Durchgang 1
    GadgetID = EventGadget() ;Zeile 1 von NicTheQuick im Durchgang 2
    Select event ;Zeile 2 von NicTheQuick im Durchgang 2
      Case #PB_Event_Gadget ;Zeile 3 von NicTheQuick im Durchgang 2
        Select GadgetID ;Zeile 3 von Deeem2031 im Durchgang 3
          Case 1 ;Zeile 2 von milan1612 im Durchgang 4
            If EventType() = #PB_EventType_LeftClick ;Zeile 3 von milan1612 im Durchgang 4
              HauptFunktion(15);Zeile 3 von Franky in Durchgang 5
            EndIf ;Zeile 3 von milan1612 im Durchgang 4
        EndSelect ;Zeile 3 von Deeem2031 im Durchgang 3
    EndSelect ;Zeile 2 von NicTheQuick im Durchgang 2
  Until event = #PB_Event_CloseWindow ;Zeile 2 von Franky im Durchgang 1
EndIf ;Zeile 1 von Franky im Durchgang 1
@Milan: Ich wollte hier eigentlich noch 10€ für dich mitposten, aber ich hatte die nachricht leider schon abgeschickt ^^
Zu Deutsch: Das hätte auch als Endkondition gegolten.

So, der nächste möge den Code bitte so modifizieren, dass da auch mal irgendwas passiert ;) Das mit dem Eventtype klappt bei mir übrigends nicht. Da dürft ihr euch dran aus lassen
Falsch zugeordnetes Zitat des Tages: "O'zapft is" - Edward Snowden :)
Benutzeravatar
Deeem2031
Beiträge: 1232
Registriert: 29.08.2004 00:16
Wohnort: Vorm Computer
Kontaktdaten:

Beitrag von Deeem2031 »

Code: Alles auswählen

;Durchgang=6 
Define event.l, GadgetID.l ;hinzugefügt von NicTheQuick im Durchgang 2 

Procedure HauptFunktion(wert1.l);Zeile 1 von Franky Durchgang 5 
  Protected a.l;Hinzugefügt von Franky in Durchgang 5 
  StartDrawing(ImageOutput(0)) ;Zeile 1 von Deeem2031 im Durchgang 6
  For a=0 To wert1;Zeile 2 von Franky Durchgang 5 
    Circle(Random(489),Random(465),Random(5)+1,Random($FFFFFF)) ;Zeile 2 von Deeem2031 im Durchgang 6
  Next;Zeile 2 von Franky Durchgang 5 
  StopDrawing() ;Zeile 1 von Deeem2031 im Durchgang 6
EndProcedure;Zeile 1 von Franky Durchgang 5 

If CreateGadgetList(OpenWindow(1, 100, 100, 500, 500, "Das Super-Pure-Board-Programm")) ;(Geändert) Zeile 1 von Deeem2031 im Durchgang 3 
;If OpenWindow(1, 100, 100, 500, 500, "Das Super-Pure-Board-Programm") ;Zeile 1 von Franky im Durchgang 1 
  ButtonGadget(0,5,475,490,20,"Start") ;Zeile 2 von Deeem2031 im Durchgang 3 
  ContainerGadget(1, 5, 5, 490, 465, #PB_Container_Single) ;Zeile 1 von milan1612 im Durchgang 4 
    ImageGadget(2,0,0,490,465,CreateImage(0,490,465)) ;Zeile 3 von Deeem2031 im Durchgang 6
  CloseGadgetList();Auf wunsch für Milan hinzugefügt in Durchgang 5 
  Repeat ;Zeile 2 von Franky im Durchgang 1 
    event = WaitWindowEvent() ;Zeile 3 von Franky im Durchgang 1 
    GadgetID = EventGadget() ;Zeile 1 von NicTheQuick im Durchgang 2 
    Select event ;Zeile 2 von NicTheQuick im Durchgang 2 
      Case #PB_Event_Gadget ;Zeile 3 von NicTheQuick im Durchgang 2 
        Select GadgetID ;Zeile 3 von Deeem2031 im Durchgang 3 
          Case 1 ;Zeile 2 von milan1612 im Durchgang 4 
            If EventType() = #PB_EventType_LeftClick ;Zeile 3 von milan1612 im Durchgang 4 
              HauptFunktion(15);Zeile 3 von Franky in Durchgang 5 
            EndIf ;Zeile 3 von milan1612 im Durchgang 4 
        EndSelect ;Zeile 3 von Deeem2031 im Durchgang 3 
    EndSelect ;Zeile 2 von NicTheQuick im Durchgang 2 
  Until event = #PB_Event_CloseWindow ;Zeile 2 von Franky im Durchgang 1 
EndIf ;Zeile 1 von Franky im Durchgang 1
Zuletzt geändert von Deeem2031 am 29.11.2007 00:14, insgesamt 1-mal geändert.
Bild
[url=irc://irc.freenode.org/##purebasic.de]irc://irc.freenode.org/##purebasic.de[/url]
Benutzeravatar
PMV
Beiträge: 2765
Registriert: 29.08.2004 13:59
Wohnort: Baden-Württemberg

Beitrag von PMV »

Code: Alles auswählen

;Durchgang=7 
Define event.l, GadgetID.l ;hinzugefügt von NicTheQuick im Durchgang 2 

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

If CreateGadgetList(OpenWindow(1, 100, 100, 500, 500, "Das Super-Pure-Board-Programm")) ;(Geändert) Zeile 1 von Deeem2031 im Durchgang 3 
;If OpenWindow(1, 100, 100, 500, 500, "Das Super-Pure-Board-Programm") ;Zeile 1 von Franky im Durchgang 1 
  ButtonGadget(0,5,475,490,20,"Start") ;Zeile 2 von Deeem2031 im Durchgang 3 
  ContainerGadget(1, 5, 5, 490, 465, #PB_Container_Single) ;Zeile 1 von milan1612 im Durchgang 4 
    ImageGadget(2,0,0,490,465,CreateImage(0,490,465)) ;Zeile 3 von Deeem2031 im Durchgang 6 
  CloseGadgetList();Auf wunsch für Milan hinzugefügt in Durchgang 5 
  Repeat ;Zeile 2 von Franky im Durchgang 1 
    event = WaitWindowEvent() ;Zeile 3 von Franky im Durchgang 1 
    GadgetID = EventGadget() ;Zeile 1 von NicTheQuick im Durchgang 2 
    Select event ;Zeile 2 von NicTheQuick im Durchgang 2 
      Case #PB_Event_Gadget ;Zeile 3 von NicTheQuick im Durchgang 2 
        Select GadgetID ;Zeile 3 von Deeem2031 im Durchgang 3 
          Case 0 ;Geändert von PMV im Durchgang 7
          ;Case 1 ;Zeile 2 von milan1612 im Durchgang 4 
            If EventType() = #PB_EventType_LeftClick ;Zeile 3 von milan1612 im Durchgang 4 
              HauptFunktion(15);Zeile 3 von Franky in Durchgang 5 
            EndIf ;Zeile 3 von milan1612 im Durchgang 4 
        EndSelect ;Zeile 3 von Deeem2031 im Durchgang 3 
    EndSelect ;Zeile 2 von NicTheQuick im Durchgang 2 
  Until event = #PB_Event_CloseWindow ;Zeile 2 von Franky im Durchgang 1 
EndIf ;Zeile 1 von Franky im Durchgang 1
EventType() ist laut Hilfe nicht für ButtonGadgets geeignet. :wink:
Habs mal drinn gelassen, wer weis wie die Regeln dazu sind :mrgreen:

Zählen Änderungen eigentlich als eigene Zeile?

Und Deeem, du hast die erste Zeile vergessen :D

MFG PMV
alte Projekte:
TSE, CWL, Chatsystem, GameMaker, AI-Game DLL, Fileparser, usw. -.-
Benutzeravatar
milan1612
Beiträge: 810
Registriert: 15.04.2007 17:58

Beitrag von milan1612 »

Ups, hab ich gar nicht gewusst. Und warum funktionierts dann trotzdem?
Bin nur noch sehr selten hier, bitte nur noch per PN kontaktieren
Benutzeravatar
PMV
Beiträge: 2765
Registriert: 29.08.2004 13:59
Wohnort: Baden-Württemberg

Beitrag von PMV »

milan1612 hat geschrieben:Ups, hab ich gar nicht gewusst. Und warum funktionierts dann trotzdem?
Undokumentiert heißt lediglich, dass es nicht zwingend funktioniert. Mehr,
das es, fals es doch funktioniert, in einer späteren PB-Version nicht mehr
klappt ... möglicher weise. Oder es wurde vergessen zu dokumentieren.
Für diese Info steht Fred sicher im englischen Forum zur verfügung
:wink: ... als eine Option :D

MFG PMV
alte Projekte:
TSE, CWL, Chatsystem, GameMaker, AI-Game DLL, Fileparser, usw. -.-
Benutzeravatar
NicTheQuick
Ein Admin
Beiträge: 8809
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken

Beitrag von NicTheQuick »

Code: Alles auswählen

;Durchgang=8
Define event.l, GadgetID.l ;hinzugefügt von NicTheQuick im Durchgang 2
Define Anzahl.l = 1 ;hinzugefügt von NicTheQuick im Durchgang 8

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

Procedure NebenFunktion() ;Zeile 3 von NicTheQuick im Durchgang 8
  
EndProcedure ;Zeile 3 von NicTheQuick im Durchgang 8

If CreateGadgetList(OpenWindow(1, 100, 100, 500, 500, "Das Super-Pure-Board-Programm")) ;(Geändert) Zeile 1 von Deeem2031 im Durchgang 3
;If OpenWindow(1, 100, 100, 500, 500, "Das Super-Pure-Board-Programm") ;Zeile 1 von Franky im Durchgang 1
  ButtonGadget(0,5,475,490,20,"Start") ;Zeile 2 von Deeem2031 im Durchgang 3
  ContainerGadget(1, 5, 5, 490, 465, #PB_Container_Single) ;Zeile 1 von milan1612 im Durchgang 4
    ImageGadget(2,0,0,490,465,CreateImage(0,490,465)) ;Zeile 3 von Deeem2031 im Durchgang 6
  CloseGadgetList();Auf wunsch für Milan hinzugefügt in Durchgang 5
  Repeat ;Zeile 2 von Franky im Durchgang 1
    event = WaitWindowEvent() ;Zeile 3 von Franky im Durchgang 1
    GadgetID = EventGadget() ;Zeile 1 von NicTheQuick im Durchgang 2
    Select event ;Zeile 2 von NicTheQuick im Durchgang 2
      Case #PB_Event_Gadget ;Zeile 3 von NicTheQuick im Durchgang 2
        Select GadgetID ;Zeile 3 von Deeem2031 im Durchgang 3
          Case 0 ;Geändert von PMV im Durchgang 7
          ;Case 1 ;Zeile 2 von milan1612 im Durchgang 4
            If EventType() = #PB_EventType_LeftClick ;Zeile 3 von milan1612 im Durchgang 4
              HauptFunktion(Anzahl) ;Zeile 1 von NicTheQuick im Durchgang 8
              ;HauptFunktion(15);Zeile 3 von Franky in Durchgang 5
              Anzahl + 1 ;Zeile 2 von NicTheQuick im Durchgang 8
            EndIf ;Zeile 3 von milan1612 im Durchgang 4
        EndSelect ;Zeile 3 von Deeem2031 im Durchgang 3
    EndSelect ;Zeile 2 von NicTheQuick im Durchgang 2
  Until event = #PB_Event_CloseWindow ;Zeile 2 von Franky im Durchgang 1
EndIf ;Zeile 1 von Franky im Durchgang 1
///Edit:
Was haltet ihr von dieser Kurzschreibweise?

Code: Alles auswählen

;Durchgang=8
Define event.l, GadgetID.l ;hinzugefügt, NicTheQuick (2)
Define Anzahl.l = 1 ;hinzugefügt, NicTheQuick (8)

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)
  
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)
    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)
              ;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)
Antworten