Skip to content

Instantly share code, notes, and snippets.

@RMDK
Created May 8, 2014 01:33
Show Gist options
  • Save RMDK/b22e8d7dc02c540373a7 to your computer and use it in GitHub Desktop.
Save RMDK/b22e8d7dc02c540373a7 to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"worksheets": [
{
"cells": [
{
"metadata": {},
"cell_type": "heading",
"source": "Draw a tree with turtle",
"level": 1
},
{
"metadata": {},
"cell_type": "code",
"input": "import turtle\nimport random\n\nfinished = []\n\ndef draw_leaves():\n for turtle in finished:\n for i in range(20):\n turtle.begin_fill()\n rand = random.randint(-16, 16)\n turtle.color((16 + rand, 128 + rand, 16 + rand))\n turtle.circle(random.randint(4, 8), steps=5)\n turtle.left(36)\n turtle.penup()\n turtle.forward(random.randint(8, 20))\n turtle.pendown()\n turtle.end_fill()\n\ndef draw_branch(turtle, level=12):\n if level > 0:\n turtle.pensize(level)\n clone = turtle.clone()\n\n turtle.left(random.randint(1, 20))\n turtle.forward(random.randint(2, 8) * level)\n draw_branch(turtle, level-random.randint(1,3))\n\n clone.right(random.randint(1, 20))\n clone.forward(random.randint(2, 8) * level)\n draw_branch(clone, level-random.randint(1,3))\n else:\n turtle.pensize(1)\n finished.append(turtle)\n\ndef draw():\n turtle.setup(800, 600)\n turtle.colormode(255)\n turtle.bgcolor(\"white\")\n turtle.pensize(13)\n turtle.color(\"brown\")\n turtle.speed(10000000)\n turtle.hideturtle()\n\n turtle.penup()\n turtle.right(90)\n turtle.forward(300)\n\n turtle.pendown()\n turtle.right(180)\n turtle.forward(250)\n draw_branch(turtle)\n draw_leaves()\n\ndraw()",
"outputs": [],
"language": "python",
"trusted": true,
"collapsed": false
},
{
"metadata": {},
"cell_type": "code",
"input": "",
"outputs": [],
"language": "python",
"trusted": true,
"collapsed": false
}
],
"metadata": {}
}
],
"metadata": {
"name": "",
"signature": "sha256:d3b5773dec5243de2ecc99ff7c8594eb4a51ce8f79b135792ced08e89804aee4",
"gist_id": "b22e8d7dc02c540373a7"
},
"nbformat": 3
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment