Ez a program egy kvíz: Magyarország és szomszédai fővárosait kell eltalálnunk a térképen. Angol nyelvű útmutató:
- http://appinventor.mit.edu/explore/ai2/state-geography-quiz.html
- http://appinventor.mit.edu/explore/sites/all/files/ai2tutorials/stateQuiz/StateQuizTutorial.pdf
A játék a térkép (Map) komponenst mutatja be. A területek körülrajzolásához a geojson formátumot használjuk. Az interneten számos területet találunk meg ebben a formában; Európa országai (ami alapján ez a kvíz is elkészült), itt található: https://github.com/leakyMirror/map-of-europe.
Design
- Screen1 title: Magyarország és szomszédai
- Felső HorizontalArrangement: kerüljön bele 3 felirat (Label), melyeknél a HasMargins legyen kikapcsolva.
- Első felirat szövege: "Melyik ország fővárosa "
- Második felirat szövege: egyelőre maradjon az alapértelmezett
- Harmadik felirat szövege: "?"
- Maps -> Map
- CenterFromString: 45,20
- Height, Width: Fill parent…
- ZoomLevel: 4
- A fenti térképbe kerüljön bele egy Maps -> FeatureCollection
- Source: magyarorszag-szomszedai.geojson (ez a fájl tartalmazza az országokat; töltsük le, csomagoljuk ki, és a fájt töltsük fel)
- Legyen alul egy Újraindít nyomógomb (a példában középre zárva).
A képernyőterv kb. így néz ki:
Blocks
Először hozzunk létre egy fővárosok globális, kezdetben üres listát, valamint egy kezdés eljárást, melyet meghívunk rögtön a képernyő betöltésekor, valamint újraindításkor is:
Valósítsuk meg a kezdési beállításokat végrehajtó eljárást! Itt a következőket kell tenni:
- Mindegyik országnak adjuk meg címében a fővárosát. (A zöld részeket a Térkép -> Országok alatt találjuk, az egyes országokra kattintva. Ha az egyiket kiválasztottuk, akkor már tudjuk duplázni.)
- Töltsük fel a fővárosok globális listát az országok "címeivel". Itt amiatt kell ismét kiüríteni a lista tartalmát, mert ha az újraindítás nyomógombra kattintva jutottunk ide, akkor lehetséges, hogy nem üres.
- Színezzük be sárgára az egyes országokat.
A kék komponenseket a Built-in -> Lists, míg a Polygon-t legalul az Any Component -> Any Polygon alatt.
Készítsünk egy függvényt fővárostVálaszt névvel, amely kiválaszt egy véletlenszerű fővárost, és beleírja a kérdésbe. Ezt rögtön hívjuk is meg a kezdeti beállító eljárás végén. Amiatt szervezzük ki külön eljárásba, mert máshonnan is meg fogjuk hívni.
Végül azt az eljárást kell megvalósítanunk, ami az egyes országokra kattintva fut le. Ezt a Screen1 -> Térkép -> Országok részen belül találjuk. Itt:
- Ha eltalálta a játékos a megfelelő országot (tehát a kiválasztott terület címe megegyezik a kérdés második részével), akkor egyrészt beszínezzük zöldre az adott országot, kivesszük a fővárosok listából az eltalált elemet, majd ha még nem fogyott el mind, választunk egy véletlenszerű fővárost.
- Ha nem találja el, akkor a kiválasztott ország színét pirosra változtatjuk.
Végeredmény: Kviz.aia.
Ezt a játékot számos ponton lehet továbbfejleszteni:
- Ha egy ország már "kizöldült", akkor rákattintva ne legyen ismét piros.
- Akkor is másik kérdést tegyen fel, ha a játékos nem találta el.
- A piros (helytelen) csak egy rövid ideig villanjon fel, ne maradjon úgy.
- A végén tűnjön el a kérdés, és írjon ki egy alkalmas üzenetet.
- Időmérőt is be lehetne tenni.
- Egyéb térképe egyéb kérdésekkel: pl. Magyarország megyéi.
Ezek viszont már azok a lépések, amellyel sok munkával kevés látványos eredményt tudunk elérni, így egy egyszeri alkalomba már nem férnek bele.