Моделируется поведение большого статистического ансамбля невзаимодействующих и изолированных объектов.
Скрипт написан для смартфонов с разрешением дисплея 240x320 точек.
import appuifw,e32 from key_codes import* from random import choice
appuifw.app.screen='full' c=appuifw.Canvas() appuifw.app.body=c c.clear(0x000000)
class M: def __init__(self,x,y,u,v,r): self.x,self.y=x,y self.u,self.v=u,v self.c,self.r=c,r def dryak(self): self.c.ellipse((self.x-self.r,\ self.y-self.r,self.x+self.r,self.y+\ self.r),fill=0xff0000)
X,Y,U,V,R=[],[],[],[],[] for i in range(150): X.append(choice(range(15,215))) Y.append(choice(range(15,305))) U.append(choice(range(1,7))) V.append(choice(range(1,7))) R.append(choice(range(5,8)))
while True: for i in range(150): M(X[i],Y[i],U[i],V[i],R[i]).dryak() e32.ao_sleep(0.0001) c.clear(0x000000)
for i in range(150): X[i]+=U[i] Y[i]+=V[i] if X[i]-R[i]<=0 or X[i]+R[i]>=\ 240: U[i]=-U[i] if Y[i]-R[i]<=0 or Y[i]+R[i]>=\ 320: V[i]=-V[i]
|