f ž _ ã@s\ddlmZmZmZmZdZGdd„deƒZGdd„deƒZ dd„Z e d krXe ƒeƒd S) é)ÚShapeÚTurtleÚmainloopÚVec2Déc@s$eZdZdd„Zdd„Zdd„ZdS)ÚGravSyscCsg|_d|_d|_dS)Nrg{®Gáz„?)ÚplanetsÚtÚdt)Úself©r ú3/usr/lib64/python3.10/turtledemo/planet_and_moon.pyÚ__init__szGravSys.__init__cCs|jD] }| ¡qdS)N)rÚinit)r Úpr r r rs z GravSys.initcCs6tdƒD](}|j|j7_|jD] }| ¡q"qdS)Ni')Úranger r rÚstep)r Úirr r r Ústart s  z GravSys.startN)Ú__name__Ú __module__Ú __qualname__rrrr r r r rsrc@s,eZdZdd„Zdd„Zdd„Zdd„Zd S) ÚStarcCsTtj||d| ¡||_| |¡||_|j |¡||_|  d¡|  ¡dS)N)ÚshapeÚuser) rrZpenupÚmÚsetposÚvrÚappendÚgravSysZ resizemodeZpendown)r rÚxrrrr r r r's   z Star.__init__cCs,|jj}| ¡|_|jd||j|_dS)Nçà?)rr ÚaccÚar©r r r r r r1s z Star.initcCsRtddƒ}|jjD]:}||kr| ¡| ¡}|t|jt|ƒd|7}q|S)Nré)ÚVecrrÚposÚGrÚabs)r r#Úplanetrr r r r"5s    zStar.acccCsj|jj}| | ¡||j¡|jj |¡dkrJ| | |jjd¡¡|  ¡|_ |j||j |_dS)Nr) rr rr'rrÚindexZ setheadingZtowardsr"r#r$r r r r<s  z Star.stepN)rrrrrr"rr r r r r&s rcCs|tƒ}| ¡| ¡ dd¡| ¡| ¡| d¡| d¡| ¡|  dd¡|  ¡|  ¡}| ¡|  dd¡|  ¡|  ¡}t dƒ}|  |d¡|  |d¡| ¡ d|¡| ¡ d d¡tƒ}td tddƒtdd ƒ|d ƒ}| d ¡| d¡| ¡tdtddƒtddƒ|dƒ}| d¡| d¡td tddƒtddƒ|dƒ}| d¡| d¡| ¡| ¡dS)NrééZé´ZcompoundZorangeZbluer*éi@BgÀÚcircleZyellowgÍÌÌÌÌÌü?iÔ0éÒéÃZgreengš™™™™™é?éÜi'r!zDone!)rÚresetZ getscreenZtracerZhtZpuÚfdÚltZ begin_polyr0Zend_polyZget_polyrZ addcomponentZregister_shaperrr&ZcolorZ shapesizeZpencolorrr)ÚsZm1Zm2Z planetshapeZgsZsunZearthZmoonr r r ÚmainFsD            r8Ú__main__N) Zturtlerrrrr&r(Úobjectrrr8rr r r r Ús '