﻿<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xml" href="/cjs/examples.screen.xsl" media="screen"?>
<examples chapter="Želví grafika – funkce, náhodná čísla" directory="zelva.2">

  <!--use-math/-->

  <note>
      Nápovědy ke kódu jsou někdy opravdu jen nápovědy, ale často slouží jako rozšířený komentář, co a proč se v uvedených programech řeší. Proto je nepřeskakujte!
  </note>

  <theory>
      Nyní si se „želvou“ budeme tak trochu hrát na starou (nejen) dětskou hračku <em>Inspiro</em> a budeme kreslit složitě vypadající obrazce velmi jednoduchými postupy. Aby kód zůstal přehledný, naučíme se používat funkce.
  </theory>


  <example>
    <text>
      Nakreslete dva navzájem pootočené čtverce, jako na obrázku:
      <img src="_files/zelva/2-01.png" width="228" height="222" align="center" alt="dva pootočené čtverce"/>
    </text>
    <hint>
      Zde konkrétně jde o čtverce s hranou 100 a otočením 30 stupňů, ale to není podstatné.
    </hint>
    <solution src="zelva.2/01.py" lang="python" />
  </example>

  <example>
    <text>
      Jelikož v předchozím řešení se nám opět kus kódu opakuje, je na čase zavést pro něj funkci.
    </text>
    <solution src="zelva.2/02.py" lang="python" />
  </example>

  <example>
    <text>
      Zkuste rozšířit postup z předchozího příkladu, abyste nakreslili následující obrázek:
      <img src="_files/zelva/2-03.png" width="207" height="207" align="center" alt="více pootočených čtverců"/>
    </text>
    <solution src="zelva.2/03.py" lang="python" />
  </example>

  <example>
    <text>
      Zkuste si pohrát s úhlem otočení, počtem opakování a barvami jednotlivých vykreslovaných čtverců. Fantazii se meze nekladou:
      <p class="center">
        <img src="_files/zelva/2-04-1.png" width="213" height="213" alt="mandala 1"/>
        <img src="_files/zelva/2-04-2.png" width="213" height="213" alt="mandala 2"/>
      </p>
    </text>
    <hint>
      funkce želvy <em>colormode()</em>, modul <em>random</em> (specificky jeho funkce <em>random()</em> a <em>randint()</em>)
    </hint>
    <solution src="zelva.2/04a.py" lang="python" />
    <solution src="zelva.2/04b.py" lang="python" />
    <solution src="zelva.2/04c.py" lang="python" />
    <solution src="zelva.2/04d.py" lang="python" />
  </example>

  <example>
    <text>
      Variace na předchozí téma, jen místo mnoha různých barev zkuste použít odstíny jenom jedné, například takto:
      <img src="_files/zelva/2-05.png" width="213" height="213" align="center" alt="dvoubarevná mandala"/>
    </text>
    <hint>
      Hezké by bylo projekt celé spektrum tam a ještě i zpátky, aby přechod na konci nebyl skokový.
    </hint>
    <solution src="zelva.2/05.py" lang="python" />
  </example>

  <example>
    <text>
      Nyní zaměňte čtverec za kruh a zkuste tohle:
      <img src="_files/zelva/2-06.png" width="181" height="180" align="center" alt="tunel"/>
    </text>
    <hint>
      Je třeba si pořádně přečíst dokumentaci k želví funkci <a href="https://docs.python.org/3/library/turtle.html#turtle.circle" class="external"><em>circle()</em></a>.
    </hint>
    <solution src="zelva.2/06.py" lang="python" />
  </example>

  <example>
    <text>
      Jednoduchou úpravou získáte z předchozího kódu následující obrázek:
      <img src="_files/zelva/2-07.png" width="211" height="199" align="center" alt="šnek"/>
    </text>
    <hint>
      Světe div se, ale před každou další větší kružnicí stačí želvu o kousek pootočit.
    </hint>
    <solution src="zelva.2/07.py" lang="python" />
  </example>


</examples>
