< Return to Video

Function Parameters | Computer Programming | Khan Academy

  • 0:00 - 0:06
    Ismét a Winstont rajzoló programnál vagyunk,
    de most hozzáadtam néhány text() parancsot.
  • 0:06 - 0:10
    Azt szeretném, hogy mindegyik cím alatt
    legyen egy Winston, hogy lássuk,
  • 0:10 - 0:15
    hogyan nézett ki korábban. De egyelőre össze-
    vissza van...
  • 0:15 - 0:21
    Ez azért van, mert a faceX és faceY
    változókhoz random számokat rendelünk.
  • 0:21 - 0:24
    Ehelyett most Winston pontos pozícióját
    szeretnénk megadni,
  • 0:24 - 0:30
    és azt szeretném, hogy ezt a helyet a függvény
    minden hívásánál meg tudjam változtatni,
  • 0:30 - 0:35
    pont úgy, ahogy az ellipse() és rect()
    parancsoknál szoktuk tenni.
  • 0:35 - 0:41
    Ugyanis, ide és ide, na meg ide és ide is
    szeretnék rakni egy Winstont!
  • 0:41 - 0:45
    Nem szeretném, hogy véletlenszerű helyeken
    jelenjen meg mindig...
  • 0:45 - 0:51
    Ahhoz, hogy ezt meg tudjuk csinálni, meg kell
    adnunk paramétereket a függvénynek!
  • 0:51 - 0:58
    Mind a definícióban itt felül, mind ott, ahol
    meghívjuk - itt alul.
  • 0:58 - 1:04
    Winston kirajzolásához a faceX és faceY
    változókhoz adunk át értéket,
  • 1:04 - 1:10
    és ezeket az értékeket fogják majd használni,
    nem pedig random számokat.
  • 1:10 - 1:14
    Gondoljuk át, mit is adnánk át a
    függvényhívásban itt lent?
  • 1:14 - 1:20
    Winstont a szöveg alá szeretnénk rakni, szóval
    az X és Y változók értékének
  • 1:20 - 1:26
    nagyon hasonlónak kell lennie ahhoz, amit az
    adott text() parancsoknak adtunk át.
  • 1:26 - 1:29
    Legyen mondjuk 10 pixellel lejjebb az Y-
    pozíciója.
  • 1:29 - 1:32
    Az első akkor mondjuk 10 és 30,
  • 1:32 - 1:36
    a második mondjuk 200 és 30,
  • 1:36 - 1:41
    10 és 230, és végül 200, 230.
  • 1:41 - 1:47
    Ugyanaz, mint ezek a text() koordináták, csak
    hozzáadok tízet az Y-hoz.
  • 1:47 - 1:51
    Na ez... szép és jó, de Winston nem igazán
    mozgott...
  • 1:51 - 1:55
    Ez azért van, mert itt fent nem mondtuk meg a
    függvényünknek,
  • 1:55 - 2:00
    hogy majd mi átadunk neki értékeket, így még
    mindig a random értékeket használja.
  • 2:00 - 2:05
    Hogy megmondhassuk a függvénynek, hogy
    figyeljen, majd mi megadjuk az infót,
  • 2:05 - 2:09
    nevet kell adnunk a zárójelek közötti
    paramétereknek.
  • 2:09 - 2:15
    Legyen mondjuk faceX és faceY, vesszővel
    elválasztva.
  • 2:15 - 2:20
    Azért ezt a nevet adjuk neki, mert hát ezt már
    használjuk a függvényen belül,
  • 2:20 - 2:23
    és így nem kell átírni az egész kódot.
  • 2:23 - 2:28
    Na, de még mindig nem történik semmi,
    Winston még mindig össze-vissza van...
  • 2:28 - 2:33
    Ha megnézed a függvényünk tetejét, láthatod,
    hogy a faceX és faceY értékét
  • 2:33 - 2:35
    még mindig felülírjuk random számokkal.
  • 2:35 - 2:39
    Nem kell mást tennünk tehát, kitöröljük ezeket
    a sorokat,
  • 2:39 - 2:45
    És tessék! A faceX és faceY változók
    átadódnak a függvénynek,
  • 2:45 - 2:51
    és a függvény azokat az értékeket használja,
    amiket itt megadtunk.
  • 2:51 - 2:54
    Ahogy láthatod, nem sikerült pontosan
    megadnom Winston pozícióját,
  • 2:54 - 2:59
    mert elfeledkeztem arról, hogy a text() a bal
    alsó sarok pozíciója szerint,
  • 2:59 - 3:03
    a face pedig a középpont szerint kerül
    kirajzolásra.
  • 3:03 - 3:07
    Így most egy kicsit játszadoznom kell a
    számokkal,
  • 3:07 - 3:12
    növelni kicsit az X-et, utána kicsit az Y-t...
  • 3:12 - 3:16
    Meg is van a bébi Winston, most a többit is
    megcsinálom...
  • 3:16 - 3:19
    Már csak itt kell változtatgatnom az értékeket,
  • 3:19 - 3:23
    a függvény definícióját nem kell változtatnom
    egyáltalán, hiszen
  • 3:23 - 3:27
    mindig azt az értéket fogja használni, amit
    átadunk neki.
  • 3:27 - 3:30
    Pont úgy, mint az ellipse(), vagy a rect().
  • 3:30 - 3:35
    Rendben, így már egész jól pozícionáltam, de...
    talán egy kicsit túl nagy így Winston.
  • 3:35 - 3:38
    Hatalmas, nem látszik tőle semmi, ez így nem
    jó.
  • 3:38 - 3:41
    Mivel az őt kirajzoló kódot egy függvénybe
    raktam,
  • 3:41 - 3:46
    egyszerűen meg tudom változtani mindet
    egyszerre, egyetlen sornyi kóddal!
  • 3:46 - 3:51
    Ez az ellipse() felel érte, szóval legyen mondjuk
    190, 190.
  • 3:51 - 3:53
    Remek! Most már sokkal jobban elfér,
  • 3:53 - 3:58
    és ha itt egy kicsit állítgatom még, akkor egész
    jól el is helyezhetem.
  • 3:58 - 4:01
    Így jó is lesz.
  • 4:01 - 4:05
    Nézzük át még egyszer gyorsan, mit is csinál
    ez a kódrészlet!
  • 4:05 - 4:09
    Definiál egy drawWinston függvényt, és
    megmondja,
  • 4:09 - 4:14
    hogy 2 értéket vár majd, és a faceX és faceY
    nevet adja nekik.
  • 4:14 - 4:17
    Ezek az értékek majd változókként jelennek
    meg,
  • 4:17 - 4:22
    amiket tudunk majd a függvényen belül
    használni - akárcsak a változókat, amiket
  • 4:22 - 4:24
    felül deklaráltunk.
  • 4:24 - 4:27
    Ezek után bármikor meghívhatjuk ezt a
    függvényt,
  • 4:27 - 4:33
    miután deklaráltuk, és átadhatunk új értékeket,
    amiket majd használni fog!
  • 4:33 - 4:37
    Így már látodhatod, hogy miért is annyira
    szuperek a függvények!
  • 4:37 - 4:41
    Kitalálhatunk egy kis kódot, amit többször is
    szeretnénk használni,
  • 4:41 - 4:45
    és megadhatunk paramétereket, hogy kicsit
    meg is változtathassuk az eredményt.
  • 4:45 - 4:49
    Olyan, mint egy recept! Leírod az alap
    instrukciókat, de aztán rájössz,
  • 4:49 - 4:53
    hogy igaziból 4 Winston kell, nem 1... Nem kell
    újrakezdened,
  • 4:53 - 4:58
    csak megváltoztatod kicsit az eredeti
    instrukciókat, és megszorzol mindent néggyel.
  • 4:58 - 5:04
    Így már gondolhatsz a kódodban kialakuló
    receptekre is!
Title:
Function Parameters | Computer Programming | Khan Academy
Description:

more » « less
Video Language:
English
Team:
Khan Academy
Duration:
05:05

Hungarian subtitles

Revisions