from turtle import Turtle, Screen # Qilayotgan dasturimiz uchun kerakli kutubxonlarni import qilamiz. Turtle bu toshbaqa shakllarni chizish uchun, Screen esa bizga kerak bo'ladigan oyna
oyna = Screen() # 'oyna' nomli o'zgaruvchi olamiz va uni Screen() ga tenglab olamiz
oyna.title("Mening dasturim") # Bu buyruq oynamizni burchak qismida ko'rinadigan oyna nomini o'zimiz istagan nomga o'zgartirish uchun kerak bo'ladi
chiziq = Turtle() # 'chiziq' nomli o'zgaruvchi olamiz va uni Turtle() ga tenglab olamiz
chiziq.color('red') # Ana toshbaqamizni rangi o'zgardi
chiziq.pensize(5) # Toshbaqamizni qalamini qalinligini o'zgartirdik
chiziq.speed(0) # Endi toshbaqamiz ancha tez chizadi
chiziq.hideturtle() # Endi toshbaqamiz bizga ko'rinmaydi faqat yurganida qalam izini ko'ramiz.
chiziq.up() # Bu buyruq orqali chizmamizni boshlanish nuqtasiga borayotganda iz qoldimaydi
chiziq.goto(300, 300) # Bu buyruq esa toshbaqani aynan qaysi nuqtaga borishini belgilaydi
chiziq.down() # Endi chizmani chizishimiz uchun toshbaqa qalamini tushurib olamiz
chiziq.goto(300, -300) # Endi toshbaqamiz pastga qarab yuradi va o'zidan iz qoldiradi
chiziq.goto(-300, -300) # Bu buyruqdan so'ng toshbaqamiz chap tomonga yuradi
chiziq.goto(-300, 300) # Hozir toshbaqamiz tepaga qarab yuradi
chiziq.goto(300, 300) # Ana toshbaqamiz o'ngga qarab yurdi va oynamizda kvadrat hozil bo'ldi
koptok = Turtle() # Endi kvadratimizni o'rtasiga dumaloq chizish uchun koptok nomli o'zgaruvchi olamiz
koptok.shape('circle') # Bu buyruq bizga doira chiqib beradi
koptok.color('green') # Hozir biz koptokni rangini o'zgartirib oldik
koptok.up() # Koptok o'zidan iz qoldirmasligi uchun
step_x = 3 # Bunda koptokni x koordinatadagi qadami belgilandi
step_y = 2 # Bunda esa y koordinatadagi qadami belgilandi
while True: # Bu sikl orqali jarayonni cheksiz davom ettiramiz. Qanday jarayon deysizmi? Hozir bilib olasiz!
x, y = koptok.position() # Bu yerda koptokni turgan pozitsiyasi olindi
if x + step_x >= 300 or x + step_x <=-300: # Agar koptok turgan joyidan cheksiz yurganida biz chizgan kvadrat tomonlaridan biriga yetib kelsa
step_x = -step_x # Unda koptok ortga qarab yursin
if y + step_y >= 300 or y + step_y <=-300: # Agar koptok turgan joyidan cheksiz yurganida biz chizgan kvadrat tomonlaridan biriga yetib kelsa
step_y = -step_y
koptok.goto(x+step_x, y+step_y) # Bu koptokni turgan joyidan belgilangan qadam bo'ylab yurish uchun
oyna.mainloop() # Bu buyruq esa oynamiz yopilib qolmasligi uchun