Sisukord:

Petanque / Jeu-de-Boules skoori hoidmise rakendus: 7 sammu
Petanque / Jeu-de-Boules skoori hoidmise rakendus: 7 sammu

Video: Petanque / Jeu-de-Boules skoori hoidmise rakendus: 7 sammu

Video: Petanque / Jeu-de-Boules skoori hoidmise rakendus: 7 sammu
Video: Испытание персонажа Diablo на поле боя Hearthstone 2024, Juuli
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

See on Androidi jaoks Petanque'i skoori hoidmise rakendus (mõnikord nimetatakse seda Jeu de Boulesiks). Seda rakendust saab kasutada just sellisena, nagu see on, ja see on täielikult toimiv. Või saab seda kasutada koos Petanque Matrix ekraaniga [eraldi juhendid]. See osa projektist on lihtne, kuna pole vaja riistvara, ainult tasuta saadaolevat tarkvara.

Tarvikud

  1. Androidiga ühilduv telefon (soovitavalt)
  2. Seade, millel on juurdepääs Interneti -brauserile, eelistatavalt hiirega arvuti kodeerimiseks ja kujundamiseks
  3. Konto MIT App Inventoriga (tasuta)
  4. Lihtne joonistuspakett nt. Pixlr või Gimp (kõik tasuta)
  5. Ikooniressursside veebisait nt. Materjali kasutajaliidese ikoonid või Material.io (kõik tasuta)

Tarkvara ja lähtekood:

Selle lehe allservast leiate lingi rakendusele Actual Petanque. Siit leiate ka lingi täielikule lähtekoodile (vabandust, kuid Instructables ei luba mul.aia -faili üles laadida).

Samm: rakenduse anatoomia ja navigeerimine

Rakenduse anatoomia ja navigeerimine
Rakenduse anatoomia ja navigeerimine

Rakenduse disain ja navigeerimine on üsna lihtne. Kokku on 4 ekraani:

  1. Põhiekraan nr 1 (kus veedame suurema osa ajast skoori hoidmisel)
  2. Mängude ekraan nr 2 (kust leiame kõigi mängitud mängude ja tulemuste loendi)
  3. Seadete ekraan nr 3 (rakenduse seaded, haldusülesanded, silumine jne)
  4. Teave ekraani nr 0 kohta (teave selle kohta, logo ja kust saada koostamisjuhiseid, st SELLE veebilehte)

Ekraanide paigutus ja nuppude paigutus on optimeeritud 1 käe ja 1 sõrme (pöidla) kasutamiseks. Navigeerimismenüü allservas olevad nupud viivad teid praegusest ekraanist paremale või vasakule. Nii et nupp 0 viib teid ekraanile Teave #0. Ja nupp nr 1 viib teid tagasi põhiekraanile #1 jne.

Selge? Jätkame siis…

2. samm: andmete (baasi) kujundamine

Andmete (baasi) kujundus
Andmete (baasi) kujundus
Andmete (baasi) kujundus
Andmete (baasi) kujundus

Nüüd, enne esimese ekraani loomist, on meil vaja kohta, kuhu salvestada kõik andmed, mida see rakendus kasutab. Selleks kasutame kõige lihtsamat vormi, mida MIT App Inventor pakub: TinyDB. See on üsna piiratud, kuna see suudab salvestada ainult võtme/väärtuse paari, kuid väikese abi ja mõningate nippide abil saame selle teha kõik, mida tahame.

Salvestame kahte tüüpi väärtusi:

  • Salvestame 10 lihtsat võtme/väärtusega rakendust hõlmavat väärtust (nagu on näidatud ülaltoodud funktsioonil CreateIgnoreList).
  • Ja keerulisem võti/väärtus, mis salvestab kõik lõpetatud mängude andmed ühte stringi, kusjuures klahv „CurrentMatch”/väärtus toimib esmase võtmena * (nagu on näidatud ülaltoodud funktsioonis „SaveScore”). Need ühe võtme/väärtuse paari väljad on eraldatud mittevisuaalse juhtmärgiga '\ t'. See juhtmärk võimaldab meil vastete ekraanil #2 hankida kõik väärtused eraldi komponentidesse ning neid kuvada ja sortida. Aga sellest lähemalt rubriigis Ekraan 2 (vasted).

