Taula de continguts:

Sol·licitud de manteniment de puntuació de petanca / Jeu-de-Boules: 7 passos
Sol·licitud de manteniment de puntuació de petanca / Jeu-de-Boules: 7 passos

Vídeo: Sol·licitud de manteniment de puntuació de petanca / Jeu-de-Boules: 7 passos

Vídeo: Sol·licitud de manteniment de puntuació de petanca / Jeu-de-Boules: 7 passos
Vídeo: ТОЛЬКО С 1 ЛОЖКОЙ МОЕ ЛИЦО РАСТЯНУЛОСЬ,МОИ ПЯТНА ИСЧЕЗЛИ SÜPER СУПЕР ЭФФЕКТ 2024, Juliol
Anonim
Sol·licitud de manteniment de puntuacions de petanca / Jeu-de-Boules
Sol·licitud de manteniment de puntuacions de petanca / Jeu-de-Boules
Sol·licitud de manteniment de puntuacions de petanca / Jeu-de-Boules
Sol·licitud de manteniment de puntuacions de petanca / Jeu-de-Boules
Sol·licitud de manteniment de puntuacions de petanca / Jeu-de-Boules
Sol·licitud de manteniment de puntuacions de petanca / Jeu-de-Boules

Es tracta d’una aplicació de manteniment de puntuacions de petanca (en algun moment anomenada Jeu de Boules) per a Android. Aquesta aplicació es pot utilitzar tal qual i és totalment funcional. O es pot utilitzar en combinació amb la pantalla Matriu de Petanca [instructius separats]. Aquesta part del projecte és fàcil ja que no es requereix maquinari, només el programari disponible gratuït.

Subministraments

  1. Un telèfon compatible amb Android (preferiblement)
  2. Un dispositiu amb accés al navegador d’Internet, preferiblement un ordinador amb ratolí per a la tasca de codificació i disseny
  3. Un compte amb MIT App Inventor (gratuït)
  4. Un paquet de dibuix senzill, per exemple Pixlr o Gimp (tots gratuïts)
  5. Un lloc web de recursos d’icones, per exemple. Icones de la IU del material o Material.io (totes gratuïtes)

Programari i codi font:

Podeu trobar un enllaç a l'aplicació Actual Petanca a la part inferior d'aquesta pàgina. Aquí també podeu trobar un enllaç al codi font complet (ho sento, però Instructables no em permet carregar un fitxer.aia …).

Pas 1: Anatomia i navegació de l'aplicació

Anatomia i navegació de l'aplicació
Anatomia i navegació de l'aplicació

El disseny i la navegació de l’aplicació són bastant senzills. Hi ha 4 pantalles en total:

  1. Pantalla principal núm. 1 (on passem la major part del temps mantenint puntuacions)
  2. Pantalla de partits núm. 2 (on trobem una llista de tots els partits i resultats puntuats)
  3. Pantalla de configuració núm. 3 (configuració de l'aplicació, tasques administratives, depuració, etc.)
  4. Quant a la pantalla # 0 (about, logotip i on obtenir les instruccions de construcció, és a dir, AQUESTA pàgina web)

El disseny de les pantalles i el posicionament dels botons s’han optimitzat per a l’ús de 1 mà i 1 dit (polze). Els botons del menú de navegació inferior us portaran a les pantalles de la dreta o esquerra de la pantalla actual. Per tant, el botó 0 us portarà a la pantalla d'informació # 0. I el botó # 1 us torna a la pantalla principal # 1, etc., usw.

És clar? Que continuem …

Pas 2: el disseny de dades (base)

El disseny de dades (base)
El disseny de dades (base)
El disseny de dades (base)
El disseny de dades (base)

Ara, abans de crear la primera pantalla, necessitem un lloc per emmagatzemar totes les dades que farà servir aquesta aplicació. Per a això utilitzarem la forma més senzilla que l’Inventor de l’aplicació MIT pot oferir: TinyDB. Això és bastant limitat, ja que només pot emmagatzemar un parell clau / valor, però amb una mica d’ajuda i alguns trucs podem fer que faci totes les coses que desitgem.

Hi ha dos tipus de valors que emmagatzemarem:

  • Emmagatzemarem 10 valors simples de clau / valor en tota l’aplicació (tal com es mostra a la funció ‘CreateIgnoreList’ anterior).
  • I una clau / valor més complex que emmagatzema totes les dades dels jocs completats en una cadena amb la clau / valor "CurrentMatch" que actua com a clau principal * (tal com es mostra a la funció "SaveScore" anterior). Aquests camps dins d'aquest parell clau / valor estan separats per un caràcter de control no visual '\ t'. Aquest caràcter de control ens permetrà a la pantalla de coincidències núm. 2 recuperar tots els valors en els seus components separats i mostrar-los i ordenar-los. Però més informació sobre això a la secció Pantalla 2 (coincidències).

* Més informació sobre com crear un PrimaryKey per a TinyDb a AppInventor a YouTube.

Pas 3: pantalla 1 (principal)

Pantalla 1 (principal)
Pantalla 1 (principal)
Pantalla 1 (principal)
Pantalla 1 (principal)
Pantalla 1 (principal)
Pantalla 1 (principal)

Aquesta és la nostra pantalla "cavall de batalla" on passarem la major part del temps com a usuari de l'aplicació. També és el punt de partida de la nostra aplicació MIT App Inventor.

Com es pot veure a la imatge # 1 anterior, tot i que la pantalla és senzilla en la configuració, hi ha una certa interactivitat oculta, maneig d'errors, desplaçament, pantalla dividida, menú flotant, gestos de lliscament, protecció contra errors, entrades errònies i fins i tot recuperació de xocs. Per a totes aquestes funcions, consulteu el codi font detallat de cada pantalla. Què podeu fer aquí:

  • Premeu "Equip 1" i obtindreu una notificació que us permetrà canviar el nom de "Equip 1". Un cop canviat, aquest "Equip 1" canviarà pel nom que hàgiu triat. Aquest també és el nom que s'utilitzarà per reflectir la vostra puntuació de "joc" i "coincidència" (a les pantalles següents).
  • La "puntuació de l'equip 1" i la "puntuació de l'equip 2" canvien en funció dels botons "+" i "-" premuts a la part inferior de cada equip respectiu. Si la puntuació és 0 i es prem "-" es proporciona un senyal sonor i visual, però la puntuació continua sent 0 (per descomptat).
  • Si una "puntuació" arriba a 13, passen algunes coses: es proporciona un senyal visual, una finestra de notificació mostra els resultats (imatge núm. 2) i us proporciona l'opció d'iniciar un joc nou o un partit nou (i, per descomptat, un nou joc). Tanmateix, si heu seleccionat no la puntuació clàssica de petanca, sinó la diferència de 2 punts (que es pot seleccionar a la pantalla de configuració núm. 3), depenent de la diferència entre dos equips, un serà declarat guanyador (tal com es mostra a la imatge núm. 3).
  • La "puntuació" del "partit" actual es mostra al centre de la pantalla entre les puntuacions de "Equip 1" i "Equip 2". I això continuarà tabulant fins que s'iniciï un nou "partit".
  • Per navegar a altres pantalles també podeu "lliscar cap a l'esquerra" per mostrar la pantalla Quant a # 0 o "lliscar cap a la dreta" per mostrar la pantalla de coincidències núm. 2.

Finalment, a la part inferior, hi ha la barra de menú de navegació. Això sempre es col·loca a la part inferior absoluta de la pantalla, independentment de la mida de la pantalla. Fins i tot si s’utilitza la funcionalitat “pantalla dividida” d’Android. El menú de navegació inferior té 3 botons:

  1. A la part inferior esquerra: el "?" el botó anirà a l'esquerra i mostrarà de nou la pantalla inicial d'informació inicial (# 0).
  2. Centre inferior: el botó de restabliment (que sembla una "@" amb una fletxa) us permetrà iniciar un joc nou o un partit nou en qualsevol moment del joc; només heu de prémer el botó "Restablir" central inferior. També s'obrirà una finestra de notificació que us demanarà que comenceu un joc nou o un partit nou.
  3. A la part inferior dreta: el botó "->" anirà a la dreta i mostrarà la visió general de totes les pantalles de coincidències (núm. 2).

Pas 4: pantalla 2 (coincidències)

Pantalla 2 (partits)
Pantalla 2 (partits)
Pantalla 2 (coincidències)
Pantalla 2 (coincidències)
Pantalla 2 (partits)
Pantalla 2 (partits)

Tot i que és molt senzill en el maquillatge visual, aquesta pantalla té el codi més interessant que les altres pantalles. Però abans d’entrar en això, podem veure què fa la pantalla:

Sota les etiquetes "Equip 1" i "Equip 2" hi ha una llista de tots els partits i les seves respectives puntuacions totals. Aquesta és una llista ordenada amb el "darrer partit jugat" a la part superior i el "partit més antic jugat" a la part inferior.

Al centre, entre "Equip 1" i "Equip 2", hi ha un botó que es pot utilitzar per ordenar la llista de partits en ordre ascendent o descendent. La icona canviarà en funció de la direcció d'ordenació escollida.

Per navegar a altres pantalles també podeu "lliscar cap a l'esquerra" per mostrar la pantalla principal núm. 1 o "lliscar cap a la dreta" per mostrar la pantalla de configuració núm. 3.

Finalment, a la part inferior, hi ha la barra de menú de navegació. Això sempre es col·loca a la part inferior absoluta de la pantalla, independentment de la mida de la pantalla. Fins i tot si s'utilitza la funcionalitat "Pantalla dividida" d'Android (com es mostra a la imatge núm. 2). El menú de navegació inferior té 3 botons:

  1. A la part inferior esquerra: el "?" el botó anirà a l'esquerra i mostrarà de nou la pantalla inicial d'informació inicial (# 0).
  2. Centre inferior: el botó de restabliment (que sembla una "@" amb una fletxa) us permetrà iniciar un joc nou o un partit nou en qualsevol moment del joc; només heu de prémer el botó "Restablir" central inferior. Això també farà que aparegui una finestra de notificació que us demanarà que inicieu un joc nou o un partit nou.
  3. A la part inferior dreta: el botó "->" anirà a la dreta i mostrarà la visió general de totes les pantalles de coincidències (núm. 2).

Centrar la llista de coincidències a la pantalla:

Volia mostrar la llista de partits centrats a la pantalla amb el divisor "-" com a centre. Ara bé, com que el nombre de partides que ha guanyat un equip pot ser d'1 o més dígits i el nom real de cada equip pot variar de mida, no només podem situar-lo en 1 llista. Tot semblaria així:

Equip 1 0 - 1 Equip 2

Foo 1 - 42 FooBar

Per tant, cal centrar l’etiqueta del divisor "-". Amb el "Nom de l'equip 1" i "Puntuació de l'equip 1" alineats a la dreta a l'esquerra del divisor "-". I els 'Puntuació de l'equip 2' i 'Nom de l'equip 2' alineats a l'esquerra a la dreta del divisor '-'. Així acabem així:

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

I com que no sé quant de temps durarà la nostra llista de partits, he posat tot el "nom de l'equip 1" i "puntuació de l'equip 1" a la mateixa etiqueta HTMLFormat i, després de cada partit, inserto una i poso la següent en una nova línia.

Prepareu les coses per ordenar:

Com es va esmentar al pas de disseny de les dades (base), només puc emmagatzemar un valor únic. Per tant, he emmagatzemat els valors de "Nom de l'equip 1", "Puntuació de l'equip 1", "Puntuació de l'equip 2" i "Nom de l'equip 2" separats per un caràcter de control no visual "\ t". Ara he de treure-les primer de la base de dades (tal com es mostra a la imatge núm. 3).

El fragment de codi mostra que primer comprovem si s'ha establert el senyalador de depuració (es fa a totes les pantalles d'aquesta aplicació. A continuació, es crea una llista de parells de claus (s / valor) que hem d'ignorar en passar per la base de dades. Només ens interessen les dades de "coincidència", res més. Després fem un recorregut per la base de dades ignorant totes les claus de la llista d'ignoradors i creem una llista nova amb 2 valors:

  1. La clau primària (recordeu que és un número que indica el número de coincidència, començant per la coincidència núm. 1)
  2. Una cadena que conté els valors de "Nom de l'equip 1", "Puntuació de l'equip 1", "Puntuació de l'equip 2" i "Nom de l'equip 2"

A continuació, anem a través de la llista i creem una nova llista de llistes on els camps individuals es divideixen en elements individuals (tal com es mostra a la imatge núm. 4):

DataToSort -> Índex de llista 1 -> Índex de llista 1 (número PK)

-> Índex de llista 2 (nom de l'equip 1) -> Índex de llista 3 (puntuació de l'equip 1) -> Índex de llista 4 (puntuació de l'equip 2) -> Índex de llista 5 (nom de l'equip 2) -> Índex de llista 2 -> Índex de llista 1 (Número PK) -> Índex de llista 2 (nom de l'equip 1) -> … -> …

Després d'això, mostrarem informació de depuració si el senyalador de depuració és cert. I ara, finalment, podem ordenar la nostra llista (de llistes).

BubbleSort * una llista de llistes:

La imatge 5 mostra el llistat complet de BubbleSort * la nostra llista de llistes. Aquest algorisme, per descomptat, es pot utilitzar per a qualsevol mida de llista de llistes, independentment de quants índexs hi hagi.

* Més informació sobre la simplicitat de l'algorisme BubbleSort a YouTube.

Pas 5: pantalla 3 (Configuració)

Pantalla 3 (Configuració)
Pantalla 3 (Configuració)

Aquesta pantalla sembla molt ocupada i té molts elements de disseny visual. Però al final només hi ha 5 commutadors alternatius:

  1. "Puntuació Fred": si està activat, canvia el comportament de la puntuació i decideix el guanyador en funció d'una diferència de 2 punts a 13 i no només del primer que arribi a 13.
  2. "Emparellament Bluetooth": (si està activat) si està activat "Activa", es permet l'emparellament amb aquesta aplicació amb la pantalla de petanca externa.
  3. "Restableix coincidències": si està activat, restablirà / eliminarà totes les coincidències i començarà amb la coincidència 1.
  4. "Restableix la base de dades": si està activat, esborrarà / restablirà totes les coincidències i la resta de paràmetres de l'aplicació a la configuració original, inclosa la puntuació actual, coincidències, noms d'equips, paràmetres de depuració, ordre d'ordenació, paràmetres de Bluetooth (quan estigui activat), etc..
  5. 'Depuració': si està activat ', mostrarà informació de depuració a tota l'aplicació entre claudàtors' '. Coses com ara: "Nombre total de registres, nombre total de variables, número de coincidència actual, número de PK del joc, etc.

Finalment, a la part inferior, hi ha la barra de menú de navegació. Això sempre es col·loca a la part inferior absoluta de la pantalla, independentment de la mida de la pantalla. Fins i tot si s'utilitza la funcionalitat "Pantalla dividida" d'Android o la pantalla és més alta que la que es pot mostrar a causa del nombre d'elements a la pantalla. En aquest cas, sempre podeu desplaçar-vos lliscant cap amunt i cap avall. Aquest menú de navegació inferior només té un botó:

A la part inferior esquerra: el botó "<-" anirà a l'esquerra i mostrarà la visualització inicial de la pantalla general de totes les coincidències (núm. 2)

Pas 6: pantalla 0 (aproximadament)

Pantalla 0 (Quant a)
Pantalla 0 (Quant a)

La pantalla final. Només informació, res més.

Aquesta pantalla es mostra la primera vegada que s'inicia aquesta aplicació. Després no es mostrarà mai més, tret que hàgiu escollit fer-ho prement el botó "?" de la pantalla principal # 1.

La barra de menú inferior de navegació només té 1 botó i això us torna a la pantalla principal núm. 1.

Pas 7: programari i / o codi font

Programari i / o codi font
Programari i / o codi font

Finalment.

Podeu descarregar l'aplicació des d'aquesta ubicació de Google Drive.

Podeu descarregar el codi des de l'entrada de la galeria d'inventors de l'aplicació MIT de Pentaque (imatge # 1). Això us permetrà desar el projecte al vostre propi compte MIT App Inventor (podeu canviar-lo pel que vulgueu). Des d'allà podeu veure tot el codi a l'editor de blocs, les pantalles de l'editor de dissenyadors i tots els suports i recursos utilitzats per a aquest projecte.

També podeu baixar el codi font (un fitxer.aia, que en realitat és un fitxer.zip) des d’aquesta ubicació de Google Drive.

Recomanat: