@@ -311,6 +311,8 @@ def __init__(
311
311
self ._turtle_pic = None
312
312
self ._turtle_odb = None
313
313
self ._turtle_alt_sprite = None
314
+ self ._turtle_x = self ._x
315
+ self ._turtle_y = self ._y
314
316
self ._drawturtle ()
315
317
self ._stamps = {}
316
318
self ._turtle_odb_use = 0
@@ -323,15 +325,23 @@ def __init__(
323
325
324
326
def _drawturtle (self ) -> None :
325
327
if self ._turtle_pic is None :
326
- self ._turtle_sprite .x = int (self ._x - 4 )
327
- self ._turtle_sprite .y = int (self ._y - 4 )
328
+ self ._turtle_sprite .x = int (self ._turtle_x - 4 )
329
+ self ._turtle_sprite .y = int (self ._turtle_y - 4 )
328
330
else :
329
331
if self ._turtle_odb is not None :
330
- self ._turtle_alt_sprite .x = int (self ._x - self ._turtle_odb .width // 2 )
331
- self ._turtle_alt_sprite .y = int (self ._y - self ._turtle_odb .height // 2 )
332
+ self ._turtle_alt_sprite .x = int (
333
+ self ._turtle_x - self ._turtle_odb .width // 2
334
+ )
335
+ self ._turtle_alt_sprite .y = int (
336
+ self ._turtle_y - self ._turtle_odb .height // 2
337
+ )
332
338
else :
333
- self ._turtle_alt_sprite .x = int (self ._x - self ._turtle_pic [0 ] // 2 )
334
- self ._turtle_alt_sprite .y = int (self ._y - self ._turtle_pic [1 ] // 2 )
339
+ self ._turtle_alt_sprite .x = int (
340
+ self ._turtle_x - self ._turtle_pic [0 ] // 2
341
+ )
342
+ self ._turtle_alt_sprite .y = int (
343
+ self ._turtle_y - self ._turtle_pic [1 ] // 2
344
+ )
335
345
336
346
###########################################################################
337
347
# Move and draw
@@ -448,11 +458,15 @@ def _do_draw_line(self, x0: int, y0: int, xn: int, yn: int):
448
458
self ._plot (int (y0 ), int (x0 ), self ._pencolor )
449
459
except IndexError :
450
460
pass
461
+ self ._turtle_x = y0
462
+ self ._turtle_y = x0
451
463
else :
452
464
try :
453
465
self ._plot (int (x0 ), int (y0 ), self ._pencolor )
454
466
except IndexError :
455
467
pass
468
+ self ._turtle_x = x0
469
+ self ._turtle_y = y0
456
470
if self ._speed > 0 :
457
471
if step >= self ._speed :
458
472
# mark the step
0 commit comments