Tartalomjegyzék:

Petanque / Jeu-de-Boules pontszámmegtartó alkalmazás: 7 lépés
Petanque / Jeu-de-Boules pontszámmegtartó alkalmazás: 7 lépés

Videó: Petanque / Jeu-de-Boules pontszámmegtartó alkalmazás: 7 lépés

Videó: Petanque / Jeu-de-Boules pontszámmegtartó alkalmazás: 7 lépés
Videó: Finale Tête à tête Dylan Rocher vs Michel Hatchadourian - Pétanque 2024, Július
Anonim
Petanque / Jeu-de-Boules Score Keeping Application
Petanque / Jeu-de-Boules Score Keeping Application
Petanque / Jeu-de-Boules Score Keeping Application
Petanque / Jeu-de-Boules Score Keeping Application
Petanque / Jeu-de-Boules Score Keeping Application
Petanque / Jeu-de-Boules Score Keeping Application

Ez egy Petanque pontszámmegőrző alkalmazás (néha Jeu de Boules néven emlegetik) az Android számára. Ez az alkalmazás a jelenlegi állapotában használható, és teljesen működőképes. Vagy a Petanque Matrix kijelzővel kombinálva is használható [külön utasítások]. A projekt ezen része egyszerű, mivel nincs szükség hardverre, csak ingyenes szoftverekre.

Kellékek

  1. Android -kompatibilis telefon (lehetőleg)
  2. Internetböngésző -hozzáféréssel rendelkező eszköz, lehetőleg egérrel ellátott számítógép a kódolási és tervezési munkákhoz
  3. Fiók az MIT App Inventor szolgáltatással (ingyenes)
  4. Egy egyszerű rajzcsomag pl. Pixlr vagy Gimp (minden ingyenes)
  5. Egy ikon erőforrás weboldal pl. Anyag UI ikonok vagy Material.io (minden ingyenes)

Szoftver és forráskód:

Az oldal alján található link az Actual Petanque alkalmazáshoz. Itt megtalálható a teljes forráskódra mutató link is (sajnálom, de az Instructables nem teszi lehetővé.aia fájl feltöltését …).

1. lépés: Az alkalmazás anatómiája és navigálása

Az alkalmazás anatómiája és navigációja
Az alkalmazás anatómiája és navigációja

Az alkalmazás tervezése és navigálása meglehetősen egyszerű. Összesen 4 képernyő van:

  1. Fő képernyő #1 (ahol időnk nagy részét a pontszámok megőrzésével töltjük)
  2. 2. mérkőzések képernyő (ahol megtaláljuk az összes lejátszott mérkőzés és pontszám listáját)
  3. Beállítások képernyő #3 (az alkalmazás beállításai, adminisztrációs feladatok, hibakeresés stb.)
  4. A 0. képernyő

A képernyők elrendezése és a gombok elhelyezése 1 kéz és 1 ujj (hüvelykujj) használatára lett optimalizálva. Az alsó navigációs menü gombjai az aktuális képernyőtől jobbra vagy balra lévő képernyőkhöz vezetnek. Tehát a 0 gomb megnyitja a Névjegy képernyőjét. És az #1 gomb visszahozza Önt az 1. főképernyőre stb., Usw.

Egyértelmű? Akkor folytassuk…

2. lépés: Az adatok (alap) tervezése

Az adatok (bázis) tervezése
Az adatok (bázis) tervezése
Az adatok (alap) tervezése
Az adatok (alap) tervezése

Most, mielőtt létrehoznánk az első képernyőt, szükségünk van egy helyre, ahol tárolni lehet az alkalmazás által használt összes adatot. Ehhez a legegyszerűbb űrlapot fogjuk használni, amelyet az MIT App Inventor kínál: TinyDB. Ez meglehetősen korlátozott, mivel csak egy kulcs/érték pár tárolására képes, de egy kis segítséggel és néhány trükkel mindent elérhetünk, amit akarunk.

Kétféle értéket tárolunk:

  • 10 egyszerű, kulcs/érték értéket tárolunk az egész alkalmazás számára (amint azt a fenti „CreateIgnoreList” függvény mutatja).
  • És egy bonyolultabb kulcs/érték, amely az összes befejezett játékadatot egy karakterláncban tárolja, és a „CurrentMatch” kulcs/érték elsődleges kulcsként működik * (amint azt a fenti „SaveScore” funkció mutatja). Ezen az egy kulcs/értékpáron belül ezeket a mezőket egy nem vizuális vezérlőkarakter választja el "\ t". Ez a vezérlő karakter lehetővé teszi számunkra, hogy a 2. mérkőzések képernyőn lekérjük az összes értéket a különálló összetevőkbe, és megjelenítsük és rendezhessük azokat. De erről bővebben a 2. képernyő (mérkőzések) részben.

* További információ a PrimaryKey létrehozásáról a TinyDb számára az AppInventor alkalmazásban a YouTube -on.

3. lépés: 1. képernyő (fő)

1. képernyő (fő)
1. képernyő (fő)
1. képernyő (fő)
1. képernyő (fő)
1. képernyő (fő)
1. képernyő (fő)

Ez a mi „ló” képernyőnk, ahol az idő nagy részét az alkalmazás felhasználójaként töltjük. Ez az MIT App Inventor alkalmazásunk kiindulópontja is.

Amint a fenti (1. kép) képen látható, bár a képernyő beállítása egyszerű, meglehetősen rejtett interaktivitás, hibakezelés, görgetés, osztott képernyő, lebegő menü, ellopott gesztusok, védelem a hibák, a hibás bemenetek és a helyreállítás miatt az összeomlásoktól. Mindezekhez kérjük, tekintse meg az egyes képernyők részletes forráskódját. Szóval mit lehet itt csinálni:

  • Nyomja meg a „Csapat 1” gombot, és értesítést kap, amely lehetővé teszi a „Csapat 1” nevének megváltoztatását. A módosítás után ez az „1 -es csapat” az Ön által választott névre változik. Ez az a név is, amelyet a „játék” és a „mérkőzés” pontszámok tükrözésére használnak (a következő képernyőkön).
  • Az „1. csapat pontszáma” és a „2. csapat pontszáma” az egyes csapatok alján lenyomott „+” és „-” gombok alapján változik. Ha a pontszám 0, és a „-” gombot megnyomja, egy hang- és vizuális jelzés hallható, de a pontszám 0 marad (természetesen).
  • Ha a „pontszám” eléri a 13 -at, akkor néhány dolog történik: vizuális jelzést kap, egy értesítési ablak mutatja az eredményeket (#2. játszma, meccs). Ha azonban nem a klasszikus Petanque pontozást választotta, hanem a 2 pontos különbség pontozását (amely a beállítási képernyőn #3 választható ki), akkor a két csapat közötti különbségtől függően az egyik lesz a győztes (a 3. képen látható módon)).
  • Az aktuális „mérkőzés” „pontszáma” a képernyő közepén jelenik meg az „1. csapat” és a „2. csapat” pontszámok között. És ez folyamatosan fog táblázni, amíg egy új „mérkőzés” meg nem kezdődik.
  • Ha más képernyőkre szeretne navigálni, akkor „csúsztassa balra” a Névjegy képernyő #megjelenítéséhez, vagy „húzza jobbra” a 2 -es mérkőzések képernyő megjelenítéséhez.

Végül alul található a navigációs menüsor. Ez mindig a képernyő abszolút alján található, függetlenül a képernyő méretétől. Még akkor is, ha az Android „Osztott képernyő” funkcióját használják. Az alsó navigációs menüben 3 gomb található:

  1. Bal alsó: a "?" gomb balra megy, és ismét megjelenik a kezdeti indítás Névjegy képernyő (#0).
  2. Alul-középen: a visszaállítás gomb (úgy néz ki, mint egy „@” nyíllal) lehetővé teszi, hogy új játékot vagy új mérkőzést kezdjen a játék „bármikor”, csak nyomja meg az alsó középső „Reset” gombot. Ez egy értesítési ablak is lesz, amely felkéri Önt, hogy kezdjen új játékot vagy új mérkőzést.
  3. Jobbra lent: A '->' gomb jobbra megy, és az összes meccs képernyő áttekintését mutatja (#2).

4. lépés: 2. képernyő (egyezések)

2. képernyő (mérkőzések)
2. képernyő (mérkőzések)
2. képernyő (mérkőzések)
2. képernyő (mérkőzések)
2. képernyő (mérkőzések)
2. képernyő (mérkőzések)

Bár nagyon egyszerű a vizuális smink, ezen a képernyőn van az érdekesebb kód, mint a többi képernyőn. De mielőtt belekezdenénk, nézzük meg, mit csinál a képernyő:

A „Csapat 1” és „Csapat 2” címkék alatt az összes mérkőzés listája és az összesített pontszámuk látható. Ez egy rendezett lista, amelynek tetején az „utolsó lejátszott mérkőzés”, alul pedig a „legrégebben játszott mérkőzés” szerepel.

Középen, az „1. Az ikon a kiválasztott rendezési iránytól függően változik.

Ha más képernyőkre szeretne navigálni, akkor „csúsztassa balra” az 1. főképernyő megjelenítéséhez, vagy „csúsztassa jobbra” a 3. beállítási képernyő megjelenítéséhez.

Végül alul található a navigációs menüsor. Ez mindig a képernyő abszolút alján található, függetlenül a képernyő méretétől. Még akkor is, ha az Android „Osztott képernyő” funkcióját használják (a 2. képen látható módon). Az alsó navigációs menüben 3 gomb található:

  1. Bal alsó: a "?" gomb balra megy, és ismét megjelenik a kezdeti indítás Névjegy képernyő (#0).
  2. Alul-középen: a visszaállítás gomb (úgy néz ki, mint egy „@” nyíllal) lehetővé teszi, hogy új játékot vagy új mérkőzést kezdjen a játék „bármikor”, csak nyomja meg az alsó középső „Reset” gombot. Ez egy értesítési ablak is lesz, amely felkéri Önt, hogy kezdjen új játékot vagy új mérkőzést.
  3. Jobbra lent: A '->' gomb jobbra megy, és megjeleníti az összes meccs képernyő áttekintését (#2).

A mérkőzések listájának középre állítása a képernyőn:

Meg akartam jeleníteni a mérkőzések listáját a képernyő közepén, a „-” elválasztóval a középpontban. Most, mivel a csapatok által megnyert játékok száma 1 vagy több számjegy lehet, és az egyes csapatok tényleges neve eltérő méretű lehet, ezt nem csak egy listába írhatjuk. Az egész valahogy így nézne ki:

Csapat 1 0 - 1 2. csapat

Foo 1-42 FooBar

Tehát a „-” elválasztó címkét középre kell helyezni. A „Csapat 1 neve” és az „1-es csapat pontszáma” jobbra igazítva a „-” osztó balra. És a „2. csapat pontszáma” és a „2. csapat neve” balra igazítva a „-” osztó jobbra. Tehát így végzünk:

"Team 1 0" "-" "1 Team 2" "Foo 1" "-" "42 FooBar"

És mivel nem tudom, mennyi ideig lesz a mérkőzéseink listája, az összes „Csapat 1 név” és „Csapat 1 pontszám” azonos HTMLFormat címkébe kerül, és minden mérkőzés után beteszek egy betűt, és a következőt egy NewLine -ra teszem.

Készítse elő a dolgokat a válogatáshoz:

Amint azt az Adatok (alap) tervezési lépésben említettük, csak egyetlen értéket tudok tárolni. Így eltároltam az „1-es csapat neve”, „1-es csapat pontszáma”, „2-es csapat pontszáma” és „2-es csapat neve” értékeit nem vizuális vezérlő karakterrel „\ t” elválasztva. Most először ki kell vennem őket az adatbázisból (ahogy a 3. képen látható).

A kódrészlet azt mutatja, hogy először ellenőrizzük, hogy a Hibakereső jelző be van-e állítva (ezt az alkalmazás minden képernyőjén megtesszük. Ezután létrehoz egy listát azokból a kulcsokból/értékpárokból, amelyeket figyelmen kívül kell hagynunk az adatbázisban való áthaladáskor. Kizárólag a „Match” adatok érdekelnek bennünket, semmi más. Ezután körbejárjuk az adatbázist, figyelmen kívül hagyva a Ignorelist összes kulcsát, és létrehozunk egy új listát 2 értékkel:

  1. Az elsődleges kulcs (ne feledje, hogy ez a szám jelzi a mérkőzés számát, kezdve az 1. mérkőzéssel)
  2. Egy karakterlánc, amely tartalmazza az „1. csapat neve”, „1. csapat pontszáma”, „2. csapat pontszáma” és „2. csapat neve” értékeit

Ezután végigmegyünk a listán, és létrehozunk egy új listalistát, ahol az egyes mezők egyes elemekre vannak felosztva (a 4. képen látható módon):

DataToSort -> Listaindex 1 -> Listaindex 1 (PK -szám)

-> Listaindex 2 (Csapatnév 1) -> Listaindex 3 (Csapat pontszám 1) -> Listaindex 4 (Csapatpontszám 2) -> Listaindex 5 (Csapatnév 2) -> Listaindex 2 -> Listaindex 1 (PK szám) -> Listaindex 2 (Csapat neve 1) ->… ->…

Ezt követően mutatunk néhány hibakeresési információt, ha a hibakeresési jelző igaz. És most végre rendezhetjük a listánkat.

BubbleSort* a listák listája:

Az 5. kép a BubbleSort* listáinak teljes listáját mutatja. Ez az algoritmus természetesen bármilyen méretű listákhoz használható, függetlenül attól, hogy hány index van jelen.

* További információ arról, hogy a BubbleSort algoritmus mennyire egyszerű a YouTube -on.

5. lépés: 3. képernyő (Beállítások)

3. képernyő (Beállítások)
3. képernyő (Beállítások)

Ez a képernyő nagyon elfoglaltnak tűnik, és sok vizuális elemet tartalmaz. De végül csak 5 kapcsoló van:

  1. „Fred Scoring”: ha „On” állásba kapcsolja, megváltoztatja a pontozási viselkedést, és a győztest a 2 pontos különbség alapján dönti el 13 -nál, és nem csak az első, aki eléri a 13 -at.
  2. „Bluetooth -párosítás”: (ha engedélyezve van), ha az „On” be van kapcsolva, akkor lehetővé teszi az alkalmazás párosítását a külső Petanque kijelzővel.
  3. „Gyufák visszaállítása”: Ha „Be” állásban van, az összes mérkőzést alaphelyzetbe állítja/törli, és az 1. mérkőzéssel kezdődik.
  4. "DB visszaállítása": Ha "On" be van kapcsolva, akkor az összes mérkőzést és minden más alkalmazásbeállítást törli/visszaállítja az eredeti beállításokra, beleértve az aktuális pontszámot, a mérkőzéseket, a csapatneveket, a hibakeresési beállításokat, a rendezési sorrendet, a Bluetooth beállításokat (ha engedélyezve van) stb..
  5. 'Hibakeresés': Ha 'Be' van kapcsolva, a hibakeresési információkat az egész alkalmazásban szögletes zárójelek között jeleníti meg '”. Olyan dolgok, mint a „Rekordok teljes száma, a változók teljes száma, az aktuális mérkőzés száma, a játék PK száma stb.

Végül alul található a navigációs menüsor. Ez mindig a képernyő abszolút alján található, függetlenül a képernyő méretétől. Még akkor is, ha az Android „Osztott képernyő” funkcióját használják, vagy a képernyő csak magasabb, mint a képernyő, a képernyőn megjelenő elemek száma miatt. Ilyen esetekben mindig görgessen felfelé és lefelé húzva. Ez az alsó navigációs menü mindössze 1 gombbal rendelkezik:

Bal alsó: a '<-' gomb balra megy, és a kezdeti megjelenítés mutatja az összes mérkőzés áttekintését (#2)

6. lépés: 0. képernyő (Névjegy)

0. képernyő (Névjegy)
0. képernyő (Névjegy)

Az utolsó képernyő. Csak információ, semmi több.

Ez a képernyő az alkalmazás első indításakor jelenik meg. Ezt követően soha többé nem jelenik meg, hacsak nem a '?' Gombbal választotta ezt. gombot a főképernyőn #1.

Az alsó navigációs menüsor csak 1 gombbal rendelkezik, és ez visszatér a főképernyőhöz #1.

7. lépés: Szoftver és/vagy forráskód

Szoftver és/vagy forráskód
Szoftver és/vagy forráskód

Végül.

Az alkalmazást letöltheti erről a Google Drive -helyről.

Letöltheti a kódot a Pentaque MIT App Inventor Gallery bejegyzéséből (1. kép). Ez lehetővé teszi a projekt mentését saját MIT App Inventor fiókjába (átnevezheti bármire). Innen láthatja az összes kódot a Blokkok szerkesztőben, a Tervező szerkesztő képernyőit, valamint az ehhez a projekthez használt médiát és erőforrásokat.

A forráskódot (.aia fájl, amely valójában egy.zip fájl) is letölthet erről a Google Drive -helyről.

Ajánlott: