Cuprins:

Cerere de păstrare a scorului Petanque / Jeu-de-Boules: 7 pași
Cerere de păstrare a scorului Petanque / Jeu-de-Boules: 7 pași

Video: Cerere de păstrare a scorului Petanque / Jeu-de-Boules: 7 pași

Video: Cerere de păstrare a scorului Petanque / Jeu-de-Boules: 7 pași
Video: ✨A Will Eternal EP 01 - 106 Full Version [MULTI SUB] 2024, Iulie
Anonim
Cerere de păstrare a scorului Petanque / Jeu-de-Boules
Cerere de păstrare a scorului Petanque / Jeu-de-Boules
Cerere de păstrare a scorului Petanque / Jeu-de-Boules
Cerere de păstrare a scorului Petanque / Jeu-de-Boules
Cerere de păstrare a scorului Petanque / Jeu-de-Boules
Cerere de păstrare a scorului Petanque / Jeu-de-Boules

Aceasta este o aplicație de păstrare a scorului Petanque (denumită uneori Jeu de Boules) pentru Android. Această aplicație poate fi utilizată așa cum este și este pe deplin funcțională. Sau poate fi utilizat în combinație cu afișajul Petanque Matrix [instructabile separate]. Această parte a proiectului este ușoară, deoarece nu este nevoie de hardware, ci doar software gratuit disponibil.

Provizii

  1. Un telefon compatibil cu Android (de preferință)
  2. Un dispozitiv cu acces la browserul de internet, de preferință un computer cu mouse pentru lucrări de codificare și proiectare
  3. Un cont la MIT App Inventor (gratuit)
  4. Un pachet de desen simplu de ex. Pixlr sau Gimp (toate gratuite)
  5. Un site cu resurse pictograme, de ex. Pictogramele UI Material sau Material.io (toate gratuite)

Software și cod sursă:

Puteți găsi un link către aplicația Actual Petanque din partea de jos a acestei pagini. Aici puteți găsi, de asemenea, un link către codul sursă complet (îmi pare rău pentru asta, dar Instructables nu-mi permite să încărc un fișier.aia …).

Pasul 1: Anatomie și navigare în aplicație

Anatomia și navigarea aplicației
Anatomia și navigarea aplicației

Designul și navigarea aplicației sunt destul de simple. Există 4 ecrane în total:

  1. Ecranul principal # 1 (unde ne petrecem cea mai mare parte a timpului ținând scorul)
  2. Ecranul meciurilor nr. 2 (unde găsim o listă cu toate meciurile și scorurile jucate)
  3. Ecranul de setări nr. 3 (setări pentru aplicație, sarcini administrative, depanare etc.)
  4. Despre ecranul nr. 0 (despre, sigla și unde să obțineți instrucțiunile de construcție, adică ACEASTA pagină web)

Aspectul ecranelor și poziționarea butoanelor au fost optimizate pentru utilizarea cu 1 mână și 1 deget (degetul mare). Butoanele din meniul de navigare inferior vă duce la ecranele din dreapta sau din stânga ecranului curent. Deci butonul 0 vă aduce la ecranul Despre # 0. Și butonul # 1 vă aduce înapoi la ecranul principal # 1 etc., usw.

Clar? Than să continuăm …

Pasul 2: Proiectarea datelor (bază)

Proiectarea datelor (de bază)
Proiectarea datelor (de bază)
Proiectarea datelor (de bază)
Proiectarea datelor (de bază)

Acum, înainte de a crea primul ecran, avem nevoie de un loc pentru a stoca toate datele pe care le va folosi această aplicație. Pentru aceasta vom folosi cea mai simplă formă pe care MIT App Inventor o poate oferi: TinyDB. Acest lucru este destul de limitat, deoarece poate stoca doar o pereche cheie / valoare, dar cu un pic de ajutor și câteva trucuri putem face acest lucru să facă toate lucrurile pe care le dorim.

Există 2 tipuri de valori pe care le vom stoca:

  • Vom stoca 10 valori cheie / valoare simple la nivelul aplicației (așa cum se arată în funcția „CreateIgnoreList” de mai sus).
  • Și o cheie / valoare mai complexă care stochează toate datele jocurilor finalizate într-un singur șir cu cheia / valoarea „CurrentMatch” acționând ca cheia primară * (așa cum se arată în funcția „SaveScore” de mai sus). Aceste câmpuri din această pereche cheie / valoare sunt separate printr-un caracter de control non-vizual „\ t”. Acest caracter de control ne va permite în ecranul Matches # 2 să recuperăm toate valorile în componentele sale separate și să le afișăm și să le sortăm. Dar mai multe despre asta în secțiunea Ecranul 2 (meciuri).

* Mai multe informații despre cum să creați un PrimaryKey pentru TinyDb în AppInventor pe YouTube.

Pasul 3: Ecranul 1 (Principal)

Ecranul 1 (Principal)
Ecranul 1 (Principal)
Ecranul 1 (Principal)
Ecranul 1 (Principal)
Ecranul 1 (Principal)
Ecranul 1 (Principal)

Acesta este ecranul nostru „workhorse”, unde vom petrece cea mai mare parte a timpului ca utilizator al aplicației. Este, de asemenea, punctul de plecare pentru aplicația noastră MIT App Inventor.

După cum puteți vedea din (imaginea nr. 1) de mai sus, deși ecranul este simplu în configurare, există o anumită interactivitate ascunsă, gestionarea erorilor, derulare, ecran divizat, meniu plutitor, gesturi glisante, protecție împotriva greșelilor, intrări eronate și chiar recuperare din accidente. Pentru toate aceste caracteristici vă rugăm să consultați codul sursă detaliat pentru fiecare ecran. Deci, ce poți face aici:

  • Apăsați „Echipa 1” și veți primi o Notificare care vă va permite să schimbați numele „Echipa 1”. Odată modificat, acest lucru va schimba această „Echipă 1” pentru numele pe care l-ați ales. Acesta este, de asemenea, numele care va fi folosit pentru a reflecta scorul „joc” și „meci” (în ecranele următoare).
  • „Scorul echipei 1” și „scorul echipei 2” se modifică pe baza butoanelor „+” și „-” apăsate în partea de jos a fiecărei echipe respective. Dacă scorul este 0 și „-” este apăsat un semnal sonor și vizual este furnizat, dar scorul rămâne 0 (desigur).
  • Dacă un „scor” ajunge la 13, se întâmplă câteva lucruri: este furnizat un semnal vizual, o fereastră de notificare arată rezultatele (imaginea nr. 2) și vă oferă opțiunea de a începe fie un joc nou, fie un nou meci (și, bineînțeles, un nou joc). Dacă totuși ați selectat nu clasicul scor de petanque, ci diferența de 2 puncte (care poate fi selectată în ecranul de setări # 3) decât în funcție de diferența dintre două echipe, una va fi declarată câștigătoare (așa cum se arată în imaginea nr. 3)).
  • „Scorul” din „meciul” curent este afișat în centrul ecranului între scorurile „Echipa 1” și „Echipa 2”. Și acest lucru va continua în tabelare până când va începe un nou „meci”.
  • Pentru a naviga către alte ecrane, puteți „glisa la stânga” pentru a afișa ecranul Despre # 0 sau „glisa la dreapta” pentru a afișa ecranul Matches # 2.

În cele din urmă, în partea de jos este meniul de navigare. Aceasta este întotdeauna poziționată în partea de jos absolută a ecranului, indiferent de dimensiunea ecranului. Chiar dacă se folosește funcționalitatea „Ecran divizat” pentru Android. Meniul de navigare inferior are 3 butoane:

  1. În partea stângă jos: „?” butonul va merge la stânga și va afișa din nou ecranul de pornire inițial Despre (# 0).
  2. Centrul de jos: butonul de resetare (care arată ca un „@” cu o săgeată) vă va permite să începeți un joc nou sau un nou meci la „oricând” în joc, doar apăsați butonul „Reset” din mijlocul de jos. De asemenea, se va afișa o fereastră de notificare care vă va cere să începeți un joc nou sau un nou meci.
  3. În partea dreaptă jos: butonul „->” va merge la dreapta și va afișa prezentarea generală a tuturor ecranelor Matches (# 2).

Pasul 4: Ecranul 2 (meciuri)

Ecranul 2 (meciuri)
Ecranul 2 (meciuri)
Ecranul 2 (Meciuri)
Ecranul 2 (Meciuri)
Ecranul 2 (Meciuri)
Ecranul 2 (Meciuri)

Deși este foarte simplu în ceea ce privește machiajul vizual, acest ecran are în el codul mai interesant decât celelalte ecrane. Dar, înainte de a intra, vom vedea ce face ecranul:

Sub etichetele „Echipa 1” și „Echipa 2” este o listă a tuturor meciurilor și a scorurilor lor respective. Aceasta este o listă sortată cu „ultimul meci jucat” în partea de sus și „cel mai vechi meci jucat” în partea de jos.

În mijloc, între „Echipa 1” și „Echipa 2”, este un buton care poate fi folosit pentru a sorta lista Meciurilor fie în ordine crescătoare, fie descrescătoare. Pictograma se va schimba în funcție de direcția de sortare aleasă.

Pentru a naviga către alte ecrane, puteți, de asemenea, „glisați spre stânga” pentru a afișa ecranul principal nr. 1 sau „glisați spre dreapta” pentru a afișa ecranul de setări nr. 3.

În cele din urmă, în partea de jos este bara de meniu de navigare. Aceasta este întotdeauna poziționată în partea de jos absolută a ecranului, indiferent de dimensiunea ecranului. Chiar dacă este utilizată funcția Android „Ecran divizat” (așa cum se arată în imaginea nr. 2). Meniul de navigare inferior are 3 butoane:

  1. În partea stângă jos: „?” butonul va merge la stânga și va afișa din nou ecranul de pornire inițial Despre (# 0).
  2. În partea de jos a centrului: butonul de resetare (care arată ca un „@” cu o săgeată) vă va permite să începeți un joc nou sau un nou meci „oricând” în joc, doar apăsați butonul „Reset” din mijlocul de jos. De asemenea, va apărea o fereastră de notificare care vă va cere să începeți un joc nou sau un nou meci.
  3. În partea dreaptă jos: butonul „->” va merge la dreapta și va afișa prezentarea generală a tuturor ecranelor Matches (# 2).

Centrarea listei de meciuri de pe ecran:

Am vrut să arăt lista meciurilor centrată pe ecran cu divizorul „-” ca centru. Acum, deoarece numărul de jocuri câștigate de o echipă poate fi de 1 sau mai multe cifre, iar numele real al fiecărei echipe poate fi diferit ca dimensiune, nu putem doar să plasăm acest lucru în 1 listă. Totul ar arăta cam așa:

Echipa 1 0 - 1 Echipa 2

Foo 1 - 42 FooBar

Deci, eticheta pentru divizorul „-” trebuie centrată. Cu „Numele echipei 1” și „Scorul echipei 1” aliniate dreapta la stânga divizorului „-”. Și „Scorul echipei 2” și „Numele echipei 2” aliniate la stânga la dreapta divizorului „-”. Deci ajungem astfel:

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

Și din moment ce nu știu cât va dura lista noastră de meciuri, am pus toate „numele echipei 1” și „scorul echipei 1” în aceeași etichetă HTMLFormat și după fiecare meci inserez o și o pun pe următoarea pe o nouă linie.

Pregătiți lucrurile pentru sortare:

După cum sa menționat în pasul de proiectare a datelor (bază), pot stoca doar o singură valoare. Așa că am stocat valorile „Numele echipei 1”, „Scorul echipei 1”, „Scorul echipei 2” și „Numele echipei 2” separate printr-un caracter de control non-vizual „\ t”. Acum trebuie mai întâi să le scot din baza de date (așa cum se arată în imaginea nr. 3).

Fragmentul de cod arată că verificăm mai întâi dacă este setat semnalizatorul de depanare (acest lucru se face în fiecare ecran al acestei aplicații. Apoi creează o listă de chei (s / perechi de valori) pe care trebuie să le ignorăm atunci când parcurgem baza de date. Ne interesează doar datele „Potrivire”, nimic altceva. Apoi parcurgem baza de date, ignorând toate cheile din lista Ignorel și creăm o nouă listă cu 2 valori:

  1. Tasta primară (amintiți-vă că acesta este un număr care indică numărul meciului, începând cu meciul nr. 1)
  2. Un șir care conține valorile pentru „Numele echipei 1”, „Scorul echipei 1”, „Scorul echipei 2” și „Numele echipei 2”

Apoi trecem prin Listă și creăm o nouă Listă de Liste în care câmpurile individuale sunt împărțite în elemente individuale (așa cum se arată în Imaginea # 4):

DataToSort -> Listă index 1 -> Listă index 1 (număr PK)

-> Listă index 2 (Numele echipei 1) -> Listă index 3 (Echipa scor 1) -> Listă index 4 (Echipa scor 2) -> Listă index 5 (Echipa 2) -> Listă index 2 -> Listă index 1 (Numărul PK) -> Lista indexului 2 (Numele echipei 1) ->… ->…

După aceea, afișăm câteva informații de depanare dacă semnalizatorul de depanare este adevărat. Și acum putem în cele din urmă să ne sortăm lista (listele).

BubbleSort * o listă de liste:

Imaginea # 5 arată lista completă a BubbleSort * Lista noastră de liste. Acest algoritm poate fi, desigur, utilizat pentru orice dimensiune Lista Listelor, indiferent de câte Indexuri sunt prezente.

* Mai multe informații despre cât de simplu este algoritmul BubbleSort pe YouTube.

Pasul 5: Ecranul 3 (Setări)

Ecranul 3 (Setări)
Ecranul 3 (Setări)

Acest ecran pare foarte ocupat și are o mulțime de elemente de design vizual. Dar, în cele din urmă, există doar 5 comutatoare Toggle:

  1. „Fred Scoring”: dacă este activat „On”, acesta modifică comportamentul de scor și decide câștigătorul pe baza unei diferențe de 2 puncte la 13 și nu doar a primului care ajunge la 13.
  2. „Asociere Bluetooth”: (când este activat) dacă este activat „Activat”, permite asocierea cu această aplicație cu afișajul Petanque extern.
  3. „Reset Matches”: Dacă este activat „On”, va reseta / șterge toate meciurile și va începe cu Match 1.
  4. „Reset DB”: dacă este activat „On”, va șterge / reseta toate meciurile și toate celelalte setări ale aplicației înapoi la setările originale, inclusiv scorul curent, meciurile, numele echipelor, setările de depanare, ordinea de sortare, setările luetooth (atunci când sunt activate) etc..
  5. „Depanare”: dacă este activat „Activat”, acesta va afișa informații de depanare în toată aplicația între paranteze pătrate „”. Lucruri precum „Numărul total de înregistrări, Numărul total de variabile, Numărul meciului actual, Numărul PK al jocului etc.

În cele din urmă, în partea de jos este bara de meniu de navigare. Aceasta este întotdeauna poziționată în partea de jos absolută a ecranului, indiferent de dimensiunea ecranului. Chiar dacă funcționalitatea Android „Split screen” este utilizată sau ecranul este doar mai înalt decât poate afișa ecranul datorită numărului de elemente de pe ecran. În acest caz, puteți derula oricând glisând Sus și Jos. Acest meniu de navigare din partea de jos are doar 1 buton:

În partea stângă jos: butonul „<-” va merge la stânga și va afișa afișarea inițială prezentarea generală a ecranului tuturor meciurilor (# 2)

Pasul 6: Ecranul 0 (Despre)

Ecranul 0 (Despre)
Ecranul 0 (Despre)

Ecranul final. Doar informații, nimic mai mult.

Acest ecran este afișat pentru prima dată când este pornită această aplicație. După aceea nu va mai fi afișat niciodată, cu excepția cazului în care ați ales să faceți acest lucru apăsând pe „?” butonul de pe ecranul principal # 1.

Bara de meniu de navigare din partea de jos are doar un buton și acest lucru vă aduce înapoi la ecranul principal nr.

Pasul 7: Software și / sau cod sursă

Software și / sau cod sursă
Software și / sau cod sursă

In cele din urma.

Puteți descărca aplicația din această locație Google Drive.

Puteți descărca codul din intrarea MIT App Inventor Gallery pentru Pentaque (imaginea nr. 1). Acest lucru vă va permite să salvați proiectul în propriul cont MIT App Inventor (îl puteți redenumi în orice doriți). De acolo puteți vedea tot codul din editorul Blocks, ecranele din editorul Designer și toate suporturile și resursele utilizate pentru acest proiect.

De asemenea, puteți descărca codul sursă (un fișier.aia, care este de fapt un fișier.zip) din această locație Google Drive.

Recomandat: