C. Premenné

Toto cvičenie robte, ak ste už prešli za lekciu 12 - Premenné v podprogramoch.

Úloha 1

Vytvorte skeč, ktorý pri každom kliknutí myšou vykreslí o 1 väčšie číslo:

Riešenie
int pocitadlo = 0;

void setup()
{
  size(400, 400);
  background(0);
  fill(255,255,0);
  textSize(40);
}

void mousePressed()
{
  pocitadlo = pocitadlo + 1;
  text(pocitadlo, mouseX, mouseY);
}

void draw()
{
}

Úloha 2

Upravte svoj program tak, aby v ľavej polovici obrazovky boli čísla inej farby ako v pravej:

Riešenie
int pocitadlo = 0;

void setup()
{
  size(400, 400);
  background(0);
  textSize(40);
}

void mousePressed()
{
  pocitadlo = pocitadlo + 1;
  if (mouseX < width/2)
  {
    fill(255,0,0);
  }
  else
  {
    fill(0,255,0);
  }
  text(pocitadlo, mouseX, mouseY);
}

void draw()
{
}

Úloha 3

Upravte svoj program tak, aby sa čísla v ľavej polovici a čísla v pravej polovici počítali oddelene:

Riešenie
int p_lave = 0;
int p_prave = 0;

void setup()
{
  size(400, 400);
  background(0);
  textSize(40);
}

void mousePressed()
{  
  if (mouseX < width/2)
  {
    p_lave = p_lave + 1;
    fill(255,0,0);
    text(p_lave, mouseX, mouseY);
  }
  else
  {
    p_prave = p_prave + 1;
    fill(0,255,0);
    text(p_prave, mouseX, mouseY);
  }
  
}

void draw()
{
}

Úloha 4

Vytvorte skeč, ktorý na každom okraji obrazovky vygeneruje nejakú náhodnú pozíciu a nakreslí z nej čiaru do stredu obrazovky, toto opakuje stále dokola:

Tento GIF je spomalený, vám to pôjde rýchlejšie.
Riešenie
float x;
float y;

void setup()
{
  size(400, 400);
  stroke(255,255,0);
  x = width/2;
  y = height/2;
}

void draw()
{
  background(0);
  line(random(width), 0, x, y); // horny okraj
  line(random(width), height, x, y); // spodny okraj
  line(0,random(height), x, y); // lavy okraj
  line(width, random(height), x, y); // pravy okraj  
}

Úloha 5

Upravte skeč tak, aby sa pri kliknutí myšou zmenila pozícia stredného bodu na pozíciu myši.

Riešenie
float x;
float y;

void setup()
{
  size(400, 400);
  stroke(255,255,0);
  x = width/2;
  y = height/2;
}

void mousePressed()
{  
  x = mouseX;
  y = mouseY;
}

void draw()
{
  background(0);
  line(random(width), 0, x, y); // horny okraj
  line(random(width), height, x, y); // spodny okraj
  line(0,random(height), x, y); // lavy okraj
  line(width, random(height), x, y); // pravy okraj  
}

Úloha 6 - Lomená čiara

Urobte nový skeč, ktorý bude pri klikaní myšou kresliť čiaru, ktorá spája starý klik s novým klikom.

Vytvorte si premenné stare_x, stare_y. Na začiatku nastavte staré súradnice na náhodnú pozíciu. Pri kliknutí myšou nakreslite čiaru z týchto starých súradníc do súradníc myši. Po vykreslení čiary uložte súradnice myši do starých súradníc.

To znamená, že ste si zapamätali pozíciu myši do týchto starých súradníc a pri budúcom kliku si ich tam nájdete.

Riešenie
float stare_x;
float stare_y;

void setup()
{
  size(400, 400);
  background(0);
  stroke(255,255,0);
  stare_x = random(width);
  stare_y = random(height);  
}

void mousePressed()
{  
  line(stare_x, stare_y, mouseX, mouseY);
  stare_x = mouseX;
  stare_y = mouseY;
}

void draw()
{
}

Last updated