* Lisateave selle kohta, kuidas TinyDb jaoks PrimaryKey luua YouTube'is AppInventoris.

3. samm: ekraan 1 (põhiline)

Ekraan 1 (peamine)
Ekraan 1 (peamine)
Ekraan 1 (peamine)
Ekraan 1 (peamine)
Ekraan 1 (peamine)
Ekraan 1 (peamine)

See on meie tööhobuse ekraan, kus veedame suurema osa ajast rakenduse kasutajana. See on ka meie MIT App Inventori rakenduse lähtepunkt.

Nagu näete ülaltoodud pildilt (pilt #1), kuigi ekraan on lihtsa seadistusega, on üsna palju peidetud interaktiivsust, veakäsitlust, kerimist, jagatud ekraani, ujuvmenüüd, liigutusi, liigutusi, kaitset vigade eest, ekslikke sisendeid ja isegi taastamist krahhidest. Kõigi nende funktsioonide puhul vaadake iga ekraani üksikasjalikku lähtekoodi. Mida siin siis teha saab:

  • Vajutage "Meeskond 1" ja saate teate, mis võimaldab teil muuta tiimi 1 nime. Kui see on muudetud, muutub see tiim 1 teie valitud nimeks. See on ka nimi, mida kasutatakse teie mängu ja mängu tulemuste kajastamiseks (järgmistel ekraanidel).
  • „Meeskonna 1 skoor” ja „meeskonna 2 skoor” muutuvad iga vastava meeskonna allosas vajutatud nuppude „+” ja „-” põhjal. Kui skoor on 0 ja vajutatakse „-”, antakse helisignaal ja visuaalne signaal, kuid tulemus jääb 0 (muidugi).
  • Kui „skoor” ulatub 13 -ni, juhtub mõningaid asju: kuvatakse visuaalne signaal, teavitusaknad näitavad tulemusi (pilt nr 2) ja annab teile võimaluse alustada uut mängu või uut mängu (ja loomulikult uut mäng). Kui te pole siiski valinud mitte klassikalist Petanque'i punktiarvestust, vaid 2-punktilist erinevusskoori (mida saab valida seadete ekraanil #3), siis sõltuvalt kahe meeskonna erinevusest kuulutatakse võitjaks üks (nagu on näidatud pildil #3)).
  • Praeguse „mängu” „skoor” kuvatakse ekraani keskel võistkondade 1 ja 2 tiimide vahel. Ja see jätkub tabelite koostamiseni, kuni alustatakse uut "mängu".
  • Teistele ekraanidele navigeerimiseks võite ka nipsata vasakule, et kuvada Teaveekraan nr 0, või nipsata paremale, et kuvada vasteekraan #2.

Lõpuks on allosas navigeerimismenüü. See asub alati ekraani absoluutses allosas, olenemata ekraani suurusest. Isegi kui kasutatakse Androidi jagatud ekraani funktsioone. Alumisel navigeerimismenüül on 3 nuppu:

  1. All vasakul: "?" nupp läheb vasakule ja kuvab uuesti esmase käivitamise ekraani (#0).
  2. Alumine keskel: lähtestamisnupp (mis näeb välja nagu nooltega „@”) võimaldab teil mängu „igal ajal” alustada uut mängu või uut mängu, vajutades lihtsalt alumist keskmist nuppu „Lähtesta”. See teeb ka teateakna, mis palub teil alustada uut mängu või uut mängu.
  3. All paremal: nupp '->' liigub paremale ja kuvab kõigi mängude ekraani (#2) ülevaate.

4. samm: ekraan 2 (vasted)

Ekraan 2 (vasted)
Ekraan 2 (vasted)
Ekraan 2 (vasted)
Ekraan 2 (vasted)
Ekraan 2 (vasted)
Ekraan 2 (vasted)

Kuigi see ekraan on visuaalselt väga lihtne, on sellel ekraanil huvitavam kood kui teistel ekraanidel. Aga enne kui me läheme sellesse, vaatame, mida ta ekraan teeb:

Siltide 'Meeskond 1' ja 'Meeskond 2' all on loetelu kõikidest matšidest ja nende vastavatest tulemustest. See on sorteeritud loend, mille ülaosas on "viimati mängitud mäng" ja allosas "vanim mängitud mäng".

Keskel, tiimi 1 ja tiimi 2 vahel, on nupp, mida saab kasutada vastete loendi sortimiseks kasvavas või kahanevas järjekorras. Ikoon muutub sõltuvalt valitud sortimissuunast.

Teistele ekraanidele navigeerimiseks võite ka pühkige vasakule, et kuvada põhiekraan nr 1, või nipsake paremale, et kuvada seadete ekraan #3.

Lõpuks on allosas navigeerimismenüü. See asub alati ekraani absoluutses allosas, olenemata ekraani suurusest. Isegi kui kasutatakse Androidi jagatud ekraani funktsiooni (nagu on näidatud pildil #2). Alumisel navigeerimismenüül on 3 nuppu:

  1. All vasakul: "?" nupp läheb vasakule ja kuvab uuesti esmase käivitamise ekraani (#0).
  2. Alumine keskel: lähtestamisnupp (mis näeb välja nagu nooltega „@”) võimaldab teil mängu „igal ajal” alustada uut mängu või uut mängu, vajutades lihtsalt alumist keskmist nuppu „Lähtesta”. See teeb ka teateakna, mis palub teil alustada uut mängu või uut mängu.
  3. All paremal: nupp '->' liigub paremale ja kuvab kõigi mängude ekraani (#2) ülevaate.

Vastete loendi tsentreerimine ekraanil:

Tahtsin näidata ekraanile koondatud vastete loendit, mille keskel on jagur „-”. Kuna meeskonna võidetud mängude arv võib olla 1 või enam numbrit ja iga meeskonna tegelik nimi võib olla erineva suurusega, ei saa me seda lihtsalt ühte nimekirja panna. See kõik näeks välja umbes selline:

Meeskond 1 0 - 1 Meeskond 2

Foo 1 - 42 FooBar

Nii et jaoturi „-” silt tuleb tsentreerida. „Meeskonna 1 nimi” ja „Meeskonna 1 skoor” paremale joondatud jaoturi „-” vasakule. Ja "Meeskonna 2 skoor" ja "Meeskonna 2 nimi" vasakule joondatud "-" jagaja paremale. Nii et lõpetame nii:

"Meeskond 1 0" "-" "1 meeskond 2" "Foo 1" "-" "42 FooBar"

Ja kuna ma ei tea, kui kaua meie mängude nimekiri kestab, panen kõik tiimi 1 nimi ja meeskonna 1 skoori samasse HTML -vormingu sildisse ja pärast iga mängu sisestan a ja panen järgmise uuele reale.

Valmistage asjad sortimiseks ette:

Nagu andmeedastuse (andmebaasi) kujundamise etapis mainitud, saan salvestada ainult ühe väärtuse. Nii salvestasin „meeskonna 1 nime”, „meeskonna 1 skoori”, „meeskonna 2 skoori” ja „meeskonna 2 nime” väärtused, mis olid eraldatud mittevisuaalse kontrollmärgiga „\ t”. Nüüd pean nad kõigepealt andmebaasist välja võtma (nagu on näidatud pildil #3).

Koodilõik näitab, et kõigepealt kontrollime, kas silumislipp on määratud (seda tehakse selle rakenduse igal ekraanil. Järgmisena loob see loendi võtmetest (väärtustest), mida peame andmebaasi läbides ignoreerima. Meid huvitavad ainult vastendamisandmed, mitte midagi muud. Seejärel loeme andmebaasi, ignoreerides kõiki ignoreerimisloendi võtmeid, ja loome uue kahe väärtusega loendi:

  1. PrimaryKey (pidage meeles, et see on number, mis näitab mängu numbrit, alustades mänguga 1)
  2. String, mis sisaldab väärtusi „meeskonna 1 nimi”, „meeskonna 1 skoor”, „meeskonna 2 skoor” ja „meeskonna 2 nimi”

Seejärel läbime loendi ja loome uue loendite loendi, kus üksikud väljad on jagatud üksikuteks üksusteks (nagu on näidatud pildil #4):

DataToSort -> Loendiindeks 1 -> Loendiindeks 1 (PK number)

-> Loendiindeks 2 (Meeskonna nimi 1) -> Loendiindeks 3 (Meeskonna skoor 1) -> Loendiindeks 4 (Meeskonna skoor 2) -> Loendiindeks 5 (Meeskonna nimi 2) -> Loendiindeks 2 -> Loendiindeks 1 (PK number) -> Loendiindeks 2 (meeskonna nimi 1) ->… ->…

Pärast seda näitame silumisandmeid, kui silumislipp on tõene. Ja nüüd saame lõpuks oma nimekirja (nimekirjad) sorteerida.

BubbleSort* nimekirjade loend:

Pilt #5 näitab täielikku loendit BubbleSort* meie loendite loendisse. Seda algoritmi saab muidugi kasutada mis tahes suurusega loendite loendis, olenemata sellest, kui palju indekseid on.

* Lisateave selle kohta, kui lihtne on BubbleSorti algoritm YouTube'is.

Samm: ekraan 3 (seaded)

Ekraan 3 (seaded)
Ekraan 3 (seaded)

See ekraan näeb välja väga hõivatud ja sellel on palju visuaalseid kujunduselemente. Kuid lõpuks on ainult 5 lülitit:

  1. 'Fred Scoring': kui see on sisse lülitatud, muudab see hindamiskäitumist ja otsustab võitja 2 -punktilise erinevuse põhjal 13 -s, mitte ainult esimesena 13 -ni jõudnud.
  2. „Bluetoothi sidumine”: (kui see on lubatud), kui see on sisse lülitatud, võimaldab sidumine selle rakendusega välise Petanque -kuvariga.
  3. 'Lähtesta matšid': kui see on sisse lülitatud, lähtestab/kustutab kõik vasted ja alustab mänguga 1.
  4. "Lähtesta DB": kui see on sisse lülitatud, kustutab/lähtestab kõik vasted ja kõik muud rakenduse seaded algseadetele, sealhulgas praeguse tulemuse, vasted, meeskonnanimed, silumissätted, sortimisjärjestus, Bluetoothi seaded (kui see on lubatud) jne.
  5. „Silumine”: kui see on sisse lülitatud, kuvatakse silumisandmed kogu rakenduses nurksulgude vahel . Sellised asjad nagu „Rekordite koguarv, Muutujate koguarv, Praeguse vaste number, Mängu PK number jne.

Lõpuks on allosas navigeerimismenüü. See asub alati ekraani absoluutses allosas, olenemata ekraani suurusest. Isegi kui kasutatakse Androidi jagatud ekraani funktsioone või kui ekraan on ekraanil kuvatavate üksuste arvu tõttu lihtsalt kõrgem kui ekraan suudab kuvada. Sel juhul saate alati kerida, pühkides üles ja alla. Selles alumises navigeerimismenüüs on vaid 1 nupp:

All vasakul: nupp „<-” läheb vasakule ja kuvab esialgse kuva kõigi mängude ülevaate (#2)

6. toiming: ekraan 0 (umbes)

Ekraan 0 (umbes)
Ekraan 0 (umbes)

Viimane ekraan. Lihtsalt info, ei midagi enamat.

Seda ekraani näidatakse selle rakenduse esmakordsel käivitamisel. Pärast seda ei kuvata seda enam kunagi, kui te ei soovi seda teha, vajutades nuppu?? nuppu põhiekraanil #1.

Alumisel navigeerimismenüül on ainult 1 nupp ja see viib teid tagasi põhiekraanile nr 1.

Samm 7: Tarkvara ja/või lähtekood

Tarkvara ja/või lähtekood
Tarkvara ja/või lähtekood

Lõpuks ometi.

Rakenduse saate alla laadida sellest Google Drive'i asukohast.

Koodi saate alla laadida Menta App Inventori galerii kirjest Pentaque jaoks (pilt #1). See võimaldab teil projekti salvestada oma MIT App Inventori kontole (saate selle ümber nimetada mis tahes sooviks). Sealt näete kogu koodi plokkide redigeerijas, disaineri redaktori ekraane ning kõiki selle projekti jaoks kasutatud meediume ja ressursse.

Sellest Google Drive'i asukohast saate alla laadida ka lähtekoodi (.aia -faili, mis on tegelikult.zip -fail).

Soovitan: