Turinys:

„Petanque“/ „Jeu-de-Boules“taškų palaikymo programa: 7 žingsniai
„Petanque“/ „Jeu-de-Boules“taškų palaikymo programa: 7 žingsniai

Video: „Petanque“/ „Jeu-de-Boules“taškų palaikymo programa: 7 žingsniai

Video: „Petanque“/ „Jeu-de-Boules“taškų palaikymo programa: 7 žingsniai
Video: Petanque - Montage tirs 2024, Lapkritis
Anonim
„Petanque“/ „Jeu-de-Boules“balų išlaikymo programa
„Petanque“/ „Jeu-de-Boules“balų išlaikymo programa
„Petanque“/ „Jeu-de-Boules“balų išlaikymo programa
„Petanque“/ „Jeu-de-Boules“balų išlaikymo programa
„Petanque“/ „Jeu-de-Boules“balų išlaikymo programa
„Petanque“/ „Jeu-de-Boules“balų išlaikymo programa

Tai „Android“skirta „Petanque“rezultatų laikymo programa (kartais vadinama „Jeu de Boules“). Ši programa gali būti naudojama tokia, kokia yra, ir yra visiškai funkcionali. Arba jį galima naudoti kartu su „Petanque Matrix“ekranu [atskiros instrukcijos]. Ši projekto dalis yra paprasta, nes nereikia jokios techninės įrangos, tik nemokama programinė įranga.

Prekės

  1. „Android“suderinamas telefonas (pageidautina)
  2. Įrenginys, turintis prieigą prie interneto naršyklės, pageidautina kompiuteris su pele kodavimui ir projektavimui
  3. Paskyra su „MIT App Inventor“(nemokama)
  4. Paprastas piešimo paketas, pvz. „Pixlr“arba „Gimp“(viskas nemokama)
  5. Piktogramų išteklių svetainė, pvz. Medžiagos vartotojo sąsajos piktogramos arba „Material.io“(visos nemokamos)

Programinė įranga ir šaltinio kodas:

Šio puslapio apačioje rasite nuorodą į „Actual Petanque“programą. Čia taip pat galite rasti nuorodą į visą šaltinio kodą (atsiprašau už tai, bet „Instructables“neleidžia man įkelti.aia failo …).

1 veiksmas: programos anatomija ir naršymas

Programos anatomija ir naršymas
Programos anatomija ir naršymas

Programos dizainas ir naršymas yra gana paprasti. Iš viso yra 4 ekranai:

  1. Pagrindinis ekranas Nr. 1 (kuriame daugiausiai laiko praleidžiame išlaikydami rezultatą)
  2. 2 rungtynių ekranas (kuriame rasite visų sužaistų rungtynių ir rezultatų sąrašą)
  3. 3 nustatymų ekranas (programos nustatymai, administracinės užduotys, derinimas ir kt.)
  4. Apie ekraną Nr. 0 (apie, logotipą ir kur gauti kūrimo instrukcijas, pvz., ŠĮ tinklalapį)

Ekranų išdėstymas ir mygtukų išdėstymas buvo optimizuoti 1 rankai ir 1 pirštui (nykščiui). Apatiniame naršymo meniu esantys mygtukai nukelia į dabartinio ekrano dešinėje arba kairėje esančius ekranus. Taigi mygtukas 0 atveria „Apie“ekraną #0. Mygtukas #1 grąžina jus į pagrindinį ekraną #1 ir tt, usw.

Aišku? Negi tęskime…

2 žingsnis: duomenų (bazės) projektavimas

Duomenų (bazės) dizainas
Duomenų (bazės) dizainas
Duomenų (bazės) dizainas
Duomenų (bazės) dizainas

Dabar, prieš kurdami pirmąjį ekraną, mums reikia vietos, kurioje būtų saugomi visi duomenys, kuriuos naudos ši programa. Tam naudosime paprasčiausią „MIT App Inventor“siūlomą formą: „TinyDB“. Tai gana ribota, nes joje gali būti saugoma tik rakto/vertės pora, tačiau šiek tiek padedant ir atliekant keletą gudrybių galime tai padaryti viską, ko norime.

Mes išsaugosime dviejų tipų vertes:

  • Išsaugosime 10 paprastų raktų/verčių visos programos reikšmių (kaip parodyta aukščiau esančioje funkcijoje „CreateIgnoreList“).
  • Ir sudėtingesnis raktas/vertė, kurioje visi baigti žaidimų duomenys saugomi vienoje eilutėje, naudojant „CurrentMatch“raktą/reikšmę, veikiančią kaip pagrindinis raktas * (kaip parodyta aukščiau esančioje „SaveScore“funkcijoje). Šie vienos raktų/verčių poros laukai yra atskirti ne vizualiai valdomu simboliu „\ t“. Šis valdymo simbolis leis mums rungtynių ekrane Nr. 2 gauti visas reikšmes į atskirus komponentus ir jas rodyti bei rūšiuoti. Bet daugiau apie tai skiltyje 2 ekranas (rungtynės).

* Daugiau informacijos apie tai, kaip sukurti „PrimaryKey“, skirtą „TinyDb“programoje „AppInventor“„YouTube“.

3 veiksmas: 1 ekranas (pagrindinis)

1 ekranas (pagrindinis)
1 ekranas (pagrindinis)
1 ekranas (pagrindinis)
1 ekranas (pagrindinis)
1 ekranas (pagrindinis)
1 ekranas (pagrindinis)

Tai yra mūsų „darbinio žirgo“ekranas, kuriame didžiąją laiko dalį praleisime kaip programos vartotojas. Tai taip pat yra mūsų „MIT App Inventor“programos pradžios taškas.

Kaip matote iš aukščiau esančio (1 paveikslėlis), nors ekranas yra paprastas sąrankoje, yra gana paslėptas interaktyvumas, klaidų tvarkymas, slinkimas, padalintas ekranas, plaukiojantis meniu, braukiami gestai, apsauga nuo klaidų, klaidingų įvesties ir net atkūrimo nuo avarijų. Dėl visų šių funkcijų žiūrėkite išsamų kiekvieno ekrano šaltinio kodą. Taigi, ką jūs galite padaryti čia:

  • Paspauskite „1 komanda“ir gausite pranešimą, kuriame galėsite pakeisti „1 komandos“pavadinimą. Kai tai bus pakeista, „1 komanda“bus pakeista į jūsų pasirinktą pavadinimą. Taip pat šis pavadinimas bus naudojamas jūsų žaidimo ir rungtynių rezultatams atspindėti (kituose ekranuose).
  • „1 komandos rezultatas“ir „2 komandos balas“keičiasi atsižvelgiant į kiekvienos komandos apačioje paspaustus mygtukus „+“ir „-“. Jei rezultatas yra 0 ir paspaudžiamas „-“, pasigirsta garso ir vaizdo signalas, tačiau rezultatas lieka 0 (žinoma).
  • Jei „rezultatas“pasiekia 13, atsitinka keletas dalykų: pateikiamas vizualinis signalas, pranešimų langai rodo rezultatus (2 paveikslas) ir suteikia galimybę pradėti naują žaidimą arba naujas rungtynes (ir, žinoma, naujas žaidimas). Tačiau jei pasirinkote ne klasikinį „Petanque“tašką, bet 2 taškų skirtumą (kurį galite pasirinkti nustatymų ekrane Nr. 3), priklausomai nuo skirtumo tarp dviejų komandų, vienas bus paskelbtas nugalėtoju (kaip parodyta 3 paveiksle)).
  • „Rezultatas“dabartinėse „rungtynėse“rodomas ekrano centre tarp „1 komandos“ir „2 komandos“taškų. Ir tai bus tęsiama, kol bus pradėtos naujos „rungtynės“.
  • Jei norite pereiti į kitus ekranus, taip pat galite „perbraukti į kairę“, kad būtų rodomas ekranas „Apie“, arba „braukite į dešinę“, kad būtų rodomas 2 rungtynių ekranas.

Galiausiai apačioje yra naršymo meniu juosta. Tai visada yra absoliučioje ekrano apačioje, nesvarbu, koks ekrano dydis. Net jei naudojama „Android“padalinto ekrano funkcija. Apatiniame naršymo meniu yra 3 mygtukai:

  1. Apačioje kairėje: „?“mygtukas eis į kairę ir vėl parodys pradinį paleidimą Apie ekraną (#0).
  2. Apatinis centras: iš naujo nustatymo mygtukas (atrodo kaip „@“su rodykle) leis bet kuriuo žaidimo metu pradėti naują žaidimą arba naujas rungtynes, tiesiog paspauskite apatinį vidurinį „Reset“mygtuką. Taip pat bus rodomas pranešimų langas, kuriame bus paprašyta pradėti naują žaidimą arba naujas rungtynes.
  3. Apačioje dešinėje: mygtukas „->“eis į dešinę ir parodys visų rungtynių ekrano apžvalgą (#2).

4 veiksmas: 2 ekranas (atitiktys)

2 ekranas (rungtynės)
2 ekranas (rungtynės)
2 ekranas (rungtynės)
2 ekranas (rungtynės)
2 ekranas (rungtynės)
2 ekranas (rungtynės)

Nors vizualinis makiažas yra labai paprastas, šis ekranas turi įdomesnį kodą nei kiti ekranai. Tačiau prieš eidami į tai pažiūrėkime, ką jis daro ekrane:

Po etiketėmis „1 komanda“ir „2 komanda“yra visų rungtynių ir jų atitinkamų balų sąrašas. Tai yra surūšiuotas sąrašas, kurio viršuje yra „paskutinės sužaistos rungtynės“, o apačioje - „seniausiai sužaistos rungtynės“.

Viduryje, tarp „1 komandos“ir „2 komandos“, yra mygtukas, kuris gali būti naudojamas rūšiuoti rungtynių sąrašą didėjančia arba mažėjančia tvarka. Piktograma keisis priklausomai nuo pasirinktos rūšiavimo krypties.

Norėdami pereiti į kitus ekranus, taip pat galite „braukite kairėn“, kad pamatytumėte pagrindinį ekraną #1, arba „braukite dešinėn“, kad būtų rodomas nustatymų ekranas #3.

Galiausiai apačioje yra naršymo meniu juosta. Tai visada yra absoliučioje ekrano apačioje, nesvarbu, koks ekrano dydis. Net jei naudojama „Android“padalinto ekrano funkcija (kaip parodyta 2 paveiksle). Apatiniame naršymo meniu yra 3 mygtukai:

  1. Apačioje kairėje: „?“mygtukas eis į kairę ir vėl parodys pradinį paleidimą Apie ekraną (#0).
  2. Apatinis centras: iš naujo nustatymo mygtukas (atrodo kaip „@“su rodykle) leis bet kuriuo žaidimo metu pradėti naują žaidimą arba naujas rungtynes, tiesiog paspauskite apatinį vidurinį „Reset“mygtuką. Taip pat bus rodomas pranešimų langas, kuriame bus paprašyta pradėti naują žaidimą arba naujas rungtynes.
  3. Apačioje dešinėje: mygtukas „->“eis į dešinę ir parodys visų rungtynių ekrano apžvalgą (#2).

Atitikimų sąrašo centravimas ekrane:

Norėjau parodyti atitikmenų sąrašą, kurio centre yra ekranas, o skyrius „-“yra centre. Dabar, kadangi komandos laimėtų žaidimų skaičius gali būti 1 ar daugiau skaitmenų, o tikrasis kiekvienos komandos pavadinimas gali būti skirtingo dydžio, negalime to tiesiog įtraukti į 1 sąrašą. Viskas atrodytų maždaug taip:

1 komanda 0 - 1 2 komanda

Foo 1 - 42 FooBar

Taigi skirstytuvo „-“etiketė turi būti centre. „1 komandos pavadinimas“ir „1 komandos rezultatas“dešinėje sulygiuoti kairėje nuo „-“skirstytuvo. „2 komandos rezultatas“ir „2 komandos pavadinimas“kairėje sulygiuoti dešinėje nuo „-“dalytuvo. Taigi mes baigiame taip:

"Komanda 1 0" "-" "1 komanda 2" "Foo 1" "-" "42 FooBar"

Ir kadangi aš nežinau, kiek laiko truks mūsų rungtynių sąrašas, visus „1 komandos pavadinimus“ir „1 komandos balus“sudėjau į tą pačią HTML formato etiketę ir po kiekvienų rungtynių įterpiu a ir įdedu kitą į „NewLine“.

Paruoškite daiktus rūšiavimui:

Kaip minėta duomenų (bazės) projektavimo etape, galiu išsaugoti tik vieną reikšmę. Taigi išsaugojau „1 komandos pavadinimo“, „1 komandos balo“, „2 komandos balo“ir „2 komandos pavadinimo“reikšmes, atskirtas ne vizualiai valdomu simboliu „\ t“. Dabar pirmiausia turiu juos pašalinti iš duomenų bazės (kaip parodyta 3 paveiksle).

Kodo fragmentas rodo, kad pirmiausia patikriname, ar nustatyta derinimo vėliava (tai daroma kiekviename šios programos ekrane. Toliau sukuriamas raktų (-ų/reikšmių porų) sąrašas, kurių turime nepaisyti eidami per duomenų bazę. Mus domina tik „Atitikties“duomenys, nieko daugiau. Tada pereiname prie duomenų bazės, ignoruodami visus ignoruojamo sąrašo raktus ir sukuriame naują sąrašą su 2 reikšmėmis:

  1. „PrimaryKey“(atminkite, kad tai yra skaičius, nurodantis rungtynių numerį, pradedant nuo 1 rungtynių)
  2. Eilutė, kurioje yra „1 komandos pavadinimas“, „1 komandos rezultatas“, „2 komandos rezultatas“ir „2 komandos pavadinimas“reikšmės

Tada pereiname per sąrašą ir sukuriame naują sąrašų sąrašą, kuriame atskiri laukai yra suskirstyti į atskirus elementus (kaip parodyta 4 paveiksle):

DataToSort -> Sąrašo indeksas 1 -> Sąrašo indeksas 1 (PK numeris)

-> Sąrašo rodyklė 2 (1 komandos pavadinimas) -> Sąrašo indeksas 3 (Komandos balas 1) -> Sąrašo indeksas 4 (Komandos balas 2) -> Sąrašo indeksas 5 (2 komandos pavadinimas) -> Sąrašo indeksas 2 -> Sąrašo indeksas 1 (PK numeris) -> Sąrašo indeksas 2 (1 komandos pavadinimas) ->… ->…

Po to parodome derinimo informaciją, jei derinimo vėliava yra tiesa. Ir dabar pagaliau galime surūšiuoti savo (sąrašų) sąrašą.

„BubbleSort“* sąrašų sąrašas:

Paveikslėlyje Nr. 5 parodytas visas „BubbleSort“* sąrašų sąrašas. Šis algoritmas, žinoma, gali būti naudojamas bet kokio dydžio sąrašų sąrašui, nesvarbu, kiek rodyklių yra.

* Daugiau informacijos apie „BubbleSort“algoritmo paprastumą „YouTube“.

5 veiksmas: 3 ekranas (nustatymai)

3 ekranas (nustatymai)
3 ekranas (nustatymai)

Šis ekranas atrodo labai užimtas ir turi daug vizualinio dizaino elementų. Bet galų gale yra tik 5 perjungimo jungikliai:

  1. „Fredo vertinimas“: jei įjungta „Įjungta“, jis keičia taškų vertinimo elgseną ir nustato nugalėtoją, remdamasis 2 taškų skirtumu 13, o ne tik pirmuoju, kuris pasiekė 13.
  2. „Bluetooth“poravimas: (kai įjungta), jei įjungta „On“(įjungta), leidžia susieti šią programą su išoriniu „Petanque“ekranu.
  3. „Iš naujo nustatyti rungtynes“: jei įjungta „Įjungta“, visos rungtynės bus iš naujo nustatytos/ištrintos ir prasidės 1 rungtynėmis.
  4. „Iš naujo nustatyti DB“: jei įjungta „Įjungta“, visos rungtynės ir visi kiti programos nustatymai bus ištrinti/atkurti į pradinius nustatymus, įskaitant dabartinį rezultatą, rungtynes, komandų pavadinimus, derinimo nustatymus, rūšiavimo tvarką, „Bluetooth“nustatymus (kai įjungta) ir tt.
  5. „Derinimas“: jei įjungta „Įjungta“, bus rodoma derinimo informacija visoje programoje tarp laužtinių skliaustų „“. Tokie dalykai kaip „Bendras įrašų skaičius, bendras kintamųjų skaičius, dabartinės rungtynių numeris, žaidimo PK numeris ir kt.

Galiausiai apačioje yra naršymo meniu juosta. Jis visada yra absoliučioje ekrano apačioje, nesvarbu, koks ekrano dydis. Net jei naudojama „Android“padalinto ekrano funkcija arba ekranas yra tik aukštesnis nei ekranas gali būti rodomas dėl ekrane esančių elementų skaičiaus. Tokiu atveju visada galite slinkti braukdami aukštyn ir žemyn. Šiame apatiniame naršymo meniu yra tik 1 mygtukas:

Apačioje kairėje: mygtukas „<-“eis į kairę ir parodys pradinį visų rungtynių ekrano apžvalgą (#2)

6 veiksmas: 0 ekranas (apie)

0 ekranas (apie)
0 ekranas (apie)

Paskutinis ekranas. Tik informacija, nieko daugiau.

Šis ekranas rodomas pirmą kartą paleidus šią programą. Po to jis daugiau nebus rodomas, nebent pasirinksite tai padaryti paspausdami „?“mygtuką pagrindiniame ekrane #1.

Apatinėje naršymo meniu juostoje yra tik 1 mygtukas ir tai sugrąžina jus į pagrindinį ekraną #1.

7 veiksmas: programinė įranga ir (arba) šaltinio kodas

Programinė įranga ir (arba) šaltinio kodas
Programinė įranga ir (arba) šaltinio kodas

Pagaliau.

Programą galite atsisiųsti iš šios „Google“disko vietos.

Kodą galite atsisiųsti iš „Pentaque“programos „MIT App Inventor Gallery“įrašo (1 paveikslas). Tai leis jums išsaugoti projektą savo „MIT App Inventor“paskyroje (galite jį pervardyti į ką tik norite). Iš ten galite pamatyti visą kodą „Blocks“redaktoriuje, „Designer“redaktoriaus ekranus ir visas laikmenas bei išteklius, naudojamus šiam projektui.

Taip pat galite atsisiųsti šaltinio kodą (.aia failą, kuris iš tikrųjų yra.zip failas) iš šios „Google“disko vietos.

Rekomenduojamas: