Apfelmännchen

Anfängerfragen zum Programmieren mit PureBasic.
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

@bobobo

ich habs halt no nej gsehn...

...ich find halt das wort 'almondbread' fürn armutszeugnis.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
bobobo
jaAdmin
Beiträge: 3873
Registriert: 13.09.2004 17:48
Kontaktdaten:

Beitrag von bobobo »

Kaeru Gaman hat geschrieben:@bobobo

ich habs halt no nej gsehn...

...ich find halt das wort 'almondbread' fürn armutszeugnis.
Nein .. Satire ist das
‮pb aktuel 6.2 windoof aktuell und sowas von 10
Ich hab Tinnitus im Auge. Ich seh nur Pfeifen.
Benutzeravatar
Froggerprogger
Badmin
Beiträge: 855
Registriert: 08.09.2004 20:02

Beitrag von Froggerprogger »

Hier noch ein code, um die Mandelbrot-Menge extrem schnell direkt auf einen Screen zu zeichnen.
Dazu gabs hier im alten englischen Forum mal einen Thread zu, wo ausgehend vom Einfärben einzelner Pixel per Plot() dieser optimierte Code entstand:

Code: Alles auswählen

#xmax=1024
#ymax=768

#maxcolor=24

#leftside   =-2
#top        =1.25
xside.f     =2.5
yside.f     =-2.5
xscale.f    =xside/#xmax          
yscale.f    =yside/#ymax

If InitSprite()=0 Or InitKeyboard()=0
  End
EndIf

OpenScreen(#xmax,#ymax,32,"")

StartDrawing(ScreenOutput())
  Buffer = DrawingBuffer()
  Pitch  = DrawingBufferPitch()
  For y= 0 To #ymax-1
    *Line.LONG = Buffer+y*Pitch
    cY.f=y*yscale+#top
    For x= 0 To #xmax-1
      cX.f=x*xscale+#leftside
      zx.f=0
      zy.f=0
      colorcounter=0
      
      PowZX.f = 0
      PowZY.f = 0
      While (PowZX+PowZY<4 And colorcounter<#maxcolor)
        tempX.f = PowZX-PowZY+cX
        zy      = 2 * zx * zy + cY
        zx      = tempX
        colorcounter+1
        PowZX = zx*zx
        PowZY = zy*zy
      Wend
      *Line\l = colorcounter * $111104
      *Line+4
    Next
  Next
StopDrawing()
FlipBuffers()

Repeat
  ExamineKeyboard()
Until KeyboardPushed(#PB_Key_Escape)
CloseScreen()
Bzgl. almondbread: Das ist ja echt mal nen Knaller ;-)
Zuletzt geändert von Froggerprogger am 21.03.2005 00:27, insgesamt 1-mal geändert.
!UD2
Benutzeravatar
remi_meier
Beiträge: 1078
Registriert: 29.08.2004 20:11
Wohnort: Schweiz

Beitrag von remi_meier »

Öhm lol, sehr optimiert (rein Programmiertechnisch) is das Ding aber nich, oder eigentlich doch, aber ein Riesending is drin:
cY.f=y*yscale+#top
Wieso in der x-Schleife? Das kannst du 2 Zeilen weiter oben reindrücken :wink:
Der Rest ist glaub gut, wobei ich da in Asm gleich noch was ändern würde.

cu
Remi
Benutzeravatar
Zaphod
Beiträge: 2875
Registriert: 29.08.2004 00:40

Beitrag von Zaphod »

in den usa heißt das jetzt bestimmt freedombread...
Benutzeravatar
Froggerprogger
Badmin
Beiträge: 855
Registriert: 08.09.2004 20:02

Beitrag von Froggerprogger »

@remi
Whoops, gut aufgepasst ! :wink:
(Habs oben Code geändert)
!UD2
Benutzeravatar
Andre
PureBasic Team
Beiträge: 1765
Registriert: 11.09.2004 16:35
Computerausstattung: MacBook Core2Duo mit MacOS 10.6.8
Lenovo Y50 i7 mit Windows 10
Wohnort: Saxony / Deutscheinsiedel
Kontaktdaten:

Beitrag von Andre »

@Kaeru: AlmondBread habe ich verzapft :oops: Wird mit der neuen Version geändert... :wink:
Bye,
...André
(PureBasicTeam::Docs - PureArea.net | Bestellen:: PureBasic | PureVisionXP)
Benutzeravatar
bobobo
jaAdmin
Beiträge: 3873
Registriert: 13.09.2004 17:48
Kontaktdaten:

Beitrag von bobobo »

Andre hat geschrieben:@Kaeru: AlmondBread habe ich verzapft :oops: Wird mit der neuen Version geändert... :wink:
Schade :cry:
‮pb aktuel 6.2 windoof aktuell und sowas von 10
Ich hab Tinnitus im Auge. Ich seh nur Pfeifen.
Antworten