# A rough attempt to model human walking

clg

graphsize 900,300

Fastgraphics

Dim limb(8)

limb = {0, 0, 0, 100, 10, 100,10,0}

y=140

people=10

Dim x(people)

Dim dx(people)

Dim r(people)

Dim g(people)

Dim b(people)

For n=0 to people-1

x[n]=int(rand*900)

dx[n]=(-1)^int(rand*2+1)

r[n]=int(rand*255)

g[n]=int(rand*255)

b[n]=int(rand*255)

next n

For p=0 to 10000

gosub walkman

next p

walkman:

clg

For n=0 to people-1

color r[n],g[n],b[n]

x[n]=x[n]+dx[n]

if x[n]<0 then x[n]=900

if x[n]>900 then x[n]=0

ywable=-10*abs(sin(x[n]*.03+pi/2))

xwable=-30*abs(sin(x[n]*.03))

leftrot=sin(x[n]*.03)/2

rightrot=sin(x[n]*.03+pi)/2

circle x[n]-xwable+5,y+ywable-25,15

stamp x[n]-xwable,y+60+ywable,1,leftrot,limb

stamp x[n]-xwable,y+ywable,.8,leftrot,limb

color r[n],0,b[n]

rect x[n]-10-xwable,y+ywable,30,70

color rgb( r[n],g[n],b[n])

stamp x[n]-xwable,y+60+ywable,1,rightrot,limb

stamp x[n]-xwable,y+ywable,.8,rightrot,limb

next n

refresh

return