Mindig (blokk)

(Átirányítva erről: Mindig)


A Mindig blokk Vezértő blokk és C blokk. Ez a blokk ciklusba foglalja, a benne levő blokkokat - akárcsak az Ismételd () és az Ismételd Eddig () blokk, azzal a különbséggel, hogy ez a ciklus sosem ér véget (kivéve, ha az állj jelzésre kattintunk vagy az Összes Állj blokkot illetve az állj szkript blokkot aktiváljuk a ciklusban). Mivel ez egy végtelen ciklus, a blokk alján nem található kis kiugró rész, hiszen az értelmetlen lenne, lévén, hogy az alatta levő blokk soha nem aktiválódna.

Ez a blokk kis késéssel működik, ezért az indítás megfelelő sebessége érdekében használjunk különálló képkocka blokkot.


Példák

Ez a blokk, az egyik legáltalánosabban használt blokk a a Scratch-ben, mivel igen sok esetben szükséges a végtelen ciklus használata. Néhány általános használati eset:

  • Tartsunk egy manót egy másik helyén
       mindig
       ugorj [Manó1 v]
       
  • Zenés ciklus
        mindig
        játszd le [Harci induló v] és várd meg
      
  • Animációk (pl. integetés)
        mindig
         ismételd (5)
         fordulj (15) fokot
        end
        ismételd (5)
         fordulj  (-15) fokot
        end
       

Más megoldások

Ezek a blokkok két módon helyettesíthetőek: Logikai állításokkal, amik soha nem lesznek igazak, vagy rekurzióval.

<[1] = [-1]>
<[a] = [b]>
<(időzítő) = [-1]>
<nem <nem <>>>

Egy teljesen más megoldás:

ismételd eddig <[1] = [-1]>
. . .

Egy megoldás, ami nem használ hamis logikai állításokat, a végződés szerinti rekurzió. Végződés szerinti rekurziót készíthetünk szkript küldéséve, amit egy üzenet küldésnek kell indítania, ami gyorsan futtatja a szkriptet.

[Rekurzió v] üzenet érkezésekor
. . .
küldj üzenetet [Rekurzió v]

Ez némi haszonnal jár projekt készítésekor. Például, a szkript hasznos tud lenni fraktálok készítésekor.

Ugyancsak műkodik:

ismételd ([10^ v] of (309))
...
end

Ehhez szükséges egy "Végtelen" operátor, mint:

([10^ v] of (309))
([e^ v] of (1000))
(együtt [Végtelen][])

Az utóbbi megoldások mind működnek.


Lásd Még

  • A lap utolsó módosítása: 2016. június 28., 10:10