IMAGINE parancsszavak listája
(angol nyelvű parancsok)

A lista nem teljes, csak a fontosabb parancsok rövidített leírását tartalmazza.
Ha az Imagine futtatásakor megnyomjuk az F8 billentyűt, a parancssorba begépelt (a kurzorpozícióban található) kifejezéshez tartozó magyarázat megjelenik a képernyő egy ablakában.

Példa:

© ELTE TEAM Labor - http://imagine.elte.hu/


Verziószám: Imagine HTML Súgó (EN) - 1.0


allturtles
(all)

A paranccsal elkészíthetjük az összes létező teknőc listáját, azaz ebben lesznek a new paranccsal létrehozott új teknőcök. Ne tévesszük össze ezt a parancsot a who paranccsal, mely az összes éppen aktív teknőc (active teknőcök) listáját készíti el, melyben természetesen nem szerepelnek a létező, de éppen nem aktív teknőcök.


Példa

Próbáld ki az alábbi utasításokat:

? show allturtles
[t1]
? new "Turtle [name Feri pos [10 10]]
? show allturtles
[t1 Feri]

? eraseObject allturtles
? show allturtles
[]
? show who
[]

? new "Turtle [name Jani pos [100 40] heading 90]
? new "Turtle [name Józsi pos [-100 40] heading 270]
? show allturtles
[Jani Józsi]
? forward 100
? tell allturtles
? show who
[Jani Józsi]
? each [print pos]
100 40
-100 40

? to négyzet :oldal
> repeat 4 [forward :oldal right 90]
> end
? showTurtle
? négyzet 60
? hideTurtle
? ask butFirst allturtles [right 20 négyzet 40]


allUp logikai

Ez a beállítás csak akkor érvényes, ha a kapcsoló (switch) értéke igaz és legalább két kapcsoló gomb ugyanabból a csoportból való.
Ha megváltozatod a logikai értéket, akkor ezt átörökíted mindegyik, ebben a csoportban levő kapcsológombra.


and logikai logikai

A kimenet értéke igaz, ha mindkét bemeneti érték igaz. Különben a kimenet értéke hamis. Ha több (vagy kevesebb), mint két bemeneted van, a kimeneten csak akkor lesz igaz érték, ha minden bemenő érték igaz.


Példa

Próbáld ki az alábbi utasításokat:

? show and number? first [2 3] number? last [2 3]
true
? if and (count [1 2 3] = 3) member? 2 123 [print "igen]
igen


animation

A kimenet értéke igaz, ha az automatikus animáció be van kapcsolva az első aktív teknőcnél (first active turtle), különben a kimenet értéke hamis. Ennek a módosítására használhatod a setAnimation parancsot.


any

A kimenet az any szó, melyet a többi parancsnál használhatsz bemeneti értékként (pl.:setPos, setPenWidth stb.), ahol egy véletlenszerű értéket helyettesíti be. Például setPenWidth any ugyanazt jelenti, mint a setPenWidth 1 + random 20; right any megegyezik a right 1 + random 90 paranccsal stb.


Példa

Próbáld ki az alábbi utasításokat:

? cs
? repeat 10 [setpw any setpc any fd 100 pu back 100 rt 90 fd 20 left 90 pd]


any

Az any bármilyen adat lehet, ami az Imagine-ben változó értékként elfogadható. Ez lehet egy szó, lista vagy egy kép (image). Más típusú adatot nem fogad el a Logo eljárás bemenetként.


aPos pont

Megadja a teknőc aktuális pozíciójának abszolút koordinátáit. A teknőc pozíciója alapesetben a helyének a középpontja.


Példa

Próbáld ki az alábbi utasításokat:

? cs
? show apos
[398 249]
? fd 100
? show apos
[398 149]
? rt 90
? fd 100
? show apos
[498 149]


ask [teknőcök] [parancsok]

Ha az ASK második bemenete a végrehajtandó utasítások listája, akkor az ASK egy parancs. Ha a második bemenet egy olyan lista, ami egy értéket előállító kifejezést tartalmaz, akkor az ASK művelet.

Ha az ASK parancs, akkor az első bemenetben megnevezett teknőcök végrehajtják a második bemenetben leírt utasításokat. Itt a megnevezett teknőcök ideiglenesen aktívvá válnak, és egyszerre hajtják végre az utasításokat. Amikor az ASK utasítás befejeződött, az eredetileg aktív teknőcök lesznek újra aktívak.


Példa

Próbáld ki az alábbi utasításokat:

? new "Turtle [name Majom pos [10 10] heading 90]
? tell allturtles
? showTurtle
? ask "Majom [forward 50]
? ask [t1 Majom] [forward 100]
? ask "Majom [left 90 forward 50]


askEach [teknőcök] [parancsok]

Az ask és each utasításokat egyesíti. Tehát a következő két parancsnak pontosan megegyezik a jelentése: askEach teknőcök list és az ask teknőcök [each list].


Példa

Próbáld ki az alábbi utasításokat:

? eraseObject allTurtles
? new "Turtle [name elso pos [-100 100]]
? new "Turtle [name masodik pos [100 100]]
? new "Turtle [name harmadik pos [100 50]]
? new "Turtle [name negyedik pos [-100 50]]
? askEach [elso negyedik] [repeat 6 [forward 50 right 60]]
? askEach [masodik harmadik] [repeat 5 [forward 70 right 72]]


autoDrag logikai

Ha az értéke igaz, akkor a teknőcöt a bal egérgomb lenyomásával tudod mozgatni. Ha a teknőc tolla penDown módban van, akkor mozgatás közben egy vonalat húz maga után.


Példa

Próbáld ki az alábbi utasításokat:

? cs
? show autodrag
false
? setAutodrag "true


back szám
(bk szám)

Ez a parancs az éppen aktív teknőcöket mozgatja, a megadott számú lépéssel (azaz pixellel), az aktuális irányukkal ellentétesen. Az forward parancshoz hasonlóan a (beállított színű, vastagságú és mintájú) vonal rajzolását, megszakítását és törlését a pendown, penup, penerase parancsokkal állíthatjuk be.


Példa

Próbáld ki az alábbi utasításokat:

? back 50

? setPenColour 12
? back 100

? back -40
? setPenColour 6
? repeat 4 [back 50 ]



bgColour

Megadja az oldal vagy panel jelenlegi háttérszínét.


Példa

Próbáld ki az alábbi utasításokat:

? show bgColour
white
? setBgColour "red
? show bgColour red


bgPicture

Háttérnek képet is beállíthatsz ezzel a paranccsal.


Példa

Próbáld ki az alábbi utasításokat:

? cs
? t1'setShape p1'bgPicture


browseDocument fájl,
browseDocument Web-cím
(browseDoc)

Megnyithatsz egy Internet böngészőt, ahol megnézheted a fájl vagy az internet cím tartalmát. Ha az alkalmazást vagy dokumentumot nem lehet megnyitni, akkor hibát jelez.


butFirst bemenet
(bf)

Ha a bemenet egy szó, akkor a BUTFIRST a kimenetre megadja a szót az első karakter nélkül. Ha a bemenet egy lista, akkor azt az első tag nélkül adja vissza. Ha a bemenet egy képsor, akkor a BUTFIRST az első frame nélkül adja vissza azt.


Példa

Próbáld ki az alábbi utasításokat:

? show butFirst "Imagine
magine
? show butFirst [egy kettő három]
[kettő három]


butItem szám bármi

Ezzel a művelettel a szóból a megadott sorszámú elemet tudjuk törölni. Ha az any egy szó, akkor a megadott betűt, ha lista akkor az adott elemét töröljük.


Példa

Próbáld ki az alábbi utasításokat:

? show butitem 4 "sziea
szia
? show butitem 6 "almafa
almaf
? show butitem 5 butitem 6 "almafa
alma


butLast bármi
(bl)

Ha a bemenet egy szó, akkor a BUTLAST a kimenetre megadja a szót az utolsó karaktere nélkül. Ha a bemenet egy lista, akkor az utolsó eleme nélkül adja vissza. Ha a bemenet egy kép, akkor a BUTLAST az utolsó frame nélkül adja vissza.


Példa

Próbáld ki az alábbi utasításokat:

? show butLast "Imagine
Imagin
? show butLast [egy kettő három]
[egy kettő]


butMember karakter szó,
butMember bármi lista

A szóból törli a megadott karaktereket. Lista esetén pedig a megadott értékkel azonos elemeket törli a listából.


Példa

Próbáld ki az alábbi utasításokat:

? show butmember "a "almafa
lmf
? show butmember "e "esezeiea
szia


cancel szó, cancel lista

Megállítod a szó által megnevezett folyamatot. Ha a bemenő adat egy lista, minden olyan folyamatot leállítasz, aminek a definíciója a listában találhatóval megegyezik.


changeMe

Megnyitod a Change Me párbeszédablakot, ahol beállíthatod a változókat vagy módosíthatod az eljárásokat. Ha bezárod a dialógusablakot, (az OK gombra kattintva, vagy az F12 billentyűt használva) akkor elmented a változtatásokat.


Példa

Próbáld ki az alábbi utasításokat:

? changeMe


circle szám

Az aktív teknőc (active turtle) a megadott átmérővel rajzol egy kört. Megadhatod a toll színét (pen colour) és a toll vastagságát (pen width) is.


Példa

Próbáld ki az alábbi utasításokat:

? cs
? circle 50
? circle 100
? circle 150
? circle 200


cleanBgPicture
(cbg, clean
)

Letörli, megtisztítja a lapot, és az aktuális háttérszínnel fedi be az oldalt. A cleanBgPicture nincs hatással a teknőcök jelenlegi irányára, pozíciójára, tollának állapotára.


Példa

Próbáld ki az alábbi utasításokat:

? loadBGPicture "|Hatterek\Szabadban\utca.lgf|
? clean
? setBgColour "red
? loadBGPicture "|Hatterek\Szabadban\utca.lgf|
? clean


clearScreen
(cs)

Letörli a képernyőt, az elmozgatott teknőc visszaáll a kiinduló állapotba. Az aktuális teknőc (active turtle) nem módosítható. Választhatsz, hogy a megjelenítés során rejtve maradjon-e a teknőc (hideTurtle), vagy látni szeretnéd (showTurtle).

Figyeld meg a különbséget a Clearscreen és a cleanBgPicture (clean) parancs között.


Példa

Próbáld ki az alábbi utasításokat:

? setBgColour 1
? setPenColour 12
? setPenWidth 7
? forward 50
? right 45
? forward 50
? wait 200 clearScreen


clearText
(ct)

Letörli a szöveges képernyőt.


Példa

Próbáld ki az alábbi utasításokat:

? show 1000 * 10
10000
? clearText


clickedPos

A kimenet egy vektor, aminek a kezdeti pontja a teknőc aktuális pozíciója, végpontja pedig a legutóbbi egérkattintás pozíciója a teknőc alakján belül.


clipboard

A legtöbb eljárásnak, ami fájlokkal dolgozik, megadható a "Clipboard szó bemenetként a fájlnév helyett. Például a putPicture, loadBGPicture, loadImage, createFileSelection, setBGPicture, load, loadImage, loadText, loadTable, setShape stb. eljárások tudnak olvasni a Vágólapról. Hasonlóan a saveBGPicture, save, saveImage, saveText, saveTable, stb. eljárások tudnak a Vágólapra menteni.


Példa

Klikkelj a teknőcre mutatva a jobb gombbal az Alak másolása menüpontra, aztán próbáld ki az alábbi utasítást:

? show clipboard [2 LogoMotion (Images) 8 17]


clone objektum beállítás-lista

Az első bemenetben megadott objektumról készíthetsz másolatot. A másolat új névvel jön létre, de megtartja az összes többi tulajdonságot, saját és közös változót, eljárást. A második bemenettel lehetőséged van módosítani a hasonló objektumok általános beállításait: ? clone "t1 [pos [-200 0] autoDrag false]


Példa

Próbáld ki az alábbi utasításokat:

? clone "t1 [pos [-200 0] name Napom shape |Szabadban\nap.lgf|]
? clone "t1 [pos [0 200] name Kutyám shape |Allatok\kutya.lgf|]


count bemenet

A bemenő adat elemeit számolhatod meg ezzel a paranccsal.


Példa

Próbáld ki az alábbi utasításokat:

? show count "Imagine
7
? show count [egy kettő három]
3
? show count [Szandra]
1
? show count [A B [C D] ]
3


date

Megadja a dátumot egy négyelemű listával melynek formája: [nap hónap év hét_melyik_napja], ahol a hét_melyik_napja egy szám 0 (Vasárnap) és 6 (Szombat) között.


Példa

Próbáld ki az alábbi utasításokat:

? show date
[14 11 2005 1]


define szó definíciós-lista

A parancs egy eljárást definiál a jelenlegi fogadó részére, aminek a neve az első bemenet tartalma, szövege pedig a második bemenetben megadott parancslista. Így egy felhasználó által definiált eljárás jön létre. Ha azonban a jelenlegi fogadónak már létezik ugyanolyan néven saját vagy közös változója, akkor hibát fog jelezni, és az eljárás nem jön létre.


Példa

Próbáld ki az alábbi utasításokat:

? define "négyzet [[a][repeat 4 [fd :a rt 90]]]
? négyzet 50
? négyzet 100


defined? szó

A kimenet értéke igaz, ha a bemeneti szómegfelel egy felhasználó által definiált eljárás nevének, amely a jelenlegi fogadóhoz tartozik, vagy az örökölte.


Példa

Próbáld ki az alábbi utasításokat:

? define "négyzet [[a][repeat 4 [fd :a rt 90]]]
? show t1'defined? "négyzet
true


difference szám1 szám2

A két szám különbségét adja meg.


Példa

Próbáld ki az alábbi utasításokat:

? forward difference 50 10
? show difference 100 10
90


dot

Hatására minden aktív teknőc az előre beállított színnel, illetve tollvastagsággal egy pontot rajzol ki a jelenlegi pozíciójában.

Figyeld meg, hogy azok az aktív teknőcök is fognak pontot rajzolni, amelyeknek a tolla fel van emelve.

Azt is vedd észre, hogy a dot ugyanaz, mint a fd 0, ha teknőc tolla lenn van. Azonban a fd 0 nem rajzol tökéletes kört. Ezt jól lehet látni, ha a toll vastagsága 10-nél nagyobb.


Példa

Próbáld ki az alábbi utasításokat:

? clearscreen
? dot
? penUp
? forward 50
? setPenWidth 11
? dot
? forward 50


dotColour

Megadja az oldal, vagy panel azon pontjának színét, ahol az első aktív teknőc jelenleg elhelyezkedik.


Példa

Próbáld ki az alábbi utasításokat:

? show dotColour
white
? setBgColour 2
? show dotColour
green3


each [parancsok listája]

Erre a parancsra minden aktív teknőc végrehajtja a bemenetben található összes utasítást. Ezt sorban hajtják végre; első teknőc, aztán a második teknőc stb.

Az utasítások listájában használhatod a who műveletet: ennek az értéke amíg az each parancs fut, mindig annak a teknőcnek a neve, aki éppen végrehajtja a parancsokat.

Míg az each parancs hatására az aktív teknőcök az adott parancsokat egyenként hajtják végre, az ask hatására az összes megnevezett teknőc egyszerre hajtja azokat végre.


Példa

Próbáld ki az alábbi utasításokat:

? new "Turtle [name Ádám pos [10 10] heading 90]
? tell allturtles
? showTurtle
? each [repeat 4 [forward 100 right 90 wait 100]]


empty? bemenet

Igazat (TRUE) ad a kimenetre, ha a bemenet üres szó, üres lista, vagy üres kép. Ellenkező esetben hamisat (FALSE) ad.


Példa

Próbáld ki az alábbi utasításokat:

? show empty? [gép]
false
? show empty? []
true
? show empty? butFirst [gép]
true
? show empty? butFirst "A
true


end

Speciális kulcsszó, melyet az eljárás lezárására használunk.


Példa

Próbáld ki az alábbi utasításokat:

? to négyzet :oldal
> repeat 4 [ forward :oldal right 90]
> end
? négyzet 40
? négyzet 100


equal? bemenet1 bemenet2

Igaz értéket ad vissza, ha a megadott két szó, kép vagy lista tartalma, értéke megegyezik egymással. Ellenkező esetben hamis értéket ad vissza.

Ha a bemenetek száma kettőnél több, az equal? akkor ad igaz értéket, ha minden bemenet megegyezik. Különben a kimenet hamis.


Példa

Próbáld ki az alábbi utasításokat:

? show equal? 3 3
true
? show equal? 7 3
false

? show equal? "Ferenc "Ferenc
true
? show equal? "Ferenc "ferenc
true
? show equal? "Ferenc "János
false

? show equal? [fekete piros] [fekete piros]
true
? show equal? [fekete piros] [fekete piros kék]
false

? show equal? 7*12 word 8 last [ 2 4 ]
true
? show equal? 27 "27
true


erase ":változó
erase [:változó1 ... ]

Kitörli a megadott globális változót. Ha nem létezik ez a globális változó, akkor a következő hibaüzenetet kapod:
? erase ":Vál
A Változó változónak nincs értéke. Használd a globálisváltozó vagy név parancsot, hogy értéket adj a változónak.


Példa

Próbáld ki az alábbi utasításokat:

? make "a 100
? show :a
100
? fd :a
? erase ":a
? show :a


eraseAll

Minden felhasználó által definiált eljárást, minden objektumot és minden futó folyamatot töröl. Visszaáll a kezdeti üres Imagine környezet.


Példa

Próbáld ki az alábbi utasításokat:

? new "Turtle [pos [100 100]]
? new "Turtle [pos [-100 100]]
? eraseAll


eraseObject objektum
eraseObject objektum_lista

A bemenetben meghatározott objektumot, vagy objektumokat törli.


Példa

Próbáld ki az alábbi utasításokat:

? new "Turtle [pos [any any]]
? new "Turtle [pos [any any]]
? tell all
? show who
[t1 t2 t3]
? eraseObject who

? new "Turtle [pos [100 100]]
? new "Turtle [pos [100 50] heading 90]
? new "Turtle [pos [50 100] heading 270]
? eraseObject [t1 t3]
? eraseObject "t2


every N lista

Ahol a lista utasításokat tartalmaz. Elindít egy új, független folyamatot, amelyik minden N ezredmásodpercben futtatja a listában megadott utasítássort.


Példa

Próbáld ki az alábbi utasításokat:

? eraseAll
? every 5 [fd 50 wait 500]
? stopAll


false

A "hamis" vagy "nem" logikai értéket képviseli.


Példa

Próbáld ki az alábbi utasításokat:

? show (6 = 2 + 3)
false


file

Megegyezik a Windows file értelmezésével pl.: "project1.IMP vagy "|my image 23.LGF|.


fill

Minden aktív teknőc az előre beállított színnel, illetve mintával tölti ki a körülötte lévő területet.

Az aktív teknőcök kitöltő színének beállításához használd a setFillColour parancsot. Az új szín beállításig a kitöltő szín a toll aktuális színe. Az első aktív teknőc kitöltőszínének megállapításához használd a fillColour parancsot. Az aktív teknőcök kitöltő mintájának beállításához használd a setFillPattern parancsot. Az első aktív teknőc kitöltő mintájának megállapításához használd a fillPattern parancsot.


Példa

Próbáld ki az alábbi utasításokat:

? setPenColour 5
? setPenWidth 4
? repeat 4 [forward 50 right 90]
? right 45
? penUp
? forward 10
? setFillColour 3
? fill


fillColour
(fc)

Az első aktív teknőc kitöltőszínének megállapításához használd a fillColour parancsot. Ha nincs beállítva a kitöltő szín, akkor az értéke a teknőc tollszínével egyezik meg. A fillColour művelet eredménye az a szín, amit a fill és a polygon parancsok használnak kitöltéskor.


Példa

Próbáld ki az alábbi utasításokat:

? show fillColour
? black
? repeat 4 [fd 50 rt 90] pu rt 45 fd 20
? fill back 20 left 45 left 90 pd
? repeat 4 [fd 50 rt 90] pu rt 45 fd 20
? setPenColour "darkblue8 fill
? show fillColour
darkblue8


fillPattern
(fp)

A kimenete az első aktív teknőcnél beállított kitöltő minta. Ha előzőleg nem állítottál be más mintát, akkor az alapérték 0, a teljes kitöltés. A fillPattern művelet eredménye az a minta, amit a fill és a polygon használ kitöltésnél.


Példa

Próbáld ki az alábbi utasításokat:

? show fillPattern
? 0
? repeat 4 [fd 50 rt 90] pu rt 45 fd 20
? fill back 20 left 45 left 90 pd
? repeat 4 [fd 50 rt 90] pu rt 45 fd 20
? setfillPattern "4 fill
? show fillPattern
4


first bemenet

Ha a bemenet egy szó, akkor a First a kimenetre megadja a szó első karakterét. Ha a bemenet egy lista, akkor az első elemét adja vissza. Ha a bemenet egy kép, akkor a FIRST az első frame-et, képkockát adja vissza.


Példa

Próbáld ki az alábbi utasításokat:

? show first "Imagine
I
? show first [egy kettő három]
[egy]


font

Az első aktív teknőcnek beállított betűtípust adja meg. Az alapértéke, ha nincs beállítva betűtípus:[[System] [0 400 0 0 0 1]].


Példa

Próbáld ki az alábbi utasításokat:

? show font
[[System] [0 400 0 0 0 1]]
? pu label SZIA!!!!
? fd 150
? setFont [[Tahoma][10 700 1 0 0 238]]
? label "SZIA!!!!
? show font [[Tahoma][10 700 1 0 0 238]]


for szó [szám1 szám2] U-lista
for szó [szám1 szám2 szám3] U-lista

Először tegyük fel, hogy szám1 < szám2. A szó változó megkapja a szám1 értékét, majd lefut az U-lista utasításlista. Ezután a szó változó értéke növekszik 1-gyel (vagy szám3-mal, ha meg van adva) és újra futtatja az U-lista utasításlistát. Ez addig ismétlődik, amíg a szó értéke nagyobb nem lesz, mint szám2. Ha a szám3 - lépés nagyság - nincs megadva és a szám1 > szám2, a szó változó értéke minden alkalommal 1-gyel csökken. Különben a szám3 mindig hozzáadódik a szó változóhoz: ha a szám3 negatív, a szó értéke minden alkalommal csökken. Az U-listán belül használhatod a repcount kifejezést arra, hogy az idáig végrehajtott lépések számára hivatkozz. Jegyezd meg azt is, hogy ha a szám3 értéke 0, az utasításlista csak egyszer hajtódik végre. Ez akkor is igaz, ha szám1=szám2.


Példa

Próbáld ki az alábbi utasításokat:

? for "j [1 3] [show :j]
1
2
3
? for "j [1 3 2] [show :j]
1
3
? for "j [1 7 2] [show :j]
1
3
5
7


forEach szó bármi U-lista

A word változó értéke először a második bemenet (bármi ) első eleme lesz (egy karakter, ha ez egy szó; egy elem, ha ez lista; egy képkocka, ha ez kép stb...) és futtatja az U-lista utasításlistát. Ezután a bármi második eleme lesz a word változó értéke, és az utasításlista ismét lefut, ... stb, a bármi  minden elemére. Az utasításlista pontosan annyiszor fut le, ahány eleme van a bárminek. Így ha bármi üres, az utasításlista egyszer sem fut le. Jegyezd meg, hogy az U-lista utasításlistában használhatod a repcount kifejezést, hogy utalj arra, hogy hányadik ismétlésben vagy éppen.


Példa

Próbáld ki az alábbi utasításokat:

? forEach "w [krokodil zsiráf majom] [(print word repcount ". "szó "hossza: count :w )]
1. szó hossza: 8
2. szó hossza: 6
3. szó hossza: 5


forever U-lista
forever U-lista szó

 

Készít egy új párhuzamos és végtelen önálló folyamatot. Ez örökli a jelenlegi fogadót, és az összes helyi változóról másolatot kap. Ezután az U-lista (a folyamat törzse) elkezd futni egy végtelen ciklusban ismétlődve. A nem kötelező második bemenet (word) határozza meg a folyamat nevét. Ha nincs meghatározva egy pontos név, akkor a folyamat neve azonos lesz az U-lista szövegével.


forward szám
(fd)

 

Ez a parancs az éppen aktív teknőcöket lépteti előre, a megadott számú lépéssel (pixellel), abba az irányba, amerre néznek. Figyeld meg, hogy a forward 0 azt jelenti, hogy a teknőc 0 mezővel lép előre, azaz egy 1 hosszúságú vonalat rajzol. A forward 1 azt jelenti, hogy előre kell menni 1 lépést, ezért egy 2 hosszúságú vonalat rajzol. Ha a pendown parancsot használtuk, egy vonalat rajzol a teknőc. Ha a penup parancsot használtad, nem rajzolódik ki a vonal. Penerase módban a teknőc minden színt kitöröl.


Példa

Próbáld ki az alábbi utasításokat:

? forward 50

? setpencolour 12
? forward 100

? setpencolour 6
? setpenwidth 4
? forward 50


fPut bemenet [lista]
fPut szó1 szó2

Ha a második bemenet egy lista, az FPUT kimenete egy megváltozott lista, amelynek első eleme az első bemenet, a butFirst elemei pedig a bemeneti lista elemei. Ha második bemenet egy szó, akkor az FPUT kimenete egy megváltozott szó, ami úgy jön létre, hogy a word1 és a word2 szavak összekapcsolódnak. Az FPUT word1 word2 ugyanaz mint a word word1 word2.


Példa

Próbáld ki az alábbi utasításokat:

? show fPut "A [B C D]
[A B C D]
? show fPut [A B] [C D E]
[[A B] C D E]


frozen

Az alapértéke hamis. Megadja, hogy az egész főablak és annak minden objektuma (azaz minden) rögzített-e, vagy sem.


fullScreen

Átméretezi a grafikus és a szöveges képernyőt úgy, hogy az egész képernyőt fedjék. Azaz, sem a címsor sem a főmenü nem lesz látható. Az eredeti maximum méretet a maximize begépelésével állíthatod vissza. A grafikus képernyő átméretezésének egy másik módja, hogy kiválasztod a Nézet/Teljes képernyő parancsot a főmenüben.


Példa

Próbáld ki az alábbi utasításokat:

? fullScreen
? maximize


graphicScreen
(gs)

A teljes FőAblakot (az eszköztárai alatt - ha látszanak) átállítja grafikus képernyőre. A szöveges képernyő nem látszik, de aktív lesz. Azaz az Imagine minsden parancsot végrehajt (és megjegyez) amit a billentyűzetről gépelsz be.


Példa

Próbáld ki az alábbi utasításokat:

? textscreen
? graphicscreen


greater? szám1 szám2
greater? (szám1 szám2 szám3)

A kimenet igaz, ha az első szám nagyobb a másodiknál. Ellenkező esetben hamis értéket ad vissza.


Példa

Próbáld ki az alábbi utasításokat:

? show greater? 3 30
false
? show greater? 30 3
true
 


heading

Megad egy szöget, amely az első aktív teknőc iránya.

A 0 jelenti Északot, s az irány az óramutató járásával megegyező irányban növekszik. Az irány változtatásához a left, right, vagy setHeading parancsokat használhatod.


Példa

Próbáld ki az alábbi utasításokat:

? clean
? forward 100
? show heading
45


hideButtons

Eltünteti a képernyőről a Gombsort. Ezt a gombokhoz rendelt tevékenységektől függetlenül teszi - a gombdefiníciók nem változnak a gombsor eltüntetésével, vagy felfedésével.


Példa

Próbáld ki az alábbi utasításokat:

? showButtons
? hideButtons


turtlename'hideMe

Ez ugyanaz, mint a hideTurtle.


hideSpeedBar

Elrejti a Főeszköztárat. Amikor Főeszköztár rejtett, a grafikai képernyő nagyobb lehet.

Ha újra meg akarod jeleníteni, használd a showSpeedBar parancsot.


Példa

Próbáld ki az alábbi utasításokat:

? hideSpeedBar
? wait 300 showSpeedBar


hideTurtle
(ht)

A parancs elrejt minden aktív teknőcöt.

Az összes aktív teknőcöt a showTurtle paranccsal hozhatjuk vissza a képernyőre. Azt, hogy az első aktív teknőc éppen látszik-e, a shown? kérdéssel tudhatjuk meg. A megjelenített teknőcökkel lassabban lehet vonalakat rajzolni. Ezért néha érdemes az összeset elrejteni.

Az összes aktív teknőc alakjának megváltoztatásához használd a setShape parancsot bemenetként bármilyen képpel.


Példa

Próbáld ki az alábbi utasításokat:

? showTurtle ; megmutatja a teknőst
? forward 100 ; a teknős 100 lépést előre lép
? hideTurtle ; elrejti a teknőst
? showTurtle ; megmutatja a teknőst
? repeat 90 [forward 140 right 172] ; egy alakzatot rajzol
? penUp ; felemeli a tollat a papírról
? back 150 ; teknős 150 lépést visszalép
? penDown ; visszahelyezi a tollat a papírra
? hideTurtle ; elrejti a teknőst
? repeat 90 [forward 140 right 172] ; figyeljük meg a sebességkülönbséget


home

A parancs az aktív teknőcöket visszahelyezi az eredeti pozíciójukba, amit akkor határoztunk meg, amikor a teknőcöt a new paranccsal létrehoztuk.

A parancs nem változtatja meg a teknőc jelenlegi irányát, vagy a toll aktuális beállítását (penUp, penDown, penErase, tollszín, minta vagy vastagság). Így ha a toll bármilyen rajzoló módban van a teknőc vonalat húz hazatérés közben is. A teknőc továbbra is látszik, ha előtte látszott (lásd shown?). A képernyő sem törlődik.


Példa

Próbáld ki az alábbi utasításokat:

? clean
? forward 100
? right 90
? home

? right 45
? forward 100
? right 15
? forward 50
? hideTurtle
? home
? showTurtle


if bemenet [lista1]
if bemenet [lista1] [lista2]

Ha az bemenet igaz, akkor a list1 listában szereplő utasításokat hajtja végre. Ha az első bemenet hamis, és a harmadik bemenetet megadtuk, akkor a list2 listában szereplő utasításokat hajtja végre. Ha az első bemenet hamis és nincs harmadik bemenet, az if parancsnak nincs hatása.


Példa

Próbáld ki az alábbi utasításokat:

? if 1<2 [show [Egy kisebb kettőnél]]
[Egy kisebb kettőnél]
? if 2<1 [show [Kettő kisebb egynél]]
 
 


ifElse logikai U-lista1 U-lista2

Ha az első bemenet igaz, akkor az U-lista1 listát futtatja. Ha az első bemenet hamis, akkor az U-lista2 utasításait hajtja végre.


Példa

Próbáld ki az alábbi utasításokat:

? to faktoriális :n
> op ifElse :n < 2
> [1]
> [:n * faktoriális :n - 1]
> end
? show faktoriális 3
6
? show faktoriális 4
24


ifFalse U-lista
(iff)

Futtatja a bemeneti listában található utasításokat, ha egy, az ifFalse előtt futtatott test parancs hamis értéket adott. Ha a kimenet igaz volt, az ifFalse parancsnak nincs hatása.


Példa

Próbáld ki az alábbi utasításokat:

? to faktoriális :n
> test :n < 2
> ifTrue [op 1]
> ifFalse [op :n * faktoriális :n - 1]
> end
? show faktoriális 3
6
? show faktoriális 4
24


ifTrue U-lista
(ift)

Futtatja a bemeneti listában található utasításokat, ha egy, az ifTrue előtt futtatott test parancs ugyanabban az eljárásban igaz értéket adott. Ha a kimenet hamis volt, az ifTrue parancsnak nincs hatása.


Példa

Próbáld ki az alábbi utasításokat:

? to faktoriális :n
> test :n < 2
> ifTrue [op 1]
> ifFalse [op :n * faktoriális :n - 1]
> end
? show faktoriális 3
6
? show faktoriális 4
24


ignore bármi

Ez az eljárás kap egy bemenetet (vagy bemeneteket) és figyelmen kívül hagyja azt (vagy azokat). Az ignore olyan esetekben használható, amikor kapsz egy értéket egy műveletből, de nincs rá szükséged.


image? bármi

A kimenet értéke igaz, ha a bemenet egy kép volt.


Példa

Próbáld ki az alábbi utasításokat:

? make "myShape loadImage "|Animacio\Bringas.lgf|
? show image? :myShape
true


inc szó

A bemenet által megnevezett változó értékét eggyel megnöveli - ha a parancsnak csak egy bemenete van. Különben a változó értékét egy adott számmal növeli. A változónak számnak kell lennie.


Példa

Próbáld ki az alábbi utasításokat:

? make "valami 99
? inc "valami
? show :valami
100
? inc "valami 3
? show :valami
103


item szám bemenet
item [szám1 szám2] bemenet

Ha az első bemenet egy szám , ITEM a második bemenetből megadja a szám sorszámú tagot. Ha a második bemenet egy lista, a kimenet a szám sorszámadik eleme. Ha a második bemenet egy szó, a kimenet a szám sorszámadik karaktere. Ha a második bemenet egy kép, a kimenet a szám sorszámadik képkockája. Mindhárom esetben az első bemenet egy olyan szám, ami legalább 1, de legfeljebb annyi, ahány eleme van a második bemenetnek. (Ha a szám nem egész, a törtrésze le lesz vágva)


Példa

Próbáld ki az alábbi utasításokat:

? show item 1 "róbert
r
? show item 2 "róbert
ób
? show item 3 [A B C D]
C
? show item [2 2] [A B C D]
B C
? show item 1 [[AB] [BC] [CD]]
[AB]
? show item [3 4] "fabula
bula


key

A kimenet annak a billentyűnek a neve, amit a billentyűzeten megnyomtunk. Ha nem nyomtál meg egy billentyűt sem, a key vár, amíg leütsz egy billentyűt (azaz vár, amíg a key? igaz értéket ad ki). A begépelt karakter nem jelenik meg a képernyőn.


Példa

Próbáld ki az alábbi utasításokat:

? show key
 


key?

Igaz értéket ad, ha a billentyűzeten lenyomtak egy billentyűt. Különben hamis értéket ad vissza.

Amikor beolvas egy karaktert a billentyűzetről, a READKEY és a READCHAR addig vár, amíg a KEY? kimenete igaz nem lesz.


Példa

Próbáld ki az alábbi utasításokat:

? to várakozz
> if key? [stopMe]
> print [Várakozok...]
> Wait 10
> end
? várakozz
Az eljárás leállításához meg kell nyomnod egy billentyűt.


label szöveg

Hatására minden aktív teknőc kiírja a bemeneti szöveget a jelenlegi helyén az aktuális betűtípus beállítást használva. A bemeneti szöveg a teknőc aktuális tollszínével íródik ki. Ha a szöveg egy lista, a label a zárójelek nélkül írja ki azt.


Példa

Próbáld ki az alábbi utasításokat:

? repeat 10 [pu fd 50 setpencolour any label "SZIA back 50 rt 36]


last lista

Ha a bemenet egy szó, akkor a LAST a kimenetre megadja a szó utolsó karakterét. Ha a bemenet egy lista, akkor az utolsó elemét adja vissza. Ha a bemenet egy kép, akkor a LAST az utolsó képkockát adja vissza.


Példa

Próbáld ki az alábbi utasításokat:

? show last "TIBOR
R
? show last [[MAJOM] [ELEFÁNT][TIGRIS]]
[TIGRIS]
? show last [Tom és Jerry]
Jerry
? show last ["TIBOR ]
["TIBOR ]


lastName

A kimenete az utoljára létrehozott objektum neve - de csak akkor, ha ugyanabban a folyamatban használod, amiben a new (vagy newObject) előfordult. Ez azt jelenti, hogy mind a new, mind a lastName parancsot vagy a paranccsorban kell használnod, vagy ugyanabban a "programrészben" (például egy felhasználó által definiált eljárásban).


Példa

Próbáld ki az alábbi utasításokat:

? new "Turtle [name kutyám shape |Allatok\kutya.lgf| pen pu]
? show lastname
MyDog


left szám
(lt)

Az aktív teknőcöt a megadott szögben balra (óra járásával ellentétes irányba) fordítja. Az első aktív teknőc irányát a heading paranccsal tudhatjuk meg.


Példa

Próbáld ki az alábbi utasításokat:

? left 90
? wait 300
? left 90
? wait 300
? left 180


less? szám1 szám2

A kimenő érték igaz, ha az első szám kisebb a másodiknál. Különben hamis értéket ad vissza.


Példa

Próbáld ki az alábbi utasításokat:

? show less? 1 3
true
? show less? 2 1
false
? show less? 4 4
false


list bemenet1 bemenet2
list (bemenet1 bemenet2 bemenet3)

Kimenete egy lista, melynek elemei a bemenetek. A bemenetek lehetnek szavak, listák, képek. Figyeld meg a különbséget a list és a sentence között.


Példa

Próbáld ki az alábbi utasításokat:

? show list "Tea "Kanna
[Tea Kanna]
? show list "A [B C]
[A [B C]]
? show list ( 1 2 3 4)
[1 2 3 4]
? show ( list "kék "vörös "fekete )
[kék vörös fekete]
? show list "egy [kettő három]
[egy [kettő három]] 
? show list  [egy] [kettő három] 
[[egy] [kettő három]]


list? bemenet

Igaz a kimenet, ha a bemenet egy lista. Egyébként a kimenet hamis.


Példa

Próbáld ki az alábbi utasításokat:

? show list? [A B C]
true
? show list? "Robert
false
? show list? 2+3
false
? show list? FIRST [A B]
false
? show list? FIRST [[A B][C D]]
true


loadImage fájl

Bemenetként egy LGF fájl, vagy bármely más elfogadott grafikus fájl nevét kapja, kiolvassa annak tartalmát és képként adja ki. Ha nincs meghatározva a kiterjesztés, a loadImage hozzáadja az LGF-et. Ha nincs meghatározva az elérési út, a jelenlegi (path "image) mappában keres.


Példa

Próbáld ki az alábbi utasításokat:

? make "kutya loadimage "|Allatok\kutya.lgf|
? setshape :kutya


local szó

Létrehoz egy változót, vagy változókat a megadott névvel, ami helyi változó lesz abban a folyamatban, eljárásban, ami a parancsot használja. Ha több név van megadva, vagy nevek listája, egyetlen lépésben több helyi változó jön létre. A local parancs bárhol lehet az eljárásban, mielőtt a make vagy a name paranccsal értéket adunk neki. Jegyezd meg, hogy a local nem ad a változónak értéket.


loop U-lista

Az bemeneti lista utasításait ismétli egy végtelen ciklusban. Ugyanazt jelenti, mint a while ["true] U-lista. A bemenetben szereplő utasítások "örökké" fognak futni - hacsak a folyamat, amely ezt a ciklus parancsot futtatja, nem törlődik. Azonban ne téveszd össze ezt az egyszerű vezérlő utasítást a forever utasítással, amely egy új független folyamatot indít el.


Példa

Próbáld ki az alábbi utasításokat:

? loop [rt random 360 fd 5 if abs pos > 80 [bk 5]]


lPut bemenet [lista]

Ha a második bemenet egy lista, az LPUT létrehoz egy módosított listát, aminek az utolsó tagja az első bemenet és butLast tagjai a bementi lista elemei.
Ha mindkét bemenet kép, az LPUT kimenete egy módosított kép, melynek első része a második kép kockáiból, a második része az első kép kockáiból áll. Az LPUT image1 image2 ugyanaz, mint az image image2 image1. (Vigyázz a bemenetek sorrendjére!)
Ha a második bemenet egy szó, az LPUT létrehoz egy módosított szót úgy, hogy összerakja a második és az első szót. Az LPUT word1 word2 ugyanaz mint a word word2 word1. (Vigyázz a bemenetek sorrendjére!)


Példa

Próbáld ki az alábbi utasításokat:

? show lPut "A [B C D]
[B C D A]
? show lPut "A []
[A]
? show lPut [Y Z] [W X]
[W X [Y Z]]


make szó érték

Egy változót definiál, melynek neve az első bemenet, értéke a második bemenet. Ahhoz, hogy ennek a változónak megtudd az értékét, a :word kifejezést használd.


Példa

Próbáld ki az alábbi utasításokat:

? make  "kicsoda [TE és ÉN]
? print thing "kicsoda
TE és ÉN

? make "száz 100
? show :száz
100


member képsor1 képsor2

Megkeresi az képsor1 első előfordulását képsor2-ben, és kimenetként megadja azt a pozíciót képsor2-ben ahol az képsor1-et megtalálta. Ha nincs ilyen kép az képsor2-ben, a művelet eredménye 0.


Példa

Próbáld ki az alábbi utasításokat:

? show member "Imag "Imagine
1
? show member "gin "Imagine
4
 


member? bemenet1 bemenet2

A kimenet értéke igaz, ha az első bemenet tagja a második bemenetnek, ami egy lista. Különben a kimenet hamis.

Ha második bemenet egy szó, a MEMBER? egy szórészként keresi az első bemenetet a második bemenetben.


Példa

Próbáld ki az alábbi utasításokat:

? show member? "Imag "Imagine
true
? show member? "gin "Imagine
true
? show member? "ima "Imagine
true
? show member? "Imagine "imag
false
? show member? "true "Imagine
false


myObjName szó

A kimenet értéke igaz, ha a fogadó maga tartalmazza a bemenet által megnevezett objektum változót.


myPlace

A jelenlegi fogadó helyét jelöli.


name szó

A name beállítás csak akkor használható, amikor új teknőcöt hozol létre. A bemenetben szereplő szó az új teknőc nevét határozza meg.


Példa

Próbáld ki az alábbi utasításokat:

? new "Turtle [name kutyám shape |Allatok\kutya.lgf|  pen pu]


name? szó

Igaz értéket ad vissza, ha a szó egy helyi vagy globális változó neve.


new "osztály_név beállítás-lista

Egy osztály példányát, vagy egy példány példányát hozhatod létre. A második lehetőség lehetővé teszi, hogy először elkészíts egy példány prototípust, majd lépésről lépésre fejleszd a jellemzőit - változókat, eljárásokat és eseményeket. Ezután számos példányát készítheted el ezen prototípus alapján: mindegyikük örökli ugyanazokat az eljárásokat és eseményeket és megkapják a maguk másolatát minden egyes saját változóból.

Egy osztály vagy egy példány példányának létrehozása ugyanúgy történik, a new paranccsal:
? new "osztály_név beállítás-lista
? new "egyed_név beállítás-lista


Példa

Próbáld ki az alábbi utasításokat:

? new "Turtle []
? new "Turtle [name kutyám shape |Allatok\kutya.lgf|  pen pu]


not logikai

Ha a bemenet hamis, a kimenet az igaz érték. Különben a kimenet a hamis érték.


Példa

Próbáld ki az alábbi utasításokat:

? show number? 5
true
? show not(number? 5)
false


number? bemenet

Igaz értéket ad vissza, ha a bemenet egy szám, azaz egy numerikus szó. Különben a kimenet hamis.


Példa

Próbáld ki az alábbi utasításokat:

? show number? 6
true
? show number? "6
true
? show number? 1+1
true
? show number? first [6 8]
true


onBegin web

Akkor fut, amikor egy weboldal betöltése elkezdődik a Web böngészőben.


onChange csúszka, szövegdoboz

Ismételten fut, miközben a felhasználó mozgatja a csúszka nyelvét, vagy amíg egy szövegdoboz jelenlegi tartalma változtatás alatt van. Mindkét esetben ez azt jelenti, hogy az esemény reakciója ismételten fut, amikor csak az objektum value (érték) tulajdonsága változik.


onChanged csúszka

Hasonló az onChange eseményhez. Azonban ez a reakció csak egyszer fut le, amikor a felhasználó (miután egy csúszka nyelvét vonszolta) elengedi a bal egérgombot.


onClean Lap, Panel

Akkor fut, ha a felhasználó létrehoz, vagy letöröl egy lapot, vagy panelt.


onClick

Akkor fut, amikor a felhasználó rákattint az objektumra, azaz lenyomja és elengedi a bal egérgombot az objektum fölött. Ha az objektumnak van onClick eseménye, vagy örökli azt, akkor az ideiglenes fogadója a kattintott objektum lesz.


onCollide Teknőc

Ha azt akarod, hogy az A teknőc reagáljon a teknőc B-vel való összeütközésre (vagy ugyanígy több teknőccel), a következő feltételeknek kell teljesülni:

Ekkor, ha az A teknőc mozgásban van, és nekimegy B teknőcnek, az onCollide eseményének hatása fog futni. Arra a pillanatra az ideiglenes fogadó az A teknőc lesz.


onComplete web

Akkor fut, amikor egy weboldal letöltése a Web böngészőben befejeződik.


onCreate minden osztály

Amikor a felhasználó létrehoz egy új példányt a new vagy a newObject használatával, minden onCreate esemény futni fog. Az így megtalált onCreate események föntről lefelé futnak a Main osztálytól le az objektum szülőjéig. Jegyezd meg, hogy az Imagine-ben nem egy általános stratégia az, hogy az összes eseményt lefuttatja, amit az objektumban és a leszármazottaiban talál. Általában csak az öröklésben talált első esemény fut le.


onDoubleClick

Akkor fut amikor duplát kattintasz az objektumra. Ha az objektumnak van onDoubleClick eseménye, vagy örökli azt, akkor az úgy fut, hogy az ideiglenes fogadó az az objektum, amire kétszer kattintottál.


onDrag

Akkor fut, amikor a felhasználó az objektum fölé mozgatja az egérmutató úgy, hogy a bal egérgomb le van nyomva. Ha a felhasználó a gombot az objektum fölött nyomja meg, akkor addig fogja ismételten futtatni az onDrag eseményt, amíg a gombot föl nem engeded - akkor is, ha az egérmutatót kihúzod az objektumról. Amíg az esemény fut, az ideiglenes fogadó az objektum lesz.


onJoystickButton1Down tetszőleges objektum, amely irányítható a joystick-el

Akkor fut, ha a joystick objektum első gombját lenyomod. Az esemény úgy fut, hogy az ideiglenes fogadója az objektum controlledObject-je. Ugyanez igaz minden négy gombra.


onJoystickButton1Up tetszőleges objektum, amely irányítható a joystick-el

Ugyanaz mint fent, amikor egy joystick első négy gombjából valamelyiket elengeded.


onJoystickMove tetszőleges objektum, amely irányítható a joystick-el

Akkor fut, amikor bármelyik joystick jelenlegi X, Y vagy Z értéke megváltozik.


onLeftDown

Akkor fut, ha a felhasználó lenyomja a bal egérgombot egy objektumon. Ha az objektumnak van onLeftDown eseménye, vagy örökli azt, akkor az úgy fut, hogy az ideiglenes fogadója az adott objektum.


onLeftUp

Akkor fut, ha a felhasználó lenyomja a bal egérgombot egy objektumon, azután elengedi (bárhol). Ha az objektumnak van onLeftUp eseménye, vagy örökli azt, akkor az úgy fut, hogy az ideiglenes fogadója az adott objektum.


onLoad

Akkor fut egy objektumnál, miután az létrejött a következő módszerek valamelyikével; fájlból, vagy a Windows Vágólapról lett betöltve a load, loadproject vagy clone parancsokkal, vagy a Paste from Clipboard menüpont választásával a környezeti menüben. Ha az objektumnak van onLoad eseménye, vagy örökli azt, akkor az úgy fut, hogy az ideiglenes fogadója az adott objektum.


onMiddleDown

Akkor fut, ha a felhasználó megnyomja a középső egérgombot egy objektumon. Ha az objektumnak van onMiddleDown eseménye, vagy örökli azt, akkor az úgy fut, hogy az ideiglenes fogadója az adott obejktum.


onMiddleUp

Akkor fut, ha a felhasználó lenyomja a középső egérgombot egy objektumon, azután elengedi azt (bárhol). Ha az objektumnak van onMiddleUp eseménye, vagy örökli azt, akkor az úgy fut, hogy az ideiglenes fogadója az adott objektum.


onMouseEnter

Akkor fut, ha a felhasználó az egérmutatót úgy mozgatja - anélkül, hogy a bal gomját lenyomná - hogy az rámegy egy objektumra a képernyőn. Ha az objektumnak van onMouseEnter eseménye, vagy örökli azt, akkor az úgy fut, hogy az ideiglenes fogadója az adott objektum.


onMouseLeave

Akkor fut, ha a felhasználó az egérmutatót úgy mozgatja - anélkül, hogy lenyomna egy gombot - hogy az elhagyja azt az objektumot a képernyőn, amire korábban rálépett. Ha az objektumnak van onMouseLeave eseménye, vagy örökli azt, akkor az úgy fut, hogy az ideiglenes fogadója az adott objektum.


onMouseMove

Ismételten fut akkor, ha a felhasználó az egérmutatót egy objektum fölött mozgatja - anélkül, hogy lenyomna egy gombot. Ha az objektumnak van onMouseMove eseménye, vagy örökli azt, akkor az úgy fut újra és újra, hogy az ideiglenes fogadója az adott objektum - addig, amíg meg nem állítod az egeret, vagy el nem hagyod az objektumot. Ekkor visszaáll az előző fogadó.


onPositionChange MédiaLejátszó

Akkor fut, amikor a MédiaLejátszó objektum megváltoztatja a pozícióját azon a média fájlon belül, amelyik jelenleg nyitva van. Ez az esemény csak akkor fut, ha az alábbi parancsok valamelyikével változtatod meg a MédiaLejátszó pozícióját: backstep, rewind, step és setPosition. Amíg ez az esemény fut, az ideiglenes fogadó a MédiaLejátszó objektum lesz.


onPush gomb, eszközgomb

Akkor fut, amikor a felhasználó megnyom egy (bármilyen típusú) gombot úgy, hogy a bal egérgombot lenyomja fölötte. Ha a gombnak van onPush eseménye, vagy örökli azt, akkor úgy fut, hogy önmagát teszi ideiglenes fogadóvá.


onRelease gomb, eszközgomb

Akkor fut, amikor a felhasználó felenged egy kapcsoló gombot, vagy egy eszközgombot (ami előtte le volt nyomva). Amíg az esemény fut, az ideiglenes fogadó az adott gomb.


onRigthUp

Akkor fut, amikor a felhasználó elengedi a jobb egérgombot, amely előtte le volt nyomva egy objektumon. Ha az objektumnak van onRightUp eseménye, vagy örökli azt, akkor az úgy fut, hogy az ideiglenes fogadója az adott objektum.


or logikai logikai

A kimenete hamis, ha minden bemenete hamis. Különben a kimenet igaz.


Példa

Próbáld ki az alábbi utasításokat:

? show or number? 5 number? 6
true
? show or number? "s number? 6
true
? show or number? "s number? "z
false


overlapped

Kimenete azoknak a teknőcöknek a listája, amelyek jelenleg takarásban vannak az első aktív teknőccel. A takarás vizsgálata az overlapMode változó jelenlegi értéke szerint történik.


overlap? teknőc
overlap? teknőc1 teknőc2

A kimenet értéke igaz, ha a első aktív teknőc takarja a bemenetben megnevezett teknőcöt. Ha a bemenet teknőcök listája, akkor a művelet akkor ad igaz értéket, ha az első aktív teknőc a listában szereplő teknőcök közül legalább egyet takar. Különben a művelet kimenete hamis. A takarás vizsgálata az overlapMode változó jelenlegi beállítása szerint történik.


pageWho szó vagy lista

Megadja a következők közül valamelyiket:


pause

Megállítja a megnyitott medialejátszó fájlt, amely jelenleg lejátszódik. A media player állapota Paused lesz.


pauseAll

Mindenfajta jelenleg futó folyamatot megállít. Ha egy paranccsori folyamat futott, és megállítottad, a paranccsor maga nem lesz elérhető újabb parancs beírásához. Ugyanezt megteheted, ha rákattintasz a Megállít/Folytat gombra a Főeszköztárban. Az összes megállított folyamat újraindításához kattints mégegyszer a gombra.


pen toll-állapot

A teknőc tollának állapotát adja meg. A pu, pd, pe vagy px szavak egyikét kell megadni. Az alapértéke pd (a toll letéve).


Példa

Próbáld ki az alábbi utasításokat:

? show pen
pd
? fd 100
? setpen "pu
? fd 100
? show pen


penColour tollszín
(pc)

Megadja a teknőc tollának a színét. Alapértéke black (fekete).


Példa

Próbáld ki az alábbi utasításokat:

? show pencolour
black
?fd 30
? setPenColour "darkblue8
? fd 30
? show pencolour
darkblue8


penDown
(pd)

A parancs segítségével letehetjük minden aktív teknőc tollát a papírra. A parancs kiadása után minden aktív teknőc (a beállított vastagság, szín és minta értékeknek megfelelő) vonalat fog rajzolni, ahogy a grafikus képernyőn halad. Az aktív teknőc tollának viselkedését a penUp és a penErase parancsokkal változtathatod meg.


Példa

Próbáld ki az alábbi utasításokat:

? penDown
? forward 50
? penUp
? forward 50
? penDown
? forward 50


penErase
(pe)

Mindegyik aktív teknőc tollának állapotát megváltoztatja úgy, hogy ha azok a lapon mozognak, minden pontot kitörölnek, amin átmennek. Egy pont törlése azt jelenti, hogy háttérszínű lesz.
Az aktív teknőc tollállapotának megváltoztatására használd a penUp, penDown parancsokat. A háttérszín megváltoztatására pedig használd a setBgColour parancsot.


Példa

Próbáld ki az alábbi utasításokat:

? showTurtle
? penDown
? repeat 4 [forward 50 right 90]
? penErase
? repeat 4 [forward 50 right 90]


penPattern toll-minta
(pp)

A toll mintázatát adja meg. Az alap beállítás 0, azaz egy normál egyenes vonal.


Példa

Próbáld ki az alábbi utasításokat:

? show penPattern
0
?fd 30
? setPenPattern "1
? fd 30
? show penPattern
1
? setPenPattern "4
? fd 30
? show penPattern
4


penReverse
(px)

Mindegyik aktív teknőc tollának állapotát megváltoztatja úgy, hogy amikor az a rajzterületén mozog, invertál (azaz felcseréli a tollszínt és a háttérszínt) minden pontot, (a jelenlegi tollvastagságot használva) amelyen keresztülhalad. Ez a tollállapot sok érdekes effektust (hatást) kínál, amelyek a tollszín és a háttérszín jelenlegi kombinációjától függenek. Például, ha beállítod a tollszínt ugyanolyanra, mint a háttérszín, és rajzolsz egy vonalat penReverse állapotban, lehetséges lesz, hogy ezt a vonalat kitöröld anélkül, hogy a rajzterületen más vonalak sérülnének úgy, hogy újrarajzoltatod a teknőccel ugyanazt a vonalat mégegyszer a kezdeti pontjától a végpontjáig.


Példa

Próbáld ki az alábbi utasításokat:

? cs
? repeat 100 [fd 100 bk 100 rt 90 pu fd random 5 left 90 pd]
? px
? setPc "white
? setPw 3
? fd 200
? left 90
? px
? fd 200


penUp
(pu)

Ezzel a paranccsal minden aktív teknőc tollát felemelhetjük a papírról. A parancs kiadása után az aktív teknőcök nem húznak vonalat, amikor a grafikus képernyőn haladnak. Az aktív teknőc tollának aktuális állapotát a penDown és penErase parancsokkal változtathatjuk meg.


Példa

Próbáld ki az alábbi utasításokat:

? forward 30
? penUp
? forward 30


penWidth
(pw)

A kimenete az aktív teknőc tollának jelenlegi vastagsága. Az alapértelmezett beállítás 1.


Példa

Próbáld ki az alábbi utasításokat:

? show penWidth
1
? repeat 5 [fd 30 setPenWidth penWidth * 3]
? show penWidth
243


pick képsor

Az eredmény tartalmazza a kép (image) véletlenszerűen kiválasztott részletét (frame).


Példa

Próbáld ki az alábbi utasításokat:

? t1'setshape pick [|Szamok\1.lgf| |Szamok\2.lgf| |Szamok\3.lgf|]


play lista
(play lista1 lista2 ....)

Hatására a számítógép lejátssza a bemeneti listában szereplő dallamot (vagy dallamokat).
A bemeneti lista lehet a zenei hagjegyek megadása betűvel: c d e f g a b (vagy h), és még néhány szimbólum, melyeknek jelentése a következő:

Az L, T, O, V és I által megadott beállítások mindaddig érvényesek az utánuk következő play parancsokra, amíg új értéket nem kapnak, vagy az R vissza nem állítja őket.


Példa

Próbáld ki az alábbi utasításokat:

? play [R O2 c d e f g a b O3 c]
? to CsendesÉj
> play [I19 R T70 L8 O2]
> repeat 2 [ play [f. 16g f 4d.] ]
> play [L4 O# c 8c Ob a.]
> play [hb 8hb f.]
> repeat 2 [ play [O2 G 8G 8A#. 16A 8G 8F. 16G 8F D.]]
> play [O3 C 8C 8D#. 16C O2 8A A#. O3 D.]
> play [O2 8A#. 16F 8D 8F. 16EB 8C T65 O1 A#. A#.]
> end
? CsendesÉj


playFile multimedia-fájl

ahol a multimedia-fájl típusát az elfoadott multimédia fájlok közül kell kiválasztani. Átadja a fájlt a Windows MCI felületének, hogy az lejátssza azt. Ha a playFile parancsot paranccsori folyamatban használod, az Imagine leállítja az utána következő összes utasítás futását addig, amíg az egész bementi fájlt lejátssza. Csak aztán folytatja a következő utasításokkal.


playWave fájl
(play fájl1 fájl2 ....)
play [ fájl1 fájl2 ....]

Lejátssza a zenét, mely a WAV fájlokban van kódolva. Ha csak egy bemenete van, akkor elkezdi lejátszani, és azonnal továbbmegy a következő utasításokra, miközben a dallamot még játssza. Ez azonban nem igaz, ha az Imagine talál egy másik playWave utasítást, és le kell jászania annak bemenetét, vagy bemeneteit. Ha az első dallam még mindig megy, akkor megszakad és a második playWave játszódik le. Ha először be akarod fejezni az első dallam lejátszását, és csak utána lejátszani a másodikat és utána esetleg egy harmadikat stb., akkor lehetséges őket egy playWave utasításba tenni (playWave "X "Y "Z ...) formában.


pos

A kimenete egy [X Y] pont, mely megadja (Descartes koordinátákkal) az első aktív teknőc aktuális pozícióját. Figyeld meg, hogy a Descartes sík origója a grafikuis képernyő közepén helyezkedik el. Az összes aktív teknőc jelenlegi pozícióját (Descartes stílusban, azaz egy új [X1 Y1] pont megadásával) a setPos, setXcor, setXY vagy a setYcor paranccsal változtathatod meg.


Példa

Próbáld ki az alábbi utasításokat:

? clearScreen
? forward 100
? show pos
[0 100]
? right 90
? forward 100
? show pos
[100 100]


position szám

Azt adja meg, hogy a media player ablakban a média fájlnak mely képkockája látható jelenleg.


print bemenet1
(print bemenet1 bemenet2)

Kiír minden bemenetet a szöveges képernyőre vagy a kimeneti fájlba. Ha egynél több bemenet van, akkor szóközökkel elválasztva írja ki őket. A print parancs a kurzort a következő sor elejére viszi. A print "olvasható" kiírást készít - elhagyja a listák külső zárójeleit. Hasonlítsd össze a show és type parancsokkal.


Példa

Próbáld ki az alábbi utasításokat:

? print "fiú
fiú
? (print "fiú "lány)
fiú lány
? print [Gyere ide]
Gyere ide
? (print [Gyere ide][most])
Gyere ide most


product szám1 szám 2
(product szám1 szám2 szám3 ...)

A kimenete a két bemenet szorzata. Kettőnél több (vagy kevesebb) bemenetnél az egész utasítást zárójelek közé kell tenni.


Példa

Próbáld ki az alábbi utasításokat:

? show product 2 30
60
? forward product 10 10
? show (product 2 10 10)
200


prompt

Megadja a MainWindow jelenlegi készenléti jelét. Az alapértéke egy kérdőjel és utána egy szóköz ? .


Példa

Próbáld ki az alábbi utasításokat:

? show prompt
?
? setprompt "+
+ show prompt
+
? setprompt "?


quotient szám1 szám2  

Két szám hányadosát adja meg. A nullával való osztás esetén hibaüzenetet küld: ERROR.

 


Példa

Próbáld ki az alábbi utasításokat:

? show 10/2
5
? forward 100/2
? forward quotient 100 2

 


random szám

0 és 1 között ad egy véletlen egész számot. (Ha a bemenet nem egész szám, akkor először kerekíti azt.) Például a random 5 kimenete 0, 1, 2, 3, vagy 4.


Példa

Próbáld ki az alábbi utasításokat:

? show random 2
0 or 1
? repeat 4 [show random 5]
? setBgColour random 16


randomize

Elindítja a beépített véletlenszám generátort egy olyan véletlen értékkel, amit a rendszeróra segítségével nyer. Ez mindig automatikusan lefut, amikor elindítod az Imagine-t, így (szinte) soha nem kapod ugyanazokat a véletlen számokat, amikor kétszer megnyitod és futtatod ugyanazt a projektet.


readChar
(rc)

Kimenete egy, a billentyűzeten begépelt karakter. Ha nem gépeltél be karaktert (azaz a billetyűzet egyetlen gombja sem lett lenyomva), a READCHAR vár. (Gyakorlatiasabban: addig vár, amíg a key? kimenete igaz nem lesz). A begépelt karakter nem látható a képernyőn. Ha valamelyik kiválasztott vezérlőbillentyűt nyomod meg(nyilak, Insert, Del, Home, End, PageUp, PageDown), akkor a READCHAR kimenete CHAR 0 lesz és újra használnod kell a READCHAR parancsot, hogy magát a kódot megtaláld. Hasonlítsd össze figyelmesen a readKey paranccsal.


Példa

Próbáld ki az alábbi utasításokat:

? make "key readChar

Gépeld be az "a" betűt.

? show :key
a


readKey

A kimenete annak a billentyűnek a numerikus ASCII kódja, amelyet a billentyűzeten megnyomtál. Ha nem nyomtál meg billentyűt a billentyűzete, a readKey vár (azaz addig vár, amíg a key? kimenete igaz nem lesz). A begépelt karakter nem jelenik meg a képernyőn. A readKey speciális értékeket ad ki az alábbi vezérlő billentyűkre:


Példa

Próbáld ki az alábbi utasításokat:

? show sentence readKey readKey

Nyomj meg bármilyen billentyűt!

[98 66]
; ha a "b" és a "B" billentyűt nyomtad le.


readList
(rl)

Kiír egy listabeolvasó készenléti jelet ( : ) a szöveges képernyőre, és vár, amíg begépelsz valamit és megnyomsz egy Enter-t. A kimenete az lesz listaként, amit begépeltél.


Példa

Próbáld ki az alábbi utasításokat:

? show readlist
: csak három szó
[csak három szó]
? show readlist
: nagyon [furcsa [szerkezet]]
[nagyon [furcsa [szerkezet]]]


readWord
(rw)

A Logo kiír egy listaolvasó készenléti jelet és egy szóközt a szöveges képernyőre, és vár, amíg begépelsz egy szót és megnyomod az Enter-t. A readWord művelet kimenete ez a szó lesz. Ha egynél több szót gépelsz be (mielőtt megnyomod az Enter-t), A readWord csak az elsőt fogja kiírni.


Példa

Próbáld ki az alábbi utasításokat:

? make "teNeved readWord
: Péter
? print :teNeved


reorder list

Átrendezi mind az összes teknőc listáját, azaz az allturtles listát, és az összes tulajdonképpen aktív teknőc listáját is, azaz a who listát. Ha a bemeneti listában [turt1 turt2 ... turtN] szerepel, és ennek minden eleme aktív, vagy passzív teknőc, akkor a turt1 lesz az allturtles lista első tagja, a turt2 a második... stb. Az első teknőc, amelyik a turt1, ... turtN között jelenleg aktív, az lesz a who lista első tagja is, azaz ez lesz az első aktív teknőc.


Példa

Próbáld ki az alábbi utasításokat:

? new "Turtle [name egy]
? new "Turtle [name kettő]
? show allturtles
[t1 egy  kettő]
? reorder [kettő egy]
? show allturtles
[kettő egy t1]


repcount
(repc)

Csak a repeat, FOR, WHILE és FOREACH parancsokon belül használhatod. Kimenetként azt adja meg, hogy egy adott repeat utasítás (ezzel együtt) hányszor futott már le:

A REPCOUNT művelet változóként viselkedik, melynek értéke a repeat parancs törzsében mindig eggyel növekszik.


Példa

Próbáld ki az alábbi utasításokat:

? repeat 20 [show repcount wait 100]


repeat szám [lista]

Adott számszor végrehajtja az utasításlistát. Ha REPEAT első bemenete kisebb egynél, az utasításlista nem fut le. Ha a szám nem egész, annak törtrészét először levágja. A REPEAT parancsot használhatod egy másik REPEAT parancson belül is, stb. Gyakran nagyon hasznos, a repcount műveletet használni az utasításlistán belül annak ellenőrzésére, hogy hányszor volt már ismételve az utasításlista.


Példa

Próbáld ki az alábbi utasításokat:

? repeat 3 [show "Hello]
Hello
Hello
Hello

? repeat 10 [forward 10 wait 100]
? repeat 4 [right 90 repeat 4 [forward 10 wait 100]]


right szám
(rt)

Mindegyik aktív teknőcöt a megadott szögben jobbra elforgatja. Az első aktív teknőc aktuális irányát a heading paranccsal tudhatjuk meg.


Példa

Próbáld ki az alábbi utasításokat:

? clean
? right 90
? wait 300
? right 90
? wait 300
? right 180


round szám

Kimenete a bemeneti számhoz legközelebbi egészet.


Példa

Próbáld ki az alábbi utasításokat:

? show round 7.72
8
? show round -55.5
-56


run U-lista
run [expression]

Ha a RUN szót parancsként használod, akkor lefuttat minden utasítást az utasításlistából. A RUN list parancs egyenértékű a REPEAT 1 list paranccsal. Ha a RUN parancsot műveletként használod, akkor a bemeneti kifejezés értékét adja meg (azaz, a kifejezés kiértékelésének eredményét).


Példa

Próbáld ki az alábbi utasításokat:

? run [print "egy forward 100]
egy

? make "valami [repeat 40 [forward 80 left 117] ]
? run :valami


save fájl
save fájl [obj1 obj2 ..]

Ha a parancsnak egy bemenete van, akkor az Imagine memória teljes tartalma (azaz az összes felhasználó által létrehozott objektum és azok eljárásai, eseményei, stb.) el lesznek mentve a bemenet által megadott Imagine projekt fájlba. Ha a parancsnak két bemenete van, akkor csak a második bemeneten szereplő listában felsorolt objektumokat menti. Az objektumok mellett itt felsorolhatsz globális változók neveit - a nevek kettősponttal : kell, hogy kezdődjenek. Például (save "fájl22 [pane1 text22 :X :Y :Z]).


saveBgPicture fájl

Ez ugyanaz mint a saveImage fájl bgPicture egy kis különbséggel: ha a fájlnévben nem adtunk meg kiterjesztést, a saveBgPicture BMP kiterjesztést ad neki LGF helyett.


Példa

Próbáld ki az alábbi utasításokat:

? saveBgPicture "firka
? cs
? loadBgPicture "firka.bmp


saveImage fájl [képsor ...]

Menti az összes megadott képet egy LGF fájlba. Például közülük a harmadik visszatöltéséhez az Imagine-be a loadImage "fájl:3 parancs használható.


Példa

Próbáld ki az alábbi utasításokat:

? t1'setshape "|Gombok\balra.lgf|
? saveimage "balra_1 t1'shape
? t1'setshape "|Gombok\jobbra.lgf|
? t1'setshape "balra_1


say szöveg

Ha van a gépeden telepítve beszédszintetizátor, ez a parancs kimondatja azzal a bementben szereplő szöveget, a jelenleg beállított hangot használva. Választhatsz másik hangot a főmenüből az Beállítások/beszédhang beállítása parancs kiválasztásával. Ekkor megnyílik a Válaszd ki a megfelelő... dialógusablak, és fölajánlja különböző hangokat, amelyeket a beszédszintetizátor rendelkezésre bocsát.


Példa

Próbáld ki az alábbi utasításokat:

? say [Hello I'm the computer]


sentence bemenet1 bemenet2
(sentence bemenet1 bemenet2 bemenet3)
(se)

Kimenete egy lista, melyet a következő módon alkot: ha minden bemenet lista, azok elemeit egyetlen listába teszi. Ha valamelyik bemenet szó, akkor az elemként lesz beillesztve az eredmény listába.

Figyeld meg a különbséget a sentence és a list parancs között. Szintén nézd meg a különbséget a show és a print parancs között, ha mindkettőt listára alkalmazod.


Példa

Próbáld ki az alábbi utasításokat:

? show sentence "Hello "Világ
[Helló Világ]
? show ( sentence "kék "zöld "lila)
[kék zöld lila]
? show sentence "egy [kettő három]
[egy kettő három]
? show sentence [kettő három] "egy
[kettő három egy]
? show sentence [A B C] [D E]
[A B C D E]


setBgColour szám

A bemenetben megadott színre (számkód alapján) állítja a grafikus képernyő háttérszínét. A teljes grafikus képernyő törlődik, a megadott színnel lesz befedve, és a képernyő tartalma elvész. Azonban a teknőcök állapota nem változik, mindegyik a helyén marad, továbbra is látszanak, vagy nem látszanak, mint azelőtt, stb. Nézd meg a cleanBgPicture és a clearScreen parancsokat.


Példa

Próbáld ki az alábbi utasításokat:

? setBgColour 1


setDelay képsor szám

Az első bemenetben megnevezett kép mindegyik képrészének mindegyik képkockájára a második bemenetben megadott számot állítja be késleltetési értéknek. Kimenete az így megváltoztatott kép. A bemenetként megadott számnak egésznek kell lennie, ami 0, vagy annál nagyobb. Az 1000 késleltetési érték 1 másodpercnek felel meg. Ha a különböző képelemeknek különböző késleltetési értéket akarsz megfeleltetni, használd a LogoMotion szerkesztőt.


Példa

Próbáld ki az alábbi utasításokat:

? make "újkutya loadImage |Allatok\kutya.lgf|
? show delay :újkutya
100
? setShape toAnimFilm :újkutya
? setShape toAnimFilm setDelay :újkutya 150


setFillColour szám
(setfc)

Minden aktív teknőcnek megadja azt a kitöltőszínt, amit a fill fog használni. Ha egy teknőcnek nem adtál meg kitöltőszínt, akkor az ugyanaz lesz, mint a teknőc tollszíne. Tehát ez a parancs lehetővé teszi, hogy a vonalakhoz és a kitöltésekhez különböző színeket használj. Azonban minden alkalommal, amikor megváltoztatod a tollszínt a setPenColour paranccsal, az aktuális kitöltőszín ugyanarra a színre változik. Az első aktív teknőc kitöltőszínének megállapításához használd a fillColour parancsot. A kitöltő mintázat beállításához a setFillPattern parancsot használd.


Példa

Próbáld ki az alábbi utasításokat:

? clean
? setPenColour 12
? repeat 4 [forward 100 right 90]
? right 45
? penUp
? forward 2
? penDown
? setFillColour 14
? fill


setFillPattern szám
(setfp)

A setFillPattern meghatározza minden aktív teknőc számára azt a kitöltőmintát, amelyet a fill, vagy a filling használ. Ha még nem használtad a parancsot, a kitöltőszín 0.


Példa

Próbáld ki az alábbi utasításokat:

? setPenColour 12
? repeat 4 [forward 100 right 90]
? right 45
? penUp
? forward 2
? penDown
? setFillPattern 3
? fill


setHeading szám
(seth)

Minden aktív teknőcöt elforgat úgy, hogy iránya megegyezik a megadott szöggel (azaz függetlenül az aktuális irányától). Az irányt fokokban mérjük az óra járása szerinti irányban északi irányból, azaz a SETHEADING 0 parancs az északi irányba állítja az aktív teknőcöket, a SETHEADING 90 kelet felé fordítja őket, stb. Az első aktív teknőc irányát a heading művelettel állapíthatod meg.


Példa

Próbáld ki az alábbi utasításokat:

? clean
? setHeading 180
? setHeading 90


setHotSpot képsor [X Y]

A megnevezett kép minden képelemének minden képkockájának érzékeny pontját a megadott [X Y] koordinátára állítja, és kimenetként megadja az így módosított képet.


Példa

Próbáld ki az alábbi utasításokat:

? setShape []
? show hotSpot shape
[7 18]


setPenColour szám
(setpc)

A bemenet egy 0 és 15 közötti szám lehet. A paranccsal az aktív teknőcök tollának aktuális színe változtatható a bemenetben megadott színnel. Minden teknőc vonalat húz (a beállításnak megfelelő színűt, mintájút és vastagságút), ha aktív és a tollának állapota penDown, azaz le van téve a papírra.


Példa

Próbáld ki az alábbi utasításokat:

? setPenColour 9
? forward 50
? setPenColour 10
? forward 50


setPenPattern szám
(setpp)

A bemenet 0, 1, 2, 3, vagy 4 lehet. A paranccsal az összes aktív teknőc által (penDown állapotban) rajzolt vonalak mintáját állíthatod be .


Példa

Próbáld ki az alábbi utasításokat:

? setPenPattern 2
? penDown
? forward 50
? cs
? setPenWidth 1
? setPenPattern 2
? repeat 4 [fd 150 rt 90]


setPenWidth szám
(setpw)

A paranccsal az aktív teknőcök tollának vastagsága változtatható a bemenet szerint. Amikor új teknőc jön létre a new paranccsal, annak tollvastagsága 1.


Példa

Próbáld ki az alábbi utasításokat:

? home
? setPenWidth 5
? forward 100
? setPenWidth 200
? forward 100


setPos [szám1, szám2]

Minden aktív teknőcöt a bemenetben meghatározott pontra mozgat. A SETPOS nem változtatja meg a teknős irányát. Amennyiben a teknőc tolla penDown állapotban van, a mozgás során a teknőc vonalat húz maga után. Az első aktív teknőc helyzetének megtalálásához használd a pos parancsot. A setXcor, setYcor, setXY, és setPos parancsokon kívül egy aktív teknőc pozicóját a forward, back, clearScreen, és home parancsokkal is megváltoztathatjuk.


Példa

Próbáld ki az alábbi utasításokat:

? clean
? penDown
? left 45
? setPos [100 100]


setShape képsor/ fájl / []

Egy képet határoz meg, amely minden aktív teknőc alakja lesz: ha a bemenet egy LGF fájl neve, vagy egy kiterjesztés nélküli fájl, akkor a parancs ugyanaz, mint a setShape loadImage "fájl. Ha a bemenet egy elfogadott grafikus fájl neve, akkor az betöltődik és tartalma átalakul a megfelelő képformátummá. Ha a bemenet egy üres lista [], akkor minden aktív teknőc alakja az alapformára cserélődik.


Példa

Próbáld ki az alábbi utasításokat:

? setShape []
? setShape "Forgo_alakok\\Bogi3


setShapeColour szám

Mindegyik aktív teknőcnek van egy aktív alakszíne. A bemenetnek a 16 alapszín közül az egyiknek kell lennie. Ha a bemenet egy üres lista [ ], akkor minden atív teknőc aktív alakszíne "No"-ra lesz állítva, azaz ezeknek a teknőcöknek nem lesz meghatározva az aktív alakszínük. Ebben az esetben a shapeColour művelet kimenete [ ] lesz. Vedd észre, hogy habár az aktív alakszín az egyike a 16 alapszínnek, (a setPenColour paranccsal) ki lehet cserélni az alakban bármelyik RGB színre.


Példa

Próbáld ki az alábbi utasításokat:

? setPenColour 0
? setShapeColour 2
? forward 100
? wait 1000
? setShapeColour 4


setVoice

Beállítja azt a hangot (pl.: Sam, Mary etc.) vagy hang módot (pl.: TextAssist (TrueVoice, Echo, ENGLISH), stb.) amelyiken a szöveg elmondásra kerül a say parancs használatakor. Használhatod a Options / Set computer voice menüt is a hang beállítására. A kiválasztás megkönnyítésére a setVoice parancsnak van egy kiválasztója (chooser), amely megnyitja a Select Voice... dialógusablakot. Itt csak rá kell kattintani a listában található egyik lehetőségre, és be kell zárni a Do it! vagy a Write it! gombbal.


setXcor szám

A parancs minden aktív teknőcöt vízszintesen a bemenet által meghatározott új X koordinátára mozgat a jelenlegi pozíciójáról. A setXcor nem változtatja meg a teknőc aktuális irányát, vagy helyzetének Y koordinátáját. Ha a teknőc penDown állapotra van állítva, az új X koordinátára való mozgás során a vonalat húz.

Az első aktív teknőc X koordinátájának meghatározásához használjuk a xcor parancsot. Jelenlegi helyzetének meghatározásához használjuk a pos parancsot. A setXcor, setYcor, setXY, és setPos parancsokon kívül egy aktív teknőc pozicóját a forward, back, clearScreen, and home parancsokkal is megváltoztathatjuk.


Példa

Próbáld ki az alábbi utasításokat:

? showTurtle
? penDown
? setXcor 50
? right 45
? penUp
? setXcor 100


setXY szám1 szám2

A parancs minden aktív teknőcöt egy új pontra mozgat, melynek X koordinátáját az első, Y koordinátáját pedig a második bemenet határozza meg. A setXY nem változtatja meg a teknőc irányát. Ha a teknőc penDown állapotban van, az új pozícióra való mozgás során vonalat húz maga után. Az első aktív teknőc jelenlegi helyzetének meghatározásához használjuk a pos parancsot. A setXcor, setXY, setYcor, és setPos parancsokon kívül egy aktív teknőc pozícóját a forward, back, cleanScreen, és home parancsokkal is megváltoztathatjuk.


Példa

Próbáld ki az alábbi utasításokat:

? showTurtle
? penDown
? setXY 50 70
? penUp
? setXY 30 150


setYcor szám

A parancs minden aktív teknőcöt függőlegesen egy új Y koordinátára mozgat amelyet a bemenet határoz meg. A setYcor nem változtatja meg a teknőc irányát, vagy helyzetének X koordinátáját. Ha a teknőc penDown állapotban van, az új Y koordinátára való mozgás során vonalat húz maga után. Az első aktív teknőc Y koordinátájának meghatározásához használd az ycor parancsot. Jelenlegi helyzetének meghatározásához pedig használd a pos utasítást. A setYcor, setXcor, setXY, és setPos parancsokon kívül egy aktív teknőc pozicóját a forward, back, clearScreen, és home parancsokkal is megváltoztathatjuk.


Példa

Próbáld ki az alábbi utasításokat:

? showTurtle
? penDown
? setYcor 50
? right 45
? penUp
? setYcor 100


shape

A kimenete az a kép amit a jelenlegi első aktív teknőc használ alakként: Ha a teknőc formáját egy rajzlista adja meg, akkor a shape művelet kimenete az a lista, nem pedig az alak maga. Ha a teknőc alakját rajzlisták listája határozza meg, a shape kimenete az a lista.


Példa

Próbáld ki az alábbi utasításokat:

? show shape
(image24)
?t1'setshape "Forgo_alakok\\Bogi3
? show shape
(image1/1)


shapeColour

Kimenete az első aktív teknőc jelenlegi aktív alakszíne. A jelenlegi shapeColour megváltoztatásához használd a setShapeColour parancsot.


Példa

Próbáld ki az alábbi utasításokat:

? setShapeColour 1
? print shapeColour
blue3
? setShapeColour 2
? print shapeColour
green3


shapeScale

Kimenetként az első aktív teknőc alakjának méretarányát adja meg, például 2 vagy [3 1] vagy [-1 1].


Példa

Próbáld ki az alábbi utasításokat:

? show shapeScale
1
? t1'setShapeScale 3
? t1'setShapeScale 5
? t1'setShapeScale [3 5]
? t1'setShapeScale [3 2]
? t1'setShapeScale [5 3]
? show shapeScale
[5 3]
? t1'setShapeScale 1


show bemenet1
(
show bemenet1 bemenet2)

Kiír minden bemenetet a szöveges képernyőre, vagy a kimeneti fájlba. Ha több bemenet van, akkor szóközökkel elválasztja őket. A SHOW utána a kurzort a következő sor elejére viszi. A show "technikai" kiírást használ - változatlanul ír ki minden zárójelet. Nézd meg a print és type parancsokat.


Példa

Próbáld ki az alábbi utasításokat:

? show "Imagine
Imagine
? print [egy kettő]
[egy kettő]
? print [EGY [KETŐ HÁROM] [NÉGY]]
[EGY [KETTŐ HÁROM] [NÉGY]]

? show allturtles
[t1]
? show pos
[0 0]


showButtons

Előhozza a Gombsor ablakot a képernyőn. Ez a gombok eljárásaitól függetlenül történik - a gombok beállításai nem változnak azáltal, hogy eltünteted, vagy előhozod a Gombsor ablakot.


turtlename'showMe

Ez ugyanaz mint a showTurtle.


shown?

A kimenete igaz, ha az első aktív teknőc jelenleg látszik a helyén. Különben a kimenete hamis. (Ez összefügg a teknőc shown tulajdonságával).


Példa

Próbáld ki az alábbi utasításokat:

? showTurtle
? show shown?
true
? hideTurtle
? show shown?
false


shown?

A kimenet értéke igaz, ha az első aktív teknőc jelenleg látható a helyén. Különben hamis értéket ad vissza. (Ez összefügg a teknőc shown beállításával).


Példa

Próbáld ki az alábbi utasításokat:

? show shown?
true
? hideme
? show shown?
false


showSpeedBar

Láthatóvá teszi a Főeszköztárat (Main Bar) a képernyőn. A hideSpeedBar paranccsal el is rejtheted.


Példa

Próbáld ki az alábbi utasításokat:

? hideSpeedBar
? wait 300 showSpeedBar


showTurtle
(st)

A parancs megjeleníti az összes aktív teknőc alakját a képernyőn. Az összes megjelenített aktív teknőc elrejtéséhez használd a hideTurtle parancsot. Azt, hogy az első aktív teknőc éppen megjelenített állapotban van-e, a shown? paranccsal tudhatjuk meg. A vonalak rajzolása sokkal lassab, ha a teknőc (vagy teknőcök) látszanak. Ezért néha jobb, ha az összes teknőcöt eltüntetjük a képernyőről. Az összes aktív teknőc alakjának változtatásához használd a setShape parancsot, melynek bemenetként bármilyen képet megadhatsz.


Példa

Próbáld ki az alábbi utasításokat:

? showTurtle
? forward 10
? hideTurtle


shuffle image

Véletlenszerűen megkeveri (átrendezi) a bemeneti kép képkockáit, és kimenetként megadja az eredményt.


Példa

Próbáld ki az alábbi utasításokat:

? show shuffle "turtle
nőtcek
? show shuffle "turtle
tkeőnc
? show shuffle "turtle
tőcnke


splitScreen
(ss)

Megosztja a MainWindow-t (az összes eszköztára alatt - ha azok látszanak), így megmutatja mind a grafikus (felső rész) és a szöveges (alsó rész) képernyőt. A grafikus képernyő tartalma, és működése nem változik a parancs hatására akkor sem, ha a szöveges képernyő részben fedi is azt. A szöveges képernyő jelenlegi tartalma sem változik a splitScreen hatására - mutatja a paranccsort, és az előző parancsok listájának legutóbbi részének számos parancsát.


Példa

Próbáld ki az alábbi utasításokat:

? ts
? ss


stamp

Minden aktív teknőc rábélyegzi a formáját (a jelenlegi képkockát) a grafikus képernyőre. A parancs kiadásával a képkocka a grafikus képernyő tartalmának részévé válik.


Példa

Próbáld ki az alábbi utasításokat:

? penup
? showTurtle
? repeat 24 [forward 45 stamp right 165]
? right 90 forward 110


stop

Megállítja a megnyitott média lejátszó fájlt. A médialejátszó állapota leállított lesz.


stopAll

Az összes jelenleg futatott eljárást felfüggeszti.


stopMe

Csak egy folyamat definíciójában használható. Azonnal megállítja a folyamatot, amelyikben benne van.

? forever [fd 2 if ycor > 100 [stopMe]]
? repeat 1000 [fd 2 if ycor > 100 [stopMe]]


sum szám1 szám2
(sum szám1 szám2 szám 3 ...)

A két bemenet összegét adja kimenetként. Ha kettőnél több, vagy kevesebb bemenetet szeretnél használni, akkor az egész utasítást zárójelek közé kell tenni.


Példa

Próbáld ki az alábbi utasításokat:

? show sum 20 30
50
? show (sum 10 10 10 10)
40
? forward sum 20 30


tell [név] / [nevek listája]

A bemenetben meghatározott teknőcöt, vagy teknőcöket tesz aktívvá. Amikor az Imagine-t elindítod, az egyetlen létező és aktív teknőc a t1.

Ahhoz, hogy megkapd az összes aktív teknőc listáját (vagy egyetlen nevet, ha csak egy aktív teknőc van), használd a who parancsot. Ennek a listának a megváltoztatásához használd a reorder parancsot.

Bármelyik létező teknőc, akár aktív, akár nem, megkérhető az ask paranccsal arra, hogy egy adott utasításlistát végrehajtson. Bármely teknőc kitörölhető az eraseObject utasítással.


Példa

Próbáld ki az alábbi utasításokat:

? show who
t1
? new "Turtle [name Józsi pos [10 10] heading 90]
? tell "Józsi
? showTurtle
? show who
Józsi
? repeat 4 [forward 60 right 90]

? new "Turtle [name Imi pos [100 100] heading 270]
? tell [Józsi Imi]
? repeat 4 [forward 60 right 90]


textScreen
(ts)

Beállítja a MainWindow-t (minden eszköztára alatt - ha látszanak), hogy csak a szöveges képernyőt mutassa. Azonban a grafikus képernyő jelenlegi tartalma nem vész el. A szöveges képernyő ideiglenesen eltakarja, és még mindig aktív, azaz a teknőcök rajzolhatnak rá és mozoghatnak még a szöveges képernyő alatt is, stb.


Példa

Próbáld ki az alábbi utasításokat:

? ts
? ss


thing szó

A kimenet a bemenetben megadott lokális, vagy globális változó értéke. A változót előzőleg létre kell hozni a make, vagy name parancsok egyikével. A thing egy művelet, amit rendszerint egy kettőspont helyettesít :, azaz a thing "A ugyanarra az értékre utal, mint a :A.


time

A kimenete a pontos idő egy négy számból álló lista formájában [óra perc másodperc, századmásodperc] alakban - a számítógépen beállított óra szerint.


Példa

Próbáld ki az alábbi utasításokat:

? show time
[21 51 23 280]
? show time
[21 51 37 655]
? show time
[21 51 55 937]


timer
timer szó

Ha nincs bemenet, a nulladik időmérő jelenlegi állapotát adja vissza. Az időmérő pillanatnyi állapota az a szám, amely azt jelzi, hogy mennyi ezredmásodperc telt el attól a pillanattól kezdve, hogy az időzítő létrejött, vagy újraindítottuk a resetTimer segítségével. Az alap nulladik időzítő abban a pillanatban jön létre, és indul el, amikor elindítod az Imagine-t. Újraindíthatod ezt (vagy bármely másik időzítőt) a resetTimer paranccsal. Ha a parancsnak van egy bemenete, és a megadott névvel már létezik egy időzítő, az időzítő jelenlegi állapota a kimenet. Ha még nem létezik ilyen nevű időzítő, a timer parancs létrehozza új időzítőként, és 0-ról elindítja.


Példa

Próbáld ki az alábbi utasításokat:

? show timer
51031
? resettimer
? show timer
1594


to szó
to szó :bemenet1 ...

Ha a parancssorban használod, a szokásos Imagine párbeszéd mód eljárás definiáló módra változik. A készenléti jel helyett egy speciális készenléti jel jelenik meg >, hogy tudd, hogy éppen eljárást írsz. A word az új eljárás nevét adja meg, a többi bemenet :bemenet1, :bemenet2 stb. szöveg, és az eljárás paramétereinek nevét adják meg. A neked következő sorokba gépeld be az új eljárás törzsét. Jegyezd meg, hogy az eljárás definiáló mód csak egysoros parancsokat enged meg. Az eljárás megadását úgy fejezed be, hogy begépeled az end utasítást egy külön sorba.


Példa

Próbáld ki az alábbi utasításokat:

? to négyzet
> repeat 4 [ forward 100 right 90]
> end
? négyzet


towards [szám1 szám2 ]

A kimenete egy irány, amerre az első aktív teknőcnek fordulnia kell, hogy a bemenetben meghatározott pont felé nézzen. Az irányt fokokban mérjük északról haladva az óramutató járásával megegyező irányban. Ha a bemenet egy másik teknőc, akkor a művelet kimenete az az irány, amerre az első aktív teknőcnek fordulnia kell, hogy erre a teknőcre nézzen.

Ne feledjük, hogy a TOWARDS paranccsal nem azt a jobbra, vagy balra fordulási szöget határozzuk meg, amennyivel a teknőcnek el kell fordulnia, hogy a megadott pont felé nézzen. Azonban a kimenetet használhatja a setHeading parancs ahhoz, hogy a teknőc arra mutasson, amerre te akarod.


Példa

Próbáld ki az alábbi utasításokat:

? clearScreen
? setHeading towards [-50 50]
? clearScreen
? new "Turtle [name Imi pos [60 40] pen pu]
? tell "Imi
? forward 40
? tell "t1
? setHeading towards ask "Imi [pos]


transparent logikai

Igaz, ha a szövegdoboz háttere áttetsző. Alapértéke hamis.


true

Az "igaz" logikai értéket jelképezi.


Példa

Próbáld ki az alábbi utasításokat:

? show (6 = 2 + 3)
false
? show 9 > 3
true


type bemenet1
(type bemenet1 bemenet2 ...)

Kiírja a bemeneteket a szöveges képernyőre, vagy a kimeneti fájlba. A kiírt bemenetek nincsenek elválasztva szóközzel és a kurzor sem ugrik a következő sor elejére (hasonlítsd össze a type parancsot a show és print utasításokkal).


Példa

Próbáld ki az alábbi utasításokat:

? type "Hello
Hello
? type [A B [1 2] C D]
A B [1 2] C D


unFreezeMe

Kioldja a fogadót. Ez ugyanaz, mint a setFrozen "false parancs. A parancs kioldja az összes objektumot is, ami a fogadón belül él.


vertical logikai

Az alapértéke hamis, ebben az esetben a csúszka vízszintes. Ha az értéke igaz, a csúszka függőleges. Bármikor megváltoztathatod az értékét igazról hamisra, és vissza.


voiceChooser

Megnyitja a Select Voice For Text to Speech Engine dialógusablakot és megmutat minden lehetséges hangot (vagy módot), amelyet a Text to Speech gép installált a számítógépedre. A voiceChooser művelet kimenete egy word, ami megadja, mit választottál. Bemenetként használhatod a setVoice parancshoz.


wait szám

ahol a szám egy pozitív egész szám, ami nem nagyobb, mint 65535. Az Imagine minden tevékenységet leállít a beállított ideig. A wait 1000 mindent megállít körülbelül 1 másodpercre.


Példa

Próbáld ki az alábbi utasításokat:

? repeat 100 [forward 10 wait 1000]


waitUntil [command]

Amíg a kifejezés kiértékelésének eredménye igaz TRUE nem lesz, addig várakozik.


Példa

Próbáld ki az alábbi utasításokat:

? waitUntil [key?]
? waitUntil [readKey = 32]   ;A SPACE BILLENTYŰ lenyomásáig vár


while [kifejezés] U-lista

Kiértékeli a kifejezést. Ha az értéke igaz, a parancs futtatja az U-lista-ben szereplő utasításokat. Aztán ismét futtatja a kifejezést. Ha az értéke igaz, a parancs ismét futtatja az U-lista utasításait. Ez a folyamat addig ismétlődik, amíg a kifejezés igaz.


Példa

Próbáld ki az alábbi utasításokat:

? cs
? while [heading < 359][fd heading bk heading rt 1]


who

A kimenete az aktív teknőc neve, vagy minden aktív teknőc listája, ha egynél több van.

A listát módosíthatod a tell paranccsal. Vigyázz, hogy össze ne téveszd a who listát az allturtles kimenetével, ami az összes létező teknőc listáját adja meg, azaz az aktívakét és a nem aktívakét egyaránt.

A who listában a teknőcök sorrendje ugyanaz, amilyen sorrendben létrehoztad őket a new paranccsal. Ez a sorrend azonban megváltoztatható a reorder paranccsal. A WHO gyakran használható a each paranccsal.


Példa

Próbáld ki az alábbi utasításokat:

? new "Turtle [name Vonat]
? new "Turtle [name Autó]
? show who
Vonat
? tell "Autó
? show who
Autó
? tell [Vonat Autó]
? show who
[Vonat Autó]

? eraseAll
? eraseObject "t1
? new "Turtle [name 1]
? new "Turtle [name 2]
? new "Turtle [name 3]
? tell [1 2 3]
? show who
[1 2 3]
? showTurtle
? each [ setHeading 45+90*who forward 25+30*who ]


window

Beállítja azt a tartományt minden aktív teknőcre, amelyikben rajzolhat, szöveget írhat ki a label utasítással, területet tölthet ki, stb., és újradefiniálja azt a tartományt is a show változónak, amelyikben a teknőc látható.

Ha a parancsnak nincs bemenete, és eddig nem volt beállítva tartomány ennek a bizonyos teknőcnek, akkor a parancs beállítja a range és shownRange tulajdonságait úgy, hogy az egész helyével legyen azonos.


Példa

Próbáld ki az alábbi utasításokat:

? (window [0 0 100 100])
? (window [-100 0 100 100])
? (window [-100 -100 100 100])
? (window [-100 100 400 400])
? forward 95
? (window [] )
? forward 95


word bemenet1 bemenet2
(word bemenet1 bemenet2 bemenet3)

Kimenete egy szó, amely az összes bemenet összefűzésével alakul ki. A bemenetek lehetnek üres szavak is.


Példa

Próbáld ki az alábbi utasításokat:

? show word "Imag "ine
"Imagine
? show ( word "Im "agi "ne)
"Imagine


word? bemenet

A kimenet értéke igaz (TRUE), ha a változó word típusú, azaz betűkből vagy számokból áll. Különben hamis értéket ad vissza (FALSE).


Példa

Próbáld ki az alábbi utasításokat:

? show word? "Imagine
true
? show word? 3
true
? show word? "3
true
? show word? [ANDREA IVAN PETER]
false


wrap

Beállítja minden aktív teknőcnél azt a tartományt (range tulajdonság), amelyikben rajzolhat, szöveget írhat ki a label utasítással, kitölthet, stb., és beállítja a láthatósági tartományt (shownRange tulajdonság) is, amelyben a teknőc látható.

Ha a parancsnak nincs bemenete, és ennek a bizonyos teknőcnek még nem volt beállítva tartomány, akkor a parancs a látható területet adja a teknőcnek helyéül.

Ha a bemenet egy téglalap, a parancs beállítja a range és a shownRange tulajdonságokat.

Ha a bemenet egy üres lista [], a parancs visszaállítja az előző beállításokat, és a range és shownRange tulajdonságok értéke ismét az egész rajzterület lesz.


Példa

Próbáld ki az alábbi utasításokat:

? setRangeStyle "window
? setRangeStyle "wrap

Mozgasd a teknőcöt! Látod a különbséget?


xcor

Kimenetként megadja az első aktív teknőc pozíciójának X koordinátáját.

Bármely teknőc jelenlegi X koordinátájának megváltoztatásához használjuk a setXcor parancsot. A helyzete is megváltoztatható a forward, back, setPos, setXY, setYcor ,clearScreen, vagy a home parancsokkal.


Példa

Próbáld ki az alábbi utasításokat:

? clean
? right 90
? forward 40
? show xcor
40

? showPos
[0 0]
? show first pos
0
? show xcor
0


ycor

Az első aktív teknőc pozíciójának aktuális Y koordinátáját mutatja meg. Bármelyik aktív teknőc aktuális Y koordinátájának megváltoztatásához használjuk a setYcor parancsot. A helyzete is megváltoztatható a forward, back, setPos, setXY, setYcor, clearScreen, és home parancsokkal.


Példa

Próbáld ki az alábbi utasításokat:

? clean
? forward 40
? show ycor
40

? showPos
[0 40]
? show last pos
40
? show ycor
40