Kennt sich jemand mit TygerJython aus?

1 Antwort

from gturtle import *

import time

makeTurtle()

hideTurtle()

setScreenSize(800, 600)

# --- Hintergrund zeichnen ---

def drawBackground():

  setBgColor("darkblue")

  # Berge

  setPenColor("darkgreen")

  setFillColor("darkgreen")

  startPath()

  moveTo(-400, -100)

  lineTo(-200, 100)

  lineTo(0, -50)

  lineTo(200, 150)

  lineTo(400, -100)

  lineTo(400, -300)

  lineTo(-400, -300)

  lineTo(-400, -100)

  fillPath()

  # Haus

  setPenColor("brown")

  setFillColor("brown")

  fillRect(-50, -150, 100, 100)

  setFillColor("red")

  fillTriangle(-60, -50, 0, 0, 60, -50)

drawBackground()

# --- Sterne zeichnen ---

def drawStars():

  from random import randint

  for _ in range(50):

    x = randint(-390, 390)

    y = randint(0, 290)

    setPenColor("white")

    dotAt(x, y)

drawStars()

# --- Sternschnuppe mit Schweif ---

def drawShootingStar():

  star = Turtle()

  tail = Turtle()

  remover = Turtle()

  star.hideTurtle()

  tail.hideTurtle()

  remover.hideTurtle()

  star.setPenColor("yellow")

  tail.setPenColor("lightgray")

  remover.setPenColor("darkblue") # Hintergrundfarbe

  x = -300

  y = 250

  while x < 400:

    # Stern

    star.setPos(x, y)

    star.dot(5)

    # Schweif

    tail.setPos(x - 20, y + 5)

    tail.dot(3)

    tail.setPos(x - 40, y + 10)

    tail.dot(2)

    # Warten

    time.sleep(0.05)

    # Entfernen (mit remover)

    remover.setPos(x, y)

    remover.dot(6)

    remover.setPos(x - 20, y + 5)

    remover.dot(4)

    remover.setPos(x - 40, y + 10)

    remover.dot(3)

    x += 10

    y -= 3

# --- Rauch ---

def smoke():

  s = Turtle()

  s.hideTurtle()

  s.setPenColor("gray")

  positions = [(-10, -50), (0, -40), (10, -30), (0, -20)]

  radius = 10

  while True:

    for pos in positions:

      s.setPos(pos[0], pos[1])

      s.dot(radius)

      time.sleep(0.1)

      # Rauch verblasst

      s.setPenColor("darkblue")

      s.dot(radius)

      s.setPenColor("gray")

# --- Hauptanimation ---

def main():

  import threading

  thread1 = threading.Thread(target=drawShootingStar)

  thread2 = threading.Thread(target=smoke)

  thread1.start()

  thread2.start()

main()

"Löschen"

So in etwas könnte das aussehen :) mach deine Hausaufgaben oder was auch immer halt nicht im letzten Moment... :)

[ETWAS ARBEIT darfst du gerne selber machen]


KianH47 
Beitragsersteller
 19.06.2025, 15:40

Ich habe ja alles fertig ich kriege es nur nicht das die turtle alles gleichzeitig macht. Ich hätte auch gerne meinen Code hier rein gemacht aber das waren zu viele Zeichen