Фононный газ Печать
Автор: Administrator   
13.04.2011 12:37

Моделируется поведение большого статистического ансамбля невзаимодействующих и изолированных объектов.

Скрипт написан для смартфонов с разрешением дисплея 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]


( 9 Votes )
Обновлено 25.04.2011 15:41