Skip to content

Tangentbord 3: Terminator II

Under den här lektionen ska vi styra en prick med tangentbordet.

Terminator 2 (arkadspel)

Tangentbord 3: intro

Intro

Detta är vår startkod. Skriv denna kod över:

float x = 0;
float y = 0;

float dx = 0; // Hastighet till hoger
float dy = 0; // Hastighet till nedat

void setup()
{
  size(200,200);
  x = width / 2;
  y = height / 2;
}

void draw()
{
  if (keyPressed)
  {
    if (key == 'w') dy = dy - 0.01;
    if (key == 'd') dx = dx + 0.01;
    if (key == 's') dy = dy + 0.01;
    if (key == 'a') dx = dx - 0.01;
  }
  x = x + dx;
  y = y + dy;
  point(x,y);
}

Starta programmet och tryck på ADSW för att ändra riktning.

Solglasögon På engelska använder du en punkt i ett kommanummer

Tangentbord 3: Uppgift 1

När spelaren går ut till höger, gör så att den kommer tillbaka till vänster.

Uppgift 1

Tangentbord 3: Lösning 1

Du behöver en if-sats:

float x = 0;
float y = 0;

float dx = 0; // Hastighet till hoger
float dy = 0; // Hastighet till nedat

void setup()
{
  size(200,200);
  x = width / 2;
  y = height / 2;
}

void draw()
{
  if (keyPressed)
  {
    if (key == 'w') dy = dy - 0.01;
    if (key == 'd') dx = dx + 0.01;
    if (key == 's') dy = dy + 0.01;
    if (key == 'a') dx = dx - 0.01;
  }
  x = x + dx;
  y = y + dy;
  if (x > width) x = 0;
  point(x,y);
}
Dator Smiley
if (x > width) x = 0 'Bästa dator, om x är större än width, ställ x till 0.'

Tangentbord 3: Uppgift 2

Se till att även om spelaren längst upp på skärmen släcks, att det visas längst ner.

Uppgift 2

Tangentbord 3: Lösning 2

float x = 0;
float y = 0;

float dx = 0; // Hastighet till hoger
float dy = 0; // Hastighet till nedat

void setup()
{
  size(200,200);
  x = width / 2;
  y = height / 2;
}

void draw()
{
  if (keyPressed)
  {
    if (key == 'w') dy = dy - 0.01;
    if (key == 'd') dx = dx + 0.01;
    if (key == 's') dy = dy + 0.01;
    if (key == 'a') dx = dx - 0.01;
  }
  x = x + dx;
  y = y + dy;
  if (x > width) x = 0;
  if (y < 0) y = height;
  point(x,y);
}

Tangentbord 3: Slutuppgift

Se till att spelaren alltid finns kvar i bilden.

End Assignment