Bollen som studsar horisontellt¶

I den här lektionen ska vi studsa en boll horisontellt från sida till sida.
Bollen som studsar horisontellt: uppgift 1¶
float x = 300;
float hastighet = 2;
void setup()
{
size(600, 100);
}
void draw()
{
ellipse(x,50,100,100);
x = x + hastighet;
if (x > 650)
{
x = -50;
}
}
Skriv in den här koden. Sätt värdet på hastighet till 1. Vad ser du?
Bollen som studsar horisontellt: lösning 1¶
Du kan se att bollen rör sig långsamt åt höger. Om bollen åker ut ur fönstret till höger, ska den dyka upp igen på fönstrets vänstra sida.
float x = 300;
float hastighet = 1;
void setup()
{
size(600, 100);
}
void draw()
{
ellipse(x,50,100,100);
x = x + hastighet;
if (x > 650)
{
x = -50;
}
}

Bollen som studsar horisontellt: uppgift 2¶
Sätt värdet på hastighet till 0. Vad ser du?
Bollen som studsar horisontellt: lösning 2¶
Bollen är nu stilla.
float x = 300;
float hastighet = 0;
void setup()
{
size(600, 100);
}
void draw()
{
ellipse(x,50,100,100);
x = x + hastighet;
if (x > 650)
{
x = -50;
}
}

Bollen som studsar horisontellt: uppgift 3¶
Sätt värdet på hastighet till -1. Vad ser du?
![]() |
Talet -1 uttalas som 'minus ett'. Det är nummer ett lägre än noll. |
|---|---|
Bollen som studsar horisontellt: lösning 3¶
Bollen rör sig nu åt vänster och syns inte längre.
float x = 300;
float hastighet = -1;
void setup()
{
size(600, 100);
}
void draw()
{
ellipse(x,50,100,100);
x = x + hastighet;
if (x > 650)
{
x = -50;
}
}

Bollen som studsar horisontellt: uppgift 4¶

Se till att om bollen åker ut ur fönstret till vänster, så återkommer den på höger sida.
Gör detta genom att göra en till if-sats.
Bollen som studsar horisontellt: lösning 4¶
float x = 300;
float hastighet = -1;
void setup()
{
size(600, 100);
}
void draw()
{
ellipse(x,50,100,100);
x = x + hastighet;
if (x > 650)
{
x = -50;
}
if (x < -50)
{
x = 650;
}
}
Bollen som studsar horisontellt: uppgift 5¶
Tänk efter nu, vad måste göras med hastighet för att få bollen att studsa (från vänster till höger)?
Om du vågar, prova detta utan att läsa mer!
Bollen som studsar horisontellt: lösning 5¶
Om den träffar vänster sida ska bollen åka åt höger. Om den träffar höger sida måste bollen åka åt vänster.
![]() |
Om bollen ... | då måste den ... |
|---|---|---|
![]() |
kommer till vänster | går till höger |
![]() |
kommer till höger | går till vänster |
![]() |
if(...) |
{} |
|---|---|---|
![]() |
x < 50 |
hastighet = 1; |
![]() |
x > 550 |
hastighet = -1; |
Bollen som studsar horisontellt: uppgift 6¶

Låt nu bollen studsa från vänster till höger.
Bollen som studsar horisontellt: lösning 6¶
float x = 300;
float hastighet = 1;
void setup()
{
size(600, 100);
}
void draw()
{
ellipse(x,50,100,100);
x = x + hastighet;
if (x > 550)
{
hastighet = -1;
}
if (x < 50)
{
hastighet = 1;
}
}
Bollen som studsar horisontellt: uppgift 7¶

Låt nu bollen åka med en hastighet av 2 pixlar åt gången.
Bollen som studsar horisontellt: lösning 7¶
float x = 300;
float hastighet = 2;
void setup()
{
size(600, 100);
}
void draw()
{
ellipse(x, 50, 100, 100);
x = x + hastighet;
if (x > 550)
{
hastighet = -2;
}
if (x < 50)
{
hastighet = 2;
}
}
Bollen som studsar horisontellt: uppgift 8¶
Ändra koden:
| från | till |
|---|---|
hastighet = 2; |
hastighet = -hastighet; |
hastighet = -2; |
hastighet = -hastighet; |
![]() |
![]() |
|---|---|
hastighet = -hastighet; |
'Kära dator, ändra minus- eller plustecknet på hastighet' |
![]() |
Talet '-1' har ett minustecken |
|---|---|
Bollen som studsar horisontellt: lösning 8¶

float x = 300;
float hastighet = 2;
void setup()
{
size(600, 100);
}
void draw()
{
ellipse(x, 50, 100, 100);
x = x + hastighet;
if (x > 550)
{
hastighet = -hastighet;
}
if (x < 50)
{
hastighet = -hastighet;
}
}
Bollen som studsar horisontellt: slutuppgift¶

Låt nu bollen studsa upp och ner.




