Talaan ng mga Nilalaman:

Petanque / Jeu-de-Boules Pagpapanatili ng Aplikasyon: 7 Mga Hakbang
Petanque / Jeu-de-Boules Pagpapanatili ng Aplikasyon: 7 Mga Hakbang

Video: Petanque / Jeu-de-Boules Pagpapanatili ng Aplikasyon: 7 Mga Hakbang

Video: Petanque / Jeu-de-Boules Pagpapanatili ng Aplikasyon: 7 Mga Hakbang
Video: Comment jouer à la pétanque ? Découvrez les règles du jeu ! 2024, Nobyembre
Anonim
Petanque / Jeu-de-Boules Pagpapanatili ng Aplikasyon ng Kalidad
Petanque / Jeu-de-Boules Pagpapanatili ng Aplikasyon ng Kalidad
Ang Petanque / Jeu-de-Boules Pagpapanatili ng Aplikasyon ng Pagpapanatili ng Kalidad
Ang Petanque / Jeu-de-Boules Pagpapanatili ng Aplikasyon ng Pagpapanatili ng Kalidad
Ang Petanque / Jeu-de-Boules Pagpapanatili ng Aplikasyon ng Pagpapanatili ng Kalidad
Ang Petanque / Jeu-de-Boules Pagpapanatili ng Aplikasyon ng Pagpapanatili ng Kalidad

Ito ay isang Petanque puntos na pinapanatili ang application (minsan ay tinukoy bilang Jeu de Boules) para sa Android. Ang application na ito ay maaaring magamit lamang bilang-ay at ganap na gumagana. O maaari itong magamit sa pagsasama sa display ng Petanque Matrix [magkakahiwalay na mga instruksyon]. Madali ang bahaging ito ng proyekto dahil walang kinakailangang hardware, libreng magagamit na software lamang.

Mga gamit

  1. Isang teleponong katugma sa Android (mas mabuti)
  2. Ang isang aparato na may pag-access sa internet browser, mas mabuti ang isang computer na may mouse para sa coding at disenyo ng trabaho
  3. Isang account na may MIT App Inventor (Libre)
  4. Isang simpleng pakete sa pagguhit hal. Pixlr o Gimp (lahat Libre)
  5. Isang website ng mapagkukunan ng icon hal. Mga icon ng Materyal UI o Material.io (lahat Libre)

Software at Sourcecode:

Maaari kang makahanap ng isang link sa application na Aktwal na Petanque sa ilalim ng pahinang ito. Maaari ka ring makahanap ng isang link sa buong sourcecode (paumanhin para sa mga ito, ngunit hindi ako pinapayagan ng mga Instructable na mag-upload ng isang.aia file…).

Hakbang 1: Anatomy at Pag-navigate ng App

Anatomy at Pag-navigate ng App
Anatomy at Pag-navigate ng App

Ang disenyo at pag-navigate ng app ay medyo simple. Mayroong 4 na mga screen sa kabuuan:

  1. Pangunahing screen # 1 (kung saan ginugugol namin ang karamihan ng aming oras na pinapanatili ang iskor)
  2. Mga katugma na screen # 2 (kung saan nakakakita kami ng isang listahan ng lahat ng mga nilalaro na tugma at marka)
  3. Mga setting ng setting # 3 (mga setting para sa app, mga gawain sa pang-administratibo, pag-debug atbp.)
  4. Tungkol sa screen # 0 (ang tungkol sa, logo at kung saan kukunin ang mga tagubilin sa pagbuo ng ibig sabihin SA webpage na ITO)

Ang layout ng mga screen at ang pagpoposisyon ng mga pindutan ay na-optimize para sa paggamit ng 1 kamay at 1 daliri (hinlalaki). Dadalhin ka ng mga pindutan sa ilalim ng menu ng nabigasyon sa mga screen sa kanan o kaliwa ng kasalukuyang screen. Kaya't dalhin ka ng pindutan 0 sa Tungkol sa screen # 0. At ibabalik ka ng button # 1 sa Main screen # 1 atbp, usw.

Malinaw? Kaysa sa magpatuloy…

Hakbang 2: Ang Disenyo ng Data (base)

Ang Disenyo ng Data (base)
Ang Disenyo ng Data (base)
Ang Disenyo ng Data (base)
Ang Disenyo ng Data (base)

Ngayon, bago namin likhain ang unang screen kailangan namin ng ilang lugar upang maiimbak ang lahat ng data na gagamitin ng app na ito. Para dito gagamitin namin ang pinakasimpleng form na inaalok ng MIT App Inventor: TinyDB. Ito ay sa halip limitado dahil maaari lamang itong mag-imbak ng isang pares ng Key / Halaga, ngunit sa kaunting tulong at ilang mga trick maaari naming gawin ito gawin ang lahat ng mga bagay na gusto namin.

Mayroong 2 uri ng mga halagang maiimbak namin:

  • Mag-iimbak kami ng 10 simpleng mga halaga ng susi / halaga ng buong app (tulad ng ipinakita sa pag-andar na 'LumikhaIgnoreList' sa itaas).
  • At isang mas kumplikadong key / halaga sa pag-iimbak ng lahat ng nakumpletong data ng mga laro sa isang string na may key / halaga na 'CurrentMatch' na kumikilos bilang Pangunahing Key * (tulad ng ipinakita sa pag-andar na 'SaveScore' sa itaas). Ang mga patlang na ito sa loob ng isang pares ng susi / halaga ay pinaghihiwalay ng isang hindi visual na kontrol na character na '\ t'. Ang character na ito sa pagkontrol ay magbibigay-daan sa amin sa screen ng Mga Tugma # 2 upang makuha ang lahat ng mga halaga sa magkakahiwalay na mga bahagi at ipakita at pag-uri-uriin ang mga ito. Ngunit higit pa tungkol sa seksyon na Screen 2 (mga tugma).

* Higit pang impormasyon tungkol sa kung paano Lumikha ng isang PrimaryKey para sa TinyDb sa AppInventor sa YouTube.

Hakbang 3: Screen 1 (Pangunahing)

Screen 1 (Pangunahing)
Screen 1 (Pangunahing)
Screen 1 (Pangunahing)
Screen 1 (Pangunahing)
Screen 1 (Pangunahing)
Screen 1 (Pangunahing)

Ito ang aming 'workhorse' screen kung saan gugugolin namin ang karamihan sa oras bilang isang gumagamit ng app. Ito rin ang panimulang punto para sa aming MIT App Inventor app.

Tulad ng nakikita mo mula sa (larawan # 1) sa itaas bagaman ang screen sa simpleng pag-set up, mayroong ilang mga nakatagong pagkakakonekta, error sa paghawak, pag-scroll, split-screen, lumulutang menu, swipe ng paggalaw, pagbantay laban sa mga pagkakamali, maling input at kahit na pagbawi mula sa mga pag-crash Para sa lahat ng mga tampok na ito mangyaring tingnan ang detalyadong source code para sa bawat screen. Kaya ano ang maaari mong gawin dito:

  • Pindutin ang 'Team 1' at makakakuha ka ng isang Notification na magbibigay-daan sa iyo upang baguhin ang pangalan ng 'Team 1'. Kapag nabago, babaguhin nito ang 'Koponan 1' sa pangalang pinili mo. Ito rin ang pangalan na gagamitin upang ipakita ang iyong 'laro' at 'tugma' na iskor (sa mga susunod na screen).
  • Ang pagbabago ng 'marka ng Team 1' at 'iskor ng Team 2' batay sa mga pindutang '+' at '-' na pinindot sa ilalim ng bawat koponan. Kung ang iskor ay 0 at '-' ay pinindot ang isang naririnig at visual na signal ay ibinigay ngunit ang iskor ay mananatiling 0 (syempre).
  • Kung ang isang 'marka' ay umabot sa 13 ng ilang mga bagay na nangyayari: isang visual signal ang ibinigay, ipinapakita ng isang window ng abiso ang mga resulta (larawan # 2) at bibigyan ka ng pagpipilian upang magsimula sa isang bagong laro o isang bagong tugma (at syempre bago. laro). Kung gayunpaman napili mo hindi ang klasikong pagmamarka ng Petanque ngunit ang 2-point na pagmamarka ng pagkakaiba (na maaaring mapili sa setting ng setting # 3) kaysa depende sa pagkakaiba sa pagitan ng dalawang koponan ang isa ay ideklarang nagwagi (tulad ng ipinakita sa larawan # 3).
  • Ang 'iskor' sa kasalukuyang 'tugma' ay ipinapakita sa gitna ng screen sa pagitan ng mga marka ng 'Team 1' at 'Team 2'. At ito ay magpapatuloy sa pag-tabulate hanggang sa magsimula ang isang bagong 'tugma'.
  • Upang mag-navigate sa iba pang mga screen maaari mo ring 'swipe Left' upang ipakita ang Tungkol sa screen # 0 o 'mag-swipe pakanan' upang ipakita ang screen ng Mga Tugma # 2.

Panghuli sa ibaba ay ang menubar ng nabigasyon. Ito ay palaging nakaposisyon sa ganap na ilalim ng screen, anuman ang laki ng screen. Kahit na ang pag-andar ng Android 'Split screen' ay ginamit. Ang menu sa nabigasyon sa ibaba ay may 3 mga pindutan:

  1. Kaliwang ibabang: ang '?' ang button ay pupunta sa kaliwa at ipapakita muli ang paunang pagsisimula tungkol sa screen (# 0).
  2. Bottom-center: ang pindutan ng pag-reset (na parang isang '@' na may isang arrow) ay magbibigay-daan sa iyo upang magsimula ng isang bagong laro o isang bagong tugma sa 'anumang oras' sa laro pindutin lamang ang ibabang gitna ng pindutang 'I-reset'. Magagawa din nito kung sino ang isang window ng abiso na hihilingin sa iyo na magsimula ng isang bagong laro o isang bagong tugma.
  3. Ibabang kanan: Ang pindutang '->' ay pupunta sa kanan at ipapakita ang pangkalahatang ideya ng lahat ng screen ng Mga Tugma (# 2).

Hakbang 4: Screen 2 (Mga Tugma)

Screen 2 (Mga Tugma)
Screen 2 (Mga Tugma)
Screen 2 (Mga Tugma)
Screen 2 (Mga Tugma)
Screen 2 (Mga Tugma)
Screen 2 (Mga Tugma)

Bagaman napakasimple sa visual makeup, ang screen na ito ay may mas kawili-wiling code sa loob nito kaysa sa iba pang mga screen. Ngunit bago tayo pumasok na makita natin kung ano ang ginagawa niya sa screen:

Sa ilalim ng mga label na 'Team 1' at 'Team 2' ay isang listahan ng lahat ng mga Pagtutugma at kani-kanilang kabuuang mga marka. Ito ay isang pinagsunod-sunod na listahan na may 'huling nilaro na tugma' sa itaas at ang 'pinakalumang tugma na nilaro' sa ibaba.

Sa gitna, sa pagitan ng 'Team 1' at 'Team 2', ay isang pindutan na maaaring magamit upang pag-uri-uriin ang listahan ng Mga Tugma sa alinman sa Pagkataas o Pagkakasunud-sunod na pagkakasunud-sunod. Magbabago ang icon depende sa direksyon ng pag-uuri na napili.

Upang mag-navigate sa iba pang mga screen maaari mo ring 'swipe Left' upang ipakita ang Pangunahing screen # 1 o 'mag-swipe pakanan' upang ipakita ang screen ng Mga Setting # 3.

Panghuli sa ibaba ay ang menubar ng nabigasyon. Ito ay palaging nakaposisyon sa ganap na ilalim ng screen, anuman ang laki ng screen. Kahit na ang pag-andar ng Android 'Split screen' ay ginagamit (tulad ng ipinakita sa Larawan # 2). Ang menu sa nabigasyon sa ibaba ay may 3 mga pindutan:

  1. Kaliwang ibabang: ang '?' ang button ay pupunta sa kaliwa at ipapakita muli ang paunang pagsisimula tungkol sa screen (# 0).
  2. Bottom-center: ang pindutan ng pag-reset (na parang isang '@' na may isang arrow) ay magbibigay-daan sa iyo upang magsimula ng isang bagong laro o isang bagong tugma sa 'anumang oras' sa laro pindutin lamang ang ibabang gitna ng pindutang 'I-reset'. Makikita rin nito kung sino ang isang window ng abiso na hihilingin sa iyo na magsimula ng isang bagong laro o isang bagong tugma.
  3. Ibabang kanan: Ang pindutang '->' ay pupunta sa kanan at ipapakita ang pangkalahatang ideya ng lahat ng screen ng Mga Tugma (# 2).

Nakasentro sa listahan ng mga Tugma sa screen:

Nais kong ipakita ang listahan ng Mga Pagtutugma na nakasentro sa screen na may divider na '-' bilang sentro. Ngayon, dahil ang bilang ng mga laro na napanalunan ng isang koponan ay maaaring 1 o higit pang mga digit at ang aktwal na pangalan ng bawat koponan ay maaaring magkakaiba sa laki hindi namin mailalagay ito sa 1 listahan. Magiging ganito ang hitsura ng lahat:

Koponan 1 0 - 1 Koponan 2

Foo 1 - 42 FooBar

Kaya't ang label para sa divider na '-' ay kailangang nakasentro. Sa kanang pangalan ng 'Team 1' at 'marka ng Team 1' na nakahanay sa kaliwa ng '-' divider. At ang marka ng 'Team 2' at 'Pangalan ng Team 2' na naiwang nakahanay sa kanan ng '-' divider. Kaya't nagtapos tayo nang ganito:

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

At dahil hindi ko alam kung gaano katagal ang aming listahan ng Mga Tugma na inilagay ko ang lahat ng 'Pangalan ng Team 1' at 'marka ng Team 1' sa parehong HTMLFormat Label at pagkatapos ng bawat Pagtutugma ay ipinasok ko ang isang at ilagay ang susunod sa isang NewLine.

Maghanda ng mga bagay para sa pag-uuri:

Tulad ng nabanggit sa hakbang ng Disenyo ng Data (base) Maaari lamang akong mag-imbak ng isang solong halaga. Kaya't inimbak ko ang mga halagang 'Pangalan ng Team 1', 'marka ng Team 1', 'marka ng Team 2' at 'Pangalan ng Team 2' na pinaghiwalay ng isang character na hindi visual na kontrol na '\ t'. Ngayon kailangan ko munang alisin ang mga ito sa database (tulad ng ipinakita sa Larawan # 3).

Ipinapakita ng snippet ng code na una naming sinuri kung ang Debug-flag ay nakatakda (ginagawa ito sa bawat screen ng application na ito. Susunod na lumilikha ito ng isang listahan ng mga Key (s / Mga pares ng Halaga) na kailangan naming balewalain kapag dumadaan sa database. Interesado lamang kami sa data ng 'Tugma', wala nang iba pa. Pagkatapos ay nag-loop kami sa database, hindi pinapansin ang lahat ng mga Susi sa Ignorelist at lumikha ng isang bagong listahan na may 2 halaga:

  1. Ang PrimaryKey (tandaan ito ay isang Numero na nagpapahiwatig ng numero ng Pagtutugma, nagsisimula sa Tugma # 1)
  2. Isang string na naglalaman ng mga halaga para sa 'pangalan ng Team 1', 'marka ng Team 1', 'marka ng Team 2' at 'pangalan ng Team 2'

Pagkatapos ay pupunta kami sa Listahan at lumikha ng isang bagong Listahan ng Mga Listahan kung saan ang mga indibidwal na larangan ay nahahati sa mga indibidwal na item (tulad ng ipinakita sa Larawan # 4):

DataToSort -> List index 1 -> List index 1 (PK number)

-> Listahan ng index 2 (Pangalan ng koponan 1) -> Listahan ng listahan 3 (Marka ng koponan 1) -> Listahan ng indeks 4 (Marka ng koponan 2) -> Listahan ng index 5 (Pangalan ng koponan 2) -> Listahan ng index 2 -> Listahan ng listahan 1 (PK number) -> List index 2 (Team name 1) ->… ->…

Pagkatapos nito ay magpapakita kami ng ilang impormasyon sa pag-debug kung ang flag ng Debug ay Totoo. At ngayon maaari na nating pag-ayusin ang aming Listahan (ng Mga Listahan).

BubbleSort * isang Listahan ng Mga Listahan:

Ipinapakita ng Larawan # 5 ang kumpletong listahan sa BubbleSort * aming Listahan ng Mga Listahan. Ang algorithm na ito ay maaaring siyempre magamit para sa anumang laki ng Listahan ng mga Listahan gaano man karaming Index ang naroroon.

* Higit pang impormasyon tungkol sa kung gaano kasimple ang algorithm ng BubbleSort sa YouTube.

Hakbang 5: Screen 3 (Mga Setting)

Screen 3 (Mga setting)
Screen 3 (Mga setting)

Ang screen na ito ay mukhang napaka abala at mayroong maraming mga elemento ng visual na disenyo. Ngunit sa huli mayroon lamang 5 mga Toggle switch:

  1. 'Fred Scoring': Kung binago ang 'On' binabago nito ang pag-uugali sa pagmamarka at nagpapasya sa nagwagi batay sa 2 puntos na pagkakaiba sa 13 at hindi lamang ang una na umabot sa 13.
  2. 'Bluetooth Pairing': (kapag pinagana) kung nakabukas ang 'On' ay nagbibigay-daan sa pagpapares sa ng application na ito sa panlabas na Petanque Display.
  3. 'I-reset ang Mga Tugma': Kung lumipat na 'Bukas' ay Ire-reset / tatanggalin ang lahat ng mga tugma at magsisimula sa Tugma 1.
  4. 'I-reset ang DB': Kung lumipat ng 'On' tatanggalin / Ire-reset ang lahat ng mga Pagtutugma at lahat ng iba pang mga setting ng application pabalik sa orihinal na mga setting kasama ang kasalukuyang marka, mga tugma, mga pangalan ng koponan, mga setting ng pag-debug, pag-uuri-uri, mga setting ng lnhone (kapag pinagana) atbp.
  5. 'Debug': Kung binago ang 'Naka-on' ipapakita nito ang impormasyon ng Debug sa buong app sa pagitan ng mga square bracket ''. Mga bagay tulad ng 'Kabuuang bilang ng mga talaan, Kabuuang bilang ng mga variable, Kasalukuyang numero ng tugma, numero ng Game PK, atbp.

Panghuli sa ibaba ay ang menubar ng nabigasyon. Ito ay palaging nakaposisyon sa ganap na ilalim ng screen, anuman ang laki ng screen. Kahit na ang pag-andar ng Android 'Split screen' ay ginamit o ang screen ay mas mataas lamang kaysa sa maipakita ang screen dahil sa bilang ng mga item sa screen. Kung saan ito ang kaso maaari mong palaging mag-scroll sa pamamagitan ng pag-swipe ng Up at Down. Ang menu ng nabigasyon sa ibaba ay may 1 button lamang:

Sa kaliwa sa ibaba: ang pindutang '<-' ay makikita sa kaliwa at ipapakita ang paunang pagpapakita ng pangkalahatang ideya ng lahat ng screen ng Mga Tugma (# 2)

Hakbang 6: Screen 0 (Tungkol sa)

Screen 0 (Tungkol sa)
Screen 0 (Tungkol sa)

Ang pangwakas na screen. Impormasyon lang, wala nang iba.

Ang screen na ito ay ipinapakita sa kauna-unahang pagkakataon na nagsimula ang application na ito. Pagkatapos nito ay hindi na ito ipapakita muli, maliban kung pinili mong gawin ito sa pamamagitan ng pagpindot sa '?' pindutan sa Pangunahing screen # 1.

Ang menubar sa nabigasyon sa ibaba ay may 1 pindutan lamang at ibabalik ka nito sa Pangunahing screen # 1.

Hakbang 7: Software At / o Source Code

Software At / o Source Code
Software At / o Source Code

Sa wakas

Maaari mong i-download ang Application mula sa lokasyon ng Google Drive na ito.

Maaari mong i-download ang code mula sa entry ng MIT App Inventor Gallery para sa Pentaque (larawan # 1). Papayagan ka nitong i-save ang proyekto sa iyong sariling MIT App Inventor account (maaari mo itong palitan ng pangalan sa anumang nais mo). Mula doon maaari mong makita ang lahat ng code sa editor ng Mga Bloke, ang mga screen sa editor ng Disenyo at lahat ng media at mga mapagkukunan na ginamit para sa proyektong ito.

Maaari mo ring i-download ang source code (isang.aia file, na talagang isang.zip file) mula sa lokasyon ng Google Drive na ito.

Inirerekumendang: