home *** CD-ROM | disk | FTP | other *** search
/ 17 Bit Software 1: Collection A / 17Bit_Collection_A.iso / files / 282.dms / 282.adf / SourceCode / Schildkroete.bas < prev    next >
BASIC Source File  |  1987-02-27  |  2KB  |  53 lines

  1. 'Der Tanz der Schildkroete Programm:Felix Wente
  2. CLEAR 20000,20000
  3. INPUT "Durchgangsnummer";endebene
  4. INPUT "Änderungswinkel";winkel
  5. INPUT "Anzahl der Elemente eines Schrittes";schrittzahl
  6. PRINT "Möglich ist:vor,links,rechts"
  7. DIM elemente (schrittzahl),n(endebene+1)
  8. FOR t=0 TO schrittzahl-1
  9. PRINT "Element Nummer:";t+1:INPUT a$ 
  10. IF a$="links" THEN elemente(t)=90
  11. IF a$="rechts" THEN elemente(t)=-90
  12. IF a$="vor" THEN vorschritte=vorschritte+1
  13. NEXT t
  14. 'schrittlaengenberechnung
  15. schrittlaenge=SQR(2*(312/INT((360/winkel)/2+.5))^2)/vorschritte
  16. 'screen mit Auflösung von 640x512 Punkten!
  17. SCREEN 1,640,512,1,4:WINDOW 2,"",,0,1
  18. 'setup
  19. xstart=320-schrittlaenge:ystart=350:CALL setze (xstart,ystart)
  20. FOR laufen=1 TO 360/winkel
  21. GOSUB zeichnen
  22. drehe (winkel)
  23. NEXT
  24. END
  25. zeichnen:
  26. ebene=1:laenge=schrittlaenge
  27. rekursion:
  28. n(ebene)=0
  29. schleife:
  30. drehe elemente(n(ebene))
  31. IF ebene=endebene THEN
  32. gehe laenge
  33. ELSE 
  34. ebene=ebene+1:laenge=laenge/vorschritte
  35. GOSUB rekursion
  36. ebene=ebene-1:laenge=laenge*vorschritte  
  37. END IF
  38. drehe (elemente(n(ebene))*-1)
  39. IF n(ebene)<schrittzahl-1 THEN n(ebene)=n(ebene)+1:GOTO schleife
  40. RETURN
  41. 'Turtlegrafik,programmiert in Anlehnung an Turtlegrafik in AMIGA 10/87
  42. SUB drehe(x) STATIC:SHARED twinkel:twinkel=twinkel-x:END SUB
  43. SUB setze(x,y) STATIC:SHARED xturtle,yturtle:xturtle=x:yturtle=y:END SUB
  44. SUB swinkel(x) STATIC:SHARED twinkel:twinkel=x:END SUB
  45. SUB gehe(schritte) STATIC
  46. SHARED xturtle,yturtle,twinkel
  47. p=.01745329#:neuy=(SIN(twinkel*p))*schritte
  48. neux=(COS(twinkel*p))*schritte
  49. LINE (xturtle,yturtle)-(xturtle+neux,yturtle+neuy)
  50. xturtle=xturtle+neux:yturtle=yturtle+neuy
  51. END SUB
  52.  
  53.