/examples/cfdg/models/game1-turn6/source.scm

http://github.com/dharmatech/abstracting · Scheme · 90 lines · 59 code · 29 blank · 2 comment · 0 complexity · 0a0f955ef2252744577b4b63913ee6ba MD5 · raw file

  1. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  2. (define (f-triangles)
  3. (when (iterate?)
  4. (block
  5. (lambda ()
  6. (x 0.1)
  7. (y 0.1)
  8. (alpha -0.33)
  9. (hue 20)
  10. (saturation 0.7)
  11. (brightness 0.80)
  12. (triangle)))
  13. (block (lambda () (hue 10) (saturation 0.9) (brightness 0.33) (triangle)))
  14. (block
  15. (lambda ()
  16. (size 0.9)
  17. (hue 10)
  18. (saturation 0.5)
  19. (brightness 1.00)
  20. (triangle)))
  21. (block (lambda () (size 0.8) (rotate 5) (f-triangles)))))
  22. (define (f-squares)
  23. (when (iterate?)
  24. (block
  25. (lambda ()
  26. (x 0.1)
  27. (y 0.1)
  28. (alpha -0.33)
  29. (hue 250)
  30. (saturation 0.70)
  31. (brightness 0.80)
  32. (square)))
  33. (block (lambda () (hue 220) (saturation 0.90) (brightness 0.33) (square)))
  34. (block
  35. (lambda ()
  36. (size 0.9)
  37. (hue 220)
  38. (saturation 0.25)
  39. (brightness 1.00)
  40. (square)))
  41. (block (lambda () (size 0.8) (rotate 5) (f-squares)))))
  42. (define (spiral)
  43. (when (iterate?)
  44. (call-random-weighted
  45. (vec
  46. (vec 1 (lambda ()
  47. (block (lambda () (f-squares)))
  48. (block (lambda () (x 0.5) (y 0.5) (rotate 45) (f-triangles)))
  49. (block (lambda () (y 1.0) (rotate 25) (size 0.9) (spiral)))))
  50. (vec 0.022 (lambda ()
  51. (block (lambda () (flip 90) (hue 50) (start)))))))))
  52. (define (start)
  53. (block (lambda () (spiral)))
  54. (block (lambda () (rotate 120) (spiral)))
  55. (block (lambda () (rotate 240) (spiral))))
  56. (set! *background* (lambda () (hue 66) (saturation 0.4) (brightness 0.5)))
  57. (set! *viewport* (vec -5 10 -5 10))
  58. (set! *threshold* 0.001)
  59. (set! *start-shape* (lambda () (start)))
  60. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  61. (run-model)