Alice 3.3: различия между версиями

Материал из Викиучебника — открытых книг для открытого мира
Содержимое удалено Содержимое добавлено
Строка 21: Строка 21:
sphere move LEFT, Force, duration Duration, animationStyle BEGIN_AND_END_ARBUTLY
sphere move LEFT, Force, duration Duration, animationStyle BEGIN_AND_END_ARBUTLY
}
}
MoveForward <- nextRandomBoolean
MoveForward <- nextRandomBoolean()
MoveRight <- nextRandomBoolean
MoveRight <- nextRandomBoolean()
}
}
</source>
</source>

Версия от 12:04, 10 декабря 2017

Одновременное движение объектов

Движение в одном направлении

constant DecimalNumber Force <- 0.25
constant DecimalNumber Duration <- 0.25
Boolean MoveForward <- true
Boolean MoveRight <- true
while true is true
{
  each Sphere sphere in new Sphere[] {this.sphere, this.sphere2, this.sphere3} together
    do together
    {
      if (MoveForward) is true then
        sphere  move FORWARD, Force, duration Duration, animationStyle BEGIN_AND_END_ARBUTLY
      else
        sphere  move BACKWARD, Force, duration Duration, animationStyle BEGIN_AND_END_ARBUTLY
      
      if (MoveRight) is true
        sphere  move RIGHT, Force, duration Duration, animationStyle BEGIN_AND_END_ARBUTLY
      else
        sphere  move LEFT, Force, duration Duration, animationStyle BEGIN_AND_END_ARBUTLY
    }
    MoveForward <- nextRandomBoolean()
    MoveRight <- nextRandomBoolean()
}

Броуновское движение

constant DecimalNumber Force <- 0.25
constant DecimalNumber Duration <- 0.25
while true is true
{
  each Sphere sphere in new Sphere[] {this.sphere, this.sphere2, this.sphere3} together
    do together
    {
      sphere  move FORWARD, Force - nextRandomRealNumberRange(0.0, 2.0 * Force), duration Duration, animationStyle BEGIN_AND_END_ARBUTLY
      sphere  move RIGHT, Force - nextRandomRealNumberRange(0.0, 2.0 * Force), duration Duration, animationStyle BEGIN_AND_END_ARBUTLY
    }
}