# Snippets: random direction, screen wrap

Randomized speed:

``` //randomize angle float angle = radians(random(360));   //same speed float speed = 300;   //break down the speed vector into x and y components float vX = speed * cos(angle); float vY = speed * sin(angle);   //set the velocity circle.setVelocity(vX, vY);```

Wrapping around the screen

```//if the circle's x coordinate is < 0 teleport it to width keeping the same x if(circle.getX() < 0) circle.setPosition(width, circle.getY());   if(circle.getX() > width) circle.setPosition(0, circle.getY());   //similar and inverted for y coordinate if(circle.getY() < 0) circle.setPosition(circle.getX(), height);   if(circle.getY() > height) circle.setPosition(circle.getX(), 0);```

Full example here:

```import fisica.*;   FWorld world;   FCircle circle;   void setup() { //sketch size size(800, 600);   //initialize the library Fisica.init(this);   //create a new Fisica world world = new FWorld();   //for this example we are disabling the grab world.setGrabbable(false);   //no gravity world.setGravity(0, 0);   //create a circle circle = new FCircle(20); //appearance circle.setNoStroke(); circle.setFill(255); //no inertia circle.setDamping(0); //make it lighter circle.setDensity(0.1); //make it bouncier circle.setRestitution(1); //no rotation circle.setRotatable(false); //set its position in the center of the sketch to the left circle.setPosition(400, 300); world.add(circle);     }     void draw() { world.step(); background(0); world.draw();   //if the circle's x coordinate is < 0 teleport it to width keeping the same x if(circle.getX() < 0) circle.setPosition(width, circle.getY());   if(circle.getX() > width) circle.setPosition(0, circle.getY());   //similar and inverted for y coordinate if(circle.getY() < 0) circle.setPosition(circle.getX(), height);   if(circle.getY() > height) circle.setPosition(circle.getX(), 0);   }   void mousePressed() {     //randomize angle float angle = radians(random(360));   //constant speed float speed = 300;   //break down the speed vector into x and y components float vX = speed * cos(angle); float vY = speed * sin(angle);   //set the velocity circle.setVelocity(vX, vY); }```
Posted in