Commit Graph

45 Commits

Author SHA1 Message Date
fmOOmf
57e4cbe402 Final Heading correction 2022-10-26 21:22:56 +02:00
fmOOmf
dfb5b90e55 Modif pour le circle avec angle négatif (modif for circle with negative angle) 2022-10-26 19:43:33 +02:00
Hugo Saint-Vignes
7e5ddcd36b [python/turtle] Prevent position overflow from turtle
Change-Id: Ieb8a7b64bab1ce6fac23ca4c8dcb43467b8d4d5c
2020-11-04 15:33:01 +01:00
Arthur Camouseigt
d7fb5c256c [turtle] Fixed remanent images bug
We now erase the turtle before writing text. This way we can redraw it
on top of it, preventing overlapping and remanent images.

Those scripts are causing issues :
goto(-30,50)
write('coucou')
left(270)
goto(30,50)
write('oui')
-----------
up()
goto(-30,50)
write('coucou')
goto(30,50)
write('oui')

Change-Id: I01a6e5f8308937b5051165548c2046883da587d2
2020-06-10 10:35:13 +02:00
Arthur
fe7c4b1a8a [python/turtle] Added write method
Allows user to print strings with the turtle

Change-Id: I06a3832f6fa36d29506be10c48a1b2fb34cb69fb
2020-06-04 14:50:09 +02:00
Joachim LF
e76abcf67e [Python] universal colors 2020-04-30 14:12:32 +02:00
Émilie Feral
61399d07eb [python] Turtle: use std::fabs std::copysign when possible 2020-04-16 09:44:37 +02:00
Joachim LF
c15bb3d893 Negative diameter circle turtle support 2020-04-15 06:15:28 -07:00
Neven Sajko
dd6a729f65 Better usage of some floating point constants 2020-04-09 13:58:56 +02:00
Émilie Feral
0db66f1784 [python] Turtle: add TODO 2019-12-04 11:27:32 +01:00
Léa Saviot
246349e72f [python/turtle] Fix rounding errors
Some horizontal/vertical lines were not properly drawn
Example script:
from math import *
from turtle import *
def a():
  def carre(n):
    fd(n)
    right(90)
    fd(n)
    right(90)
    fd(n)
    right(90)
    fd(n)
    right(90)
  penup()
  goto(-158,109)
  pendown()
  carre(100)
  for j in range(10):
    for i in range(26):
      penup()
      fd(2)
      pendown()
      carre(10)
      penup()
      fd(10)
      pendown()
    penup()
    goto(-158,109-10*(j+1))
    pendown()
2019-04-12 15:16:53 +02:00
Léa Saviot
2a34f955ca [python/turtle] Fix some turtle jumps
There was a drawing glitch for instance when doing goto(100,100).
It was due to the tutle mileage being overflowed.
2019-03-12 09:51:40 +01:00
Léa Saviot
ddb22ba1a2 [python/turtle] Fix drawing of diagonal lines 2019-03-12 09:51:40 +01:00
Léa Saviot
147c1b4592 [python/turtle] Make the turtle faster on emscripten
It was slower than on the calculator
2019-03-12 09:51:40 +01:00
Léa Saviot
a036bff275 [python/turtle] Fix setHeadingPrivate (handle big angle errors) 2019-02-11 13:41:10 +01:00
Léa Saviot
3faee8bcd8 [python/turtle] Special case when goTo draws horizontal/vertical line 2019-02-06 11:45:03 +01:00
Léa Saviot
b5e278526f [python/turtle] Use namespace std 2019-02-06 11:45:03 +01:00
Léa Saviot
287dedabc0 [python/turtle] The turtle heading is in [0;360[ 2019-02-06 11:45:03 +01:00
Léa Saviot
a25b2a8ce5 [python/turtle] Fix unwanted dotted lines
Script:
fd(200)
left(90)
fd(10)
left(90)
fd(600)
The final line should be continuous but is dotted
2019-02-06 11:45:03 +01:00
Léa Saviot
2bde26af69 [python/turtle] Specify namespace std when using cos, sin 2019-01-21 13:39:47 +01:00
Léa Saviot
2f9f40f1a7 [python/turtle] Store the heading in degrees with no k_headingOffset
This reduces rouding errors, such as:
setHeading(0)
right(1)
heading() -> gives -1.00...01
2019-01-21 13:39:47 +01:00
Léa Saviot
c2dbe9f7cc [python/turtle] Fix line drawing glitches 2018-12-21 11:57:36 +01:00
Léa Saviot
5a941bc1d5 [python/turtle] Clean circle code 2018-12-21 11:57:09 +01:00
Léa Saviot
4b306791c0 [python/turtle] Turtle::m_drawn is false if sandbox not displayed
This way, Turtle::draw() and erase() are more symetrical and no not
perform themselves if the turtle is already drawn / erased.
2018-12-18 12:05:46 +01:00
Léa Saviot
306869edca [python/turtle] Tune values of the turtle speed 2018-12-13 09:44:34 +01:00
Léa Saviot
91c4fea517 [python/turtle] Clean Turtle::PawPosition 2018-12-12 15:45:21 +01:00
Léa Saviot
8ac60983ed [python/turtle] Remove old turtle icon 2018-12-12 15:45:21 +01:00
Léa Saviot
99d71bb0d9 [python/turtle] Clean Turtle::setColor 2018-12-12 15:45:21 +01:00
Léa Saviot
62cda01d2b [python/turtle] color and pencolor can take various arguments
These two methods are equal.
2018-12-11 14:42:04 +01:00
Léa Saviot
23e3038c00 [python/turtle] Remove waitForVBlank before drawings
The drawing was really slowed down by the waiting, and no tearing effect
has been noticed without waitForVBlank
2018-12-10 17:36:52 +01:00
Léa Saviot
d545c4532a [python/turtle] When speed = 0, do not draw the turtle during "goTo" 2018-12-10 17:14:23 +01:00
Léa Saviot
fa0e93e8ac [python/turtle] Fix Turtle::circle for negative angles 2018-12-10 16:51:16 +01:00
Léa Saviot
3b334257ad [python/turlte] Move the turtle paws to mimic crawling 2018-12-10 14:10:44 +01:00
Léa Saviot
c95e291dd1 [python/turtle] First icon redesign 2018-12-07 16:58:59 +01:00
Léa Saviot
c8a5972243 [python/turtle] Turtle::circle(radius, angle) 2018-12-07 10:51:14 +01:00
Léa Saviot
cc3beb6014 [python/turtle] Turtle::reset() method 2018-12-06 17:26:43 +01:00
Léa Saviot
3ca1790908 [python/turtle] The Y axis is oriented upwards 2018-12-06 17:26:35 +01:00
Léa Saviot
432e259f30 [python/turtle] Speed max and min should produce the same behavior 2018-12-06 13:55:07 +01:00
Léa Saviot
d530637591 [python/turtle] Fix speed type 2018-12-06 13:38:05 +01:00
Léa Saviot
4b3ce7a7f1 [python/turtle] Fix Turtle::setSpeed
If speed > 10 or < 0.5, it should be set to 0. When speed is 10 or 0,
the drawing should be instantaneous. Default speed is 3.
2018-12-06 11:55:20 +01:00
Léa Saviot
1e78f20ac1 [python] Return after interruption in possibly long turtle methods
forward(100) with speed = 3 can now be interrupted.
2018-12-06 11:48:42 +01:00
Romain Goyet
05a2491479 [python/turtle] Fix the heading 2018-11-16 18:34:46 +01:00
Romain Goyet
467ae9c6f3 [python/turtle] Fix small typos 2018-11-16 18:34:23 +01:00
Romain Goyet
5748521876 [python/turtle] Try to play well with uPy's GC 2018-11-16 18:33:41 +01:00
Romain Goyet
a9091c933b [python/turtle] Use a Turtle class 2018-11-16 15:31:31 +01:00