Advertisement
Guest User

Untitled

a guest
Feb 26th, 2020
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.79 KB | None | 0 0
  1. // Prepare Turtle to Draw
  2. hide();
  3. penUp();
  4. drawBackground();
  5. drawAllBubbles();
  6. drawAllFish();
  7. drawAllSeaStars();
  8. drawAllSeagrass();
  9. drawAllSunbeams();
  10.  
  11. // These six functions draw everything. Order matters
  12. // for how different parts of the picture are layered.
  13.  
  14. // To do: Repeatedly draw sea grass
  15. function drawAllSeagrass(){
  16. for (var i = 0; i < 50; i++) {
  17. moveTo(randomNumber(0,320),450);
  18. turnTo(0);
  19. drawSeagrass(randomNumber(5, 20), randomNumber(5, 20));
  20. }
  21. }
  22.  
  23. // To do: Repeatedly draw sea stars
  24. function drawAllSeaStars(){
  25. for (var i = 0; i < 200; i++) {
  26. moveTo(randomNumber(0,320), randomNumber(360,450));
  27. drawSeaStar(randomNumber(10,30));
  28. }
  29. }
  30.  
  31. // To do: Repeatedly draw fish
  32. function drawAllFish(){
  33. for (var i = 0; i < 200; i++) {
  34. moveTo(randomNumber(0,320),randomNumber(0,300));
  35. drawFish(randomNumber(5,20),randomNumber(200,255),randomNumber(100,150),120);
  36. }
  37. }
  38.  
  39. // To do: Repeatedly draw bubbles
  40. function drawAllBubbles(){
  41. for (var i = 0; i < 200; i++) {
  42. moveTo(randomNumber(0,320),randomNumber(0,450));
  43. drawBubble(randomNumber(1,5));
  44. }
  45. }
  46.  
  47. // To do: Repeatedly draw sunbeams
  48. function drawAllSunbeams(){
  49. for (var i = 0; i < 100; i++) {
  50. moveTo(randomNumber(-50,320),0);
  51. turnTo(randomNumber(165,175));
  52. drawSunbeam(randomNumber(100,400));
  53. }
  54. }
  55.  
  56. // Make the background by drawing a large blue dot
  57. function drawBackground(){
  58. penColor("DarkBlue");
  59. dot(1000);
  60. }
  61.  
  62. // Draw a five-pointed star with a wide pen of the given size
  63. function drawSeaStar(size){
  64. penRGB(255,0,255);
  65. penWidth(10);
  66. penDown();
  67. turnTo(0);
  68.  
  69. for (var i = 0; i < 5; i++) {
  70. moveForward(size);
  71. turnRight(144);
  72. }
  73.  
  74. penUp();
  75. }
  76.  
  77. // Switches between left and right arcs to make seaGrass with the given radius
  78. function drawSeagrass(radius, waves){
  79. penRGB(0,randomNumber(100,200),0);
  80. penWidth(3);
  81. penDown();
  82. arcLeft(30,radius);
  83.  
  84. // Repeatedly switch between left and right
  85. for(var i = 0; i < waves; i++){
  86. arcRight(60,radius);
  87. arcLeft(60,radius);
  88. }
  89. penUp();
  90. }
  91.  
  92. // Draws a fish at the current turtle location with the given size and color
  93. function drawFish(size, red, green, blue){
  94. penRGB(red,green,blue);
  95. penWidth(size);
  96. penDown();
  97.  
  98. // Fish body
  99. dot(size);
  100. turnTo(90);
  101. moveForward(size);
  102.  
  103. // Fish tail
  104. turnLeft(30);
  105. moveForward(size);
  106. turnRight(120);
  107. moveForward(size);
  108. turnRight(120);
  109. moveForward(size);
  110. turnRight(120);
  111.  
  112. penUp();
  113. }
  114.  
  115. // Bubbles are semi-transparent dots
  116. function drawBubble(size){
  117. penRGB(100,100,255,0.2);
  118. dot(size);
  119. }
  120.  
  121. // Sunbeams are semi-transparent lines
  122. function drawSunbeam(size){
  123. penDown();
  124. penWidth(randomNumber(1,15));
  125. penRGB(255,255,255,0.1);
  126. moveForward(size);
  127. penUp();
  128. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement