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