Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import turtle
- import random
- r = 10
- x0 = []
- y0 = []
- ax = []
- ay = []
- ax1 = []
- ay1 = []
- ax2 = []
- ay2 = []
- vx0 = []
- vy0 = []
- m = []
- q = []
- x1 = []
- y1 = []
- vy1 = []
- vx1 = []
- dt=0.01
- for i in range(5):
- x0.append(random.randint(-190, 190))
- y0.append(random.randint(-190, 190))
- ax.append(0)
- ay.append(0)
- ax1.append(0)
- ay1.append(0)
- ax2.append(0)
- ay2.append(0)
- vx0.append(random.randint(150,800))
- vy0.append(random.randint(150,800))
- m.append(2)
- q.append(random.randint(1,5))
- x1.append(0)
- y1.append(0)
- vy1.append(0)
- vx1.append(0)
- balls = []
- for i in range (5):
- window = turtle.Screen()
- border = turtle.Turtle()
- border.speed(0)
- border.up()
- border.hideturtle()
- border.pensize(5)
- border.color('black')
- border.goto(200,200)
- border.down()
- border.goto(200,-200)
- border.goto(-200,-200)
- border.goto(-200,200)
- border.goto(200,200)
- ball = turtle.Turtle()
- ball.hideturtle()
- ball.shape('circle')
- ball.up()
- ball.color('gold')
- balls.append(ball)
- for i in range (0,5):
- balls[0].color('blue')
- balls[1].color('black')
- balls[3].color('cyan')
- balls[4].color('grey')
- while True:
- for i in range (0,5):
- x,y = ball.position()
- balls[i].goto(x0[i],y0[i])
- balls[i].showturtle()
- for i in range (0,5):
- x1[i] = x0[i]+vx0[i]*dt
- y1[i] = y0[i]+vy0[i]*dt
- for i in range (0,5):
- vy0[i] = vy0[i]+ay[i]*dt
- vx0[i] = vx0[i]+ax[i]*dt
- for i in range (0,5):
- for j in range (0,5):
- if i!=j:
- if ((x1[i]-x1[j])**2+(y1[i]-y1[j])**2)**0.5<2*r:
- vx1[i]=((m[i]-m[j])*vx0[i]+(2*m[j]*vx1[j]))/(m[i]+m[j])
- vx0[i]=vx1[i]
- x1[i]=x0[i]+vx0[i]*dt
- x0[i]=x1[i]
- vy1[i]=((m[i]-m[j])*vy0[i]+(2*m[j]*vy1[j]))/(m[i]+m[j])
- vy0[i]=vy1[i]
- y1[i]=y0[i]+vy0[i]*dt
- y0[i]=y1[i]
- for i in range (0,5):
- if x1[i]>200-r:
- vx0[i]=-1*vx0[i]
- x1[i]=2*200-x1[i]-2*r
- if x1[i]<-200+r:
- vx0[i]=-1*vx0[i]
- x1[i]=2*(-200)-x1[i]+2*r
- if y1[i]>200-r:
- vy0[i]=-1*vy0[i]
- y1[i]=2*200-y1[i]-2*r
- if y1[i]<-200+r:
- vy0[i]=-1*vy0[i]
- y1[i]=2*(-200)-y1[i]+2*r
- x0[i] = x1[i]
- y0[i] = y1[i]
- window.mainloop()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement