Blitz CodeCompo #9 - Back2Coding

Übersicht Sonstiges Smalltalk

Gehe zu Seite Zurück  1, 2

Neue Antwort erstellen

 

FWeinb

ehemals "ich"

BeitragMi, Sep 26, 2007 21:13
Antworten mit Zitat
Benutzer-Profile anzeigen
So ich wolte jetzt auch mal mein Pytagoras Baum Generator vorstellen.
Also Eingentlich ist das Programm selbsterklähren, ihr habt ein Grafik Fenster und eine GUI inder ihr alle nötiegen achen Einstellen könnt.

Hier ist der Downloade:

Klick

Ich Hoffe es gefählt euch und währe froh wenn ihr eure Menung dazu schreiben könntet.


mfg

ich
"Wenn die Menschen nur über das sprächen, was sie begreifen, dann würde es sehr still auf der Welt sein." Albert Einstein (1879-1955)
"If you live each day as if it was your last, someday you'll most certainly be right." Steve Jobs

Lobby

BeitragSo, Sep 30, 2007 21:35
Antworten mit Zitat
Benutzer-Profile anzeigen
So, falls es überhaupt noch jemanden interessiert, gebe ich hier meinen SträucherMaker Code ab Confused

Code

Die Funktionen sind zwar nicht unbedingt selbsterklärend, aber da scheinbar zu wenig Interesse besteht
habe ich gerade keine Lust sie zu erklären( Crying or Very sad ).
TheoTown - Eine Stadtaufbausimulation für Android, iOS, Windows, Mac OS und Linux
 

FWeinb

ehemals "ich"

BeitragMo, Okt 01, 2007 17:33
Antworten mit Zitat
Benutzer-Profile anzeigen
So und ich gebe dann mal den Code Vom Pytagoras baum her.


Hier die Functionen
Code: [AUSKLAPPEN]

;Ax# ist der Xwert des Punkt A
;ay# ist der Ywert des Punkt A
;d# ist der Winkel zur Waagerechten
;s# ist die Länge aller seiten im Quadrat
;a# ist der Winkel im Dreieck
;mtie ist die maximale Tiefe
;zufall kann die werte 1 und 0 annehmen und entscheidet ob die winkel zufällieg sind oder nicht

Function Baum (ax#,ay#,d#,s#,a#,mtie,zufall,wach)
    SeedRnd MilliSecs ()
   
    If KeyHit (1) Then End ;Damit die Function beendet werden kann (Falls es zu lange dauert)
   
    rx# = Cos (d) * s
    ry# = Sin (d) * s
   
    bx# = ax# + rx#
    by# = ay# - ry#
   
    cx# = bx# - ry#
    cy# = by# - rx#
   
    dx# = cx# - rx#
    dy# = cy# + ry#
   
    f = 90 - (a + d)
   
    de# = Cos (a) * s#
   
    ec# = Sqr ( (s#^2) - (de#^2) )
   
    df# = Cos (f) * de#
   
    fe# = Sin (f) * de#
   
    ex# = dx# + fe#
    ey# = dy# - df#
   
    ; Farben der Linien
    LockBuffer BackBuffer()
    If tiefe < mtie - 1 Then Color 128 ,64,0
    If tiefe > mtie - 2 Then Color 0 ,Rnd (50 ,220) ,0
    Line bx#,by#,cx#,cy#
    If tiefe > mtie - 2 Then Color 0 ,Rnd (50 ,220) ,0
    Line dx#,dy#,ax#,ay#
 
    If pytlin=1 Then
     Line ax#,ay#,bx#,by# ;Line Unten
     Line cx#,cy#,dx#,dy# ;Line Oben
    EndIf

    If tiefe > mtie - 1 Then
        Line ex#,ey#,cx#,cy# ;Das Dreieck (wird nur am Ende Gestzt)
        Line ex#,ey#,dx#,dy#
    EndIf
    UnlockBuffer BackBuffer()
    Color 255 ,255,255 ;Wieder auf Weiß stellen
   
 

   
    If wach = 1 Then
        Flip
    EndIf
   
    If tiefe < mtie Then
        tiefe = tiefe + 1
       
        If zufall = 1 Then
            Baum (dx#,dy#,a# + d#,de#,Rand (30 ,70) ,mtie,zufall,wach)
            Baum (ex#,ey#,a# + d# - 90 ,ec#,Rand (30 ,70) ,mtie,zufall,wach)
         Else
            Baum (dx#,dy#,a# + d#,de#,a#,mtie,zufall,wach)
            Baum (ex#,ey#,a# + d# - 90 ,ec#,a#,mtie,zufall,wach)
        EndIf
       
        tiefe = tiefe - 1
    EndIf
   
End Function




Und hier das Programm was ich abgegeben habe [B+]:

Code: [AUSKLAPPEN]

win=CreateWindow("Einstellungen",10,10,200,500,0,1)
button=CreateButton("Erstellen",45,400,100,50,win)
talp=CreateLabel("Winkel von Alpha(<90):",10,42,120,20,win)
anzwin=CreateTextField(140,40,20,20,win)
SetGadgetText anzwin,"45"
twinwa=CreateLabel("Winkel zur Waagerechten:",10,82,130,20,win)
tfwinwa=CreateTextField(140,80,20,20,win)
SetGadgetText tfwinwa,"0"
tmtie=CreateLabel("Anzahl der Iterationen:",10,122,130,20,win)
tfmtie=CreateTextField(140,120,20,20,win)
SetGadgetText tfmtie,"10"
tgro=CreateLabel("Größe des Quadrates:",10,162,110,20,win)
tfgro=CreateTextField(120,160,40,20,win)
SetGadgetText tfgro,"50"
hilfs=CreateButton("Hilfslinien",50,270,100,20,win,2)
butwa=CreateButton("Baum wächst",50,300,100,20,win,2)
butzuf=CreateButton("Zufall",50,330,100,20,win,2)



Graphics 800 ,600,16,2
SetBuffer BackBuffer ()
Global tiefe,pytlin=0


Repeat
   If GetKey()=27 Then End
   Select WaitEvent()
      Case $803 : End
   End Select
   sou=EventSource ()
   Select sou
   Case button
        Cls
           winkalp=TextFieldText (anzwin)
      winwa=TextFieldText(tfwinwa)
         mtie=TextFieldText(tfmtie)
         gro=TextFieldText(tfgro)
         DisableGadget button
              Baum (400,400,winwa,gro,winkalp,mtie,zufall,wach)
      EnableGadget button
              Flip
   Case butzuf
     If zufall=0 Then
           zufall=1
     Else
           zufall=0
     EndIf
   Case butwa
    If wach=0 Then
          wach=1
    Else
        wach=0
    EndIf
   Case hilfs
    If pytlin=0 Then
          pytlin=1
    Else
        pytlin=0
    EndIf
   End Select
Forever


;Ax# ist der Xwert des Punkt A
;ay# ist der Ywert des Punkt A
;d# ist der Winkel zur Waagerechten
;s# ist die Länge aller seiten im Quadrat
;a# ist der Winkel im Dreieck
;mtie ist die maximale Tiefe
;zufall kann die werte 1 und 0 annehmen und entscheidet ob die winkel zufällieg sind oder nicht

Function Baum (ax#,ay#,d#,s#,a#,mtie,zufall,wach)
    SeedRnd MilliSecs ()
   
    If KeyHit (1) Then End ;Damit die Function beendet werden kann (Falls es zu lange dauert)
   
    rx# = Cos (d) * s
    ry# = Sin (d) * s
   
    bx# = ax# + rx#
    by# = ay# - ry#
   
    cx# = bx# - ry#
    cy# = by# - rx#
   
    dx# = cx# - rx#
    dy# = cy# + ry#
   
    f = 90 - (a + d)
   
    de# = Cos (a) * s#
   
    ec# = Sqr ( (s#^2) - (de#^2) )
   
    df# = Cos (f) * de#
   
    fe# = Sin (f) * de#
   
    ex# = dx# + fe#
    ey# = dy# - df#
   
    ; Farben der Linien
    LockBuffer BackBuffer()
    If tiefe < mtie - 1 Then Color 128 ,64,0
    If tiefe > mtie - 2 Then Color 0 ,Rnd (50 ,220) ,0
    Line bx#,by#,cx#,cy#
    If tiefe > mtie - 2 Then Color 0 ,Rnd (50 ,220) ,0
    Line dx#,dy#,ax#,ay#
 
    If pytlin=1 Then
     Line ax#,ay#,bx#,by# ;Line Unten
     Line cx#,cy#,dx#,dy# ;Line Oben
    EndIf

    If tiefe > mtie - 1 Then
        Line ex#,ey#,cx#,cy# ;Das Dreieck (wird nur am Ende Gestzt)
        Line ex#,ey#,dx#,dy#
    EndIf
    UnlockBuffer BackBuffer()
    Color 255 ,255,255 ;Wieder auf Weiß stellen
   
 

   
    If wach = 1 Then
        Flip
    EndIf
   
    If tiefe < mtie Then
        tiefe = tiefe + 1
       
        If zufall = 1 Then
            Baum (dx#,dy#,a# + d#,de#,Rand (30 ,70) ,mtie,zufall,wach)
            Baum (ex#,ey#,a# + d# - 90 ,ec#,Rand (30 ,70) ,mtie,zufall,wach)
         Else
            Baum (dx#,dy#,a# + d#,de#,a#,mtie,zufall,wach)
            Baum (ex#,ey#,a# + d# - 90 ,ec#,a#,mtie,zufall,wach)
        EndIf
       
        tiefe = tiefe - 1
    EndIf
   
End Function
"Wenn die Menschen nur über das sprächen, was sie begreifen, dann würde es sehr still auf der Welt sein." Albert Einstein (1879-1955)
"If you live each day as if it was your last, someday you'll most certainly be right." Steve Jobs
 

BIG BUG

BeitragMo, Okt 01, 2007 23:02
Antworten mit Zitat
Benutzer-Profile anzeigen
Ok, damit hätten wir dann 4 Teilnehmer.
Lobby, Ich(Username), Darth Gamer und PowerProgrammer

Zur Abstimmung gehts hier lang:
https://www.blitzforum.de/foru...hp?t=25408
B3D-Exporter für Cinema4D!(V1.4)
MD2-Exporter für Cinema4D!(final)

d-bug

BeitragDi, Okt 02, 2007 9:15
Antworten mit Zitat
Benutzer-Profile anzeigen
Unpinned

Gehe zu Seite Zurück  1, 2

Neue Antwort erstellen


Übersicht Sonstiges Smalltalk

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group