Mündəricat:

Petanque / Jeu-de-Boules Hesab Tutma Tətbiqi: 7 Addım
Petanque / Jeu-de-Boules Hesab Tutma Tətbiqi: 7 Addım

Video: Petanque / Jeu-de-Boules Hesab Tutma Tətbiqi: 7 Addım

Video: Petanque / Jeu-de-Boules Hesab Tutma Tətbiqi: 7 Addım
Video: COMMENT DIRE BOCCES ? #pétanque (HOW TO SAY BOCCES? #bocces) 2024, Iyul
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

Bu Android üçün bir Petanque hesab tutma tətbiqidir (bəzən Jeu de Boules olaraq da adlandırılır). Bu proqram olduğu kimi istifadə edilə bilər və tam işləkdir. Ya da Petanque Matrix displeyi ilə birlikdə istifadə edilə bilər [ayrıca təlimatlar]. Layihənin bu hissəsi asandır, çünki heç bir hardware tələb olunmur, yalnız Pulsuz proqram mövcuddur.

Təchizat

  1. Android uyğun telefon (tercihen)
  2. İnternet brauzeri olan bir cihaz, tercihen kodlaşdırma və dizayn işləri üçün siçanı olan bir kompüter
  3. MIT App Inventor ilə hesab (Pulsuz)
  4. Sadə bir rəsm paketi, məsələn. Pixlr və ya Gimp (hamısı Pulsuz)
  5. Bir simge mənbəyi veb saytı, məsələn. Material UI nişanları və ya Material.io (hamısı Pulsuz)

Proqram və Sourcecode:

Bu səhifənin altındakı Aktual Petanque tətbiqinə bir keçid tapa bilərsiniz. Burada tam qaynaq koduna bir keçid də tapa bilərsiniz (üzr istəyirik, amma Instructables.aia faylını yükləməyimə icazə vermir …).

Addım 1: Tətbiqin Anatomiyası və Naviqasiyası

Tətbiqin Anatomiyası və Naviqasiyası
Tətbiqin Anatomiyası və Naviqasiyası

Tətbiqin dizaynı və naviqasiyası olduqca sadədir. Ümumilikdə 4 ekran var:

  1. Əsas ekran #1 (vaxtımızın çox hissəsini hesab saxlamaq üçün keçirdiyimiz yer)
  2. 2 -ci matç ekranı (burada oynanan bütün oyunların və skorların siyahısını tapa bilərik)
  3. Ayarlar ekranı #3 (tətbiqin parametrləri, inzibati vəzifələr, debug və s.)
  4. 0 nömrəli ekran haqqında (haqqında, loqosu və tikinti təlimatlarını haradan əldə etmək olar, yəni BU web səhifəsi)

Ekranların düzeni və düymələrin yerləşdirilməsi 1 əl və 1 barmaq (baş barmaq) istifadəsi üçün optimallaşdırılmışdır. Aşağıdakı naviqasiya menyusundakı düymələr sizi cari ekranın sağındakı və ya solundakı ekranlara aparır. Beləliklə, 0 düyməsi sizi 0 nömrəli ekrana gətirir. Və 1 nömrəli düymə sizi 1 nömrəli ana ekrana və s.

Təmiz? Davam edək…

Addım 2: Məlumat (baza) Dizaynı

Məlumat (baza) dizaynı
Məlumat (baza) dizaynı
Məlumat (baza) dizaynı
Məlumat (baza) dizaynı

İndi, ilk ekranı yaratmadan əvvəl, bu tətbiqin istifadə edəcəyi bütün məlumatları saxlamaq üçün bir yerə ehtiyacımız var. Bunun üçün MIT App Inventor -un təqdim etdiyi ən sadə formadan istifadə edəcəyik: TinyDB. Yalnız bir Açar/Dəyər cütünü saxlaya biləcəyi üçün bu olduqca məhduddur, ancaq bir az kömək və bəzi fəndlərlə bunu istədiyimiz hər şeyi edə bilərik.

Saxlayacağımız 2 növ dəyər var:

  • 10 sadə açar/dəyər tətbiq ölçüsündə dəyərlər saxlayacağıq (yuxarıdakı 'CreateIgnoreList' funksiyasında göstərildiyi kimi).
  • Və bütün tamamlanmış oyun məlumatlarını 'CurrentMatch' düyməsini/Birincil Açar * rolunu oynayan dəyəri bir sətirdə saxlayan daha mürəkkəb bir açar/dəyər (yuxarıdakı 'SaveScore' funksiyasında göstərildiyi kimi). Bu bir açar/dəyər cütündəki bu sahələr vizual olmayan bir idarəetmə xarakteri ilə / 't' ayrılır. Bu nəzarət xarakteri, 2 nömrəli Maçlar ekranında bütün dəyərləri ayrı komponentlərinə çıxarmağımıza və onları göstərib sıralamağımıza imkan verəcək. Ancaq bu barədə daha çox məlumatı Ekran 2 (matçlar) bölməsində tapa bilərsiniz.

* YouTube -da AppInventor -da TinyDb üçün PrimaryKey yaratmağın yolları haqqında daha çox məlumat.

Addım 3: Ekran 1 (Əsas)

Ekran 1 (Əsas)
Ekran 1 (Əsas)
Ekran 1 (Əsas)
Ekran 1 (Əsas)
Ekran 1 (Əsas)
Ekran 1 (Əsas)

Bu, vaxtın çox hissəsini tətbiqin istifadəçisi olaraq keçirəcəyimiz 'iş atı' ekranıdır. Bu da MIT App Inventor tətbiqimizin başlanğıc nöqtəsidir.

Yuxarıda (şəkil #1) gördüyünüz kimi, ekran sadə olsa da, bəzi gizli interaktivlik, səhvlərin idarə edilməsi, sürüşmə, bölünmüş ekran, üzən menyu, sürüşmə hərəkətləri, səhvlərdən qorunmaq, səhv girişlər və hətta bərpa var. qəzalardan. Bütün bu xüsusiyyətlər üçün hər bir ekran üçün ətraflı mənbə koduna baxın. Beləliklə burada nə edə bilərsiniz:

  • 'Komanda 1' düyməsini basın və 'Komanda 1' adının dəyişdirilməsini təmin edəcək bir bildiriş alacaqsınız. Dəyişdirildikdən sonra bu 'Komanda 1' seçdiyiniz adla dəyişəcək. Bu da 'oyun' və 'uyğun' hesabınızı (növbəti ekranlarda) əks etdirmək üçün istifadə ediləcək addır.
  • Hər bir komandanın altındakı '+' və '-' düymələrinə əsaslanaraq 'Komanda 1' və 'Komanda 2' hesabı dəyişir. Hesab 0 olarsa və '-' basılarsa, səsli və vizual siqnal verilir, ancaq hesab 0 olaraq qalır (əlbəttə).
  • 'Hesab' 13 -ə çatsa, bir neçə şey olur: vizual bir siqnal verilir, bir bildiriş pəncərəsi nəticələri göstərir (şəkil #2) və ya ya yeni bir oyuna başlamaq, ya da yeni bir matç başlamaq imkanı verir. oyun). Klassik Petanque qolunu deyil, 2 xal fərqini seçsəniz (3 nömrəli parametrlər ekranında seçilə bilər) iki komanda arasındakı fərqdən asılı olaraq bir qalib elan ediləcək (şəkil #3)).
  • Mövcud 'matçdakı' hesab 'ekranın ortasında' Komanda 1 'və' Komanda 2 'puanları arasında göstərilir. Və bu, yeni 'matç' başlayana qədər cədvəlləməyə davam edəcək.
  • Digər ekranlara keçmək üçün 0 nömrəli ekranı göstərmək üçün 'Sola sürüşdürün' və ya 2 nömrəli matçları göstərmək üçün 'Sağa sürüşdürün'.

Nəhayət altındakı naviqasiya menyusu var. Ekranın ölçüsündən asılı olmayaraq, bu həmişə ekranın mütləq altındadır. Android 'Bölünmüş ekran' funksiyasından istifadə olunsa belə. Aşağı naviqasiya menyusunda 3 düymə var:

  1. Sol alt: "?" düyməsi sola gedəcək və ilkin başlanğıc haqqında Ekranda (#0) yenidən göstərəcək.
  2. Alt mərkəz: sıfırlama düyməsi (ox ilə '@' kimi görünür), oyunda 'istənilən vaxt' yeni bir oyuna və ya yeni bir matça başlamağınızı təmin edəcək, yalnız alt ortadakı 'Sıfırla' düyməsini basın. Həm də yeni bir oyuna və ya yeni bir matça başlamağınızı istəyəcək bir bildiriş pəncərəsi kimə veriləcək.
  3. Sağdan aşağı: '->' düyməsi sağa gedəcək və bütün Matçlar ekranını (#2) göstərəcək.

Addım 4: Ekran 2 (Maçlar)

Ekran 2 (Maçlar)
Ekran 2 (Maçlar)
Ekran 2 (Maçlar)
Ekran 2 (Maçlar)
Ekran 2 (Maçlar)
Ekran 2 (Maçlar)

Vizual makiyajda çox sadə olmasına baxmayaraq, bu ekranın içərisində digər ekranlardan daha maraqlı kod var. Ancaq buna girməzdən əvvəl onun ekranının nə etdiyini görək:

'Komanda 1' və 'Komanda 2' etiketlərinin altında bütün matçların siyahısı və müvafiq ümumi puanları var. Bu, yuxarıda 'son oynanan matç' və aşağıda 'ən köhnə oynanan matç' olan sıralanmış bir siyahıdır.

Ortada, 'Komanda 1' və 'Komanda 2' arasında, Matçlar siyahısını Artan və ya Azalan qaydada sıralamaq üçün istifadə edilə bilən bir düymə var. Seçilən çeşidləmə istiqamətindən asılı olaraq nişan dəyişəcək.

Digər ekranlara keçmək üçün 1 nömrəli Ana ekranı göstərmək üçün 'Sola sürüşdürə bilərsiniz' və ya '3 Ayarlar' ekranını göstərmək üçün 'Sağa sürüşdürün'.

Nəhayət altındakı naviqasiya menyusu var. Ekranın ölçüsündən asılı olmayaraq, bu həmişə ekranın mütləq altındadır. Android 'Bölünmüş ekran' funksiyasından istifadə edilsə belə (Şəkil #2 -də göstərildiyi kimi). Aşağı naviqasiya menyusunda 3 düymə var:

  1. Sol alt: "?" düyməsi sola gedəcək və ilkin başlanğıc haqqında Ekranda (#0) yenidən göstərəcək.
  2. Alt mərkəz: sıfırlama düyməsi (ox ilə '@' kimi görünür), oyunda 'istənilən vaxt' yeni bir oyuna və ya yeni bir matça başlamağınızı təmin edəcək, yalnız alt orta 'Sıfırla' düyməsini basın. Həm də yeni bir oyuna və ya yeni bir matça başlamağınızı istəyəcək bir bildiriş pəncərəsi kimə veriləcək.
  3. Sağdan aşağı: '->' düyməsi sağa gedəcək və bütün Matçlar ekranını (#2) göstərəcək.

Ekrandakı uyğunluqların siyahısını mərkəzləşdirin:

Ekranda mərkəzləşdirilmiş Matçların siyahısını mərkəz olaraq '-' bölücü ilə göstərmək istədim. İndi, bir komandanın qazandığı oyunların sayı 1 və ya daha çox ola biləcəyi üçün və hər komandanın həqiqi adı fərqli ola biləcəyi üçün bunu 1 siyahıya sala bilmərik. Hamısı belə görünür:

Komanda 1 0 - 1 Komanda 2

Foo 1 - 42 FooBar

Buna görə '-' bölücü etiketinin mərkəzləşdirilməsi lazımdır. 'Komanda 1 adı' və 'Komanda 1 hesabı' ilə '-' bölücüsünün solunda hizalanır. Və 'Komanda 2 hesabı' və 'Komanda 2 adı' sola '-' bölücünün sağına hizalanmışdır. Beləliklə, bu şəkildə bitiririk:

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

Matçlar siyahımızın nə qədər davam edəcəyini bilmədiyim üçün bütün 'Komanda 1 adı' və 'Komanda 1 balı' nı eyni HTMLFormat Etiketinə qoydum və hər matçdan sonra a daxil edib növbəti birini NewLine -ə qoydum..

Əşyaları çeşidləmək üçün hazırlayın:

Məlumat (əsas) Dizayn addımında qeyd edildiyi kimi yalnız bir dəyər saxlaya bilərəm. Beləliklə, 'Komanda 1 adı', 'Komanda 1 hesabı', 'Komanda 2 hesabı' və 'Komanda 2 adı' dəyərlərini vizual olmayan bir nəzarət xarakteri ilə ayrılmış şəkildə saxladım '\ t'. İndi əvvəlcə onları verilənlər bazasından çıxarmalıyam (Şəkil #3 -də göstərildiyi kimi).

Kod parçacığı göstərir ki, əvvəlcə Debug bayrağının qurulub-qurulmadığını yoxlayırıq (bu bu tətbiqin hər bir ekranında edilir. Sonra verilənlər bazasından keçərkən nəzərə almamağımız lazım olan Açar (lar/Dəyər cütləri) siyahısını yaradır. Yalnız "Match" məlumatları ilə maraqlanırıq, başqa heç bir şey yoxdur. Daha sonra Ignorelistdəki bütün Açarlara məhəl qoymadan verilənlər bazasını gəzirik və 2 dəyərlə yeni bir siyahı yaradırıq:

  1. PrimaryKey (unutmayın ki, bu, 1 nömrəli matçdan başlayaraq, Maç nömrəsini göstərən bir ədəddir)
  2. 'Komanda 1 adı', 'Komanda 1 hesabı', 'Komanda 2 hesabı' və 'Komanda 2 adı' üçün dəyərlərin dəyərlərini ehtiva edən bir simli

Daha sonra Siyahıdan keçib fərdi sahələrin ayrı -ayrı maddələrə bölündüyü yeni Siyahılar Siyahısı yaradırıq (Şəkil #4 -də göstərildiyi kimi):

DataToSort -> Siyahı indeksi 1 -> Siyahı indeksi 1 (PK nömrəsi)

-> Siyahı indeksi 2 (Komanda adı 1) -> Siyahı indeksi 3 (Komanda hesabı 1) -> Siyahı indeksi 4 (Komanda hesabı 2) -> Siyahı indeksi 5 (Komanda adı 2) -> Siyahı indeksi 2 -> Siyahı indeksi 1 (PK nömrəsi) -> Siyahı indeksi 2 (Komanda adı 1) ->… ->…

Bundan sonra, Debug bayrağı Doğrudursa, bəzi ayıklama məlumatlarını göstəririk. İndi nəhayət Siyahımızı (Siyahıların) sıralaya bilərik.

BubbleSort* Siyahıların siyahısı:

Şəkil #5, BubbleSort* siyahı siyahımızın tam siyahısını göstərir. Bu alqoritm, əlbəttə ki, indekslərin sayından asılı olmayaraq istənilən ölçüdə Siyahıların siyahısı üçün istifadə oluna bilər.

* YouTube'da BubbleSort alqoritminin nə qədər sadə olduğu haqqında daha çox məlumat.

Addım 5: Ekran 3 (Ayarlar)

Ekran 3 (Ayarlar)
Ekran 3 (Ayarlar)

Bu ekran çox məşğul görünür və bir çox vizual dizayn elementlərinə malikdir. Ancaq sonunda yalnız 5 keçid açarı var:

  1. 'Fred Scoring': 'On' açıldıqda qol davranışını dəyişir və 13 -ə çatan ilk deyil, 13 -də 2 xal fərqinə əsasən qalib qərar verir.
  2. 'Bluetooth Eşleştirme': (aktiv olduqda) 'Açıq' seçilərsə, bu tətbiqin xarici Petanque Ekranı ilə eşlenmesini təmin edir.
  3. 'Matçları Sıfırla': 'Açıq' olaraq dəyişdirilərsə, bütün oyunları sıfırlayacaq/silər və Match 1 ilə başlayacaq.
  4. 'Verilənlər bazasını sıfırla': "Açıq" olaraq təyin olunarsa, bütün matçları və bütün digər tətbiq parametrlərini siləcək/sıfırlayacaq, cari hesab, matçlar, komanda adları, debug parametrləri, çeşidləmə qaydası, luetooth parametrləri (aktiv olduqda) və s..
  5. 'Hata Ayıklama': 'Açıq' olaraq dəyişdirilərsə '' kvadrat mötərizələr arasında tətbiq boyunca Debug məlumatlarını göstərəcək. 'Ümumi qeydlərin sayı, Ümumi dəyişənlərin sayı, Mövcud uyğunluq sayı, Oyun PK nömrəsi və s.

Nəhayət altındakı naviqasiya menyusu var. Ekranın ölçüsündən asılı olmayaraq, bu həmişə ekranın mütləq altındadır. Android 'Bölünmüş ekran' funksiyasından istifadə olunsa da və ya ekran ekrandakı maddələrin sayına görə ekranın göstərə biləcəyindən hündür olsa belə. Bu vəziyyətdə hər zaman yuxarı və aşağı sürüşdürərək hərəkət edə bilərsiniz. Bu alt naviqasiya menyusunda yalnız 1 düymə var:

Sol alt: '<-' düyməsi sola gedəcək və ilkin şouda bütün Matçlar ekranının ümumi görünüşünü göstərəcək (#2)

Addım 6: Ekran 0 (Haqqında)

Ekran 0 (Haqqında)
Ekran 0 (Haqqında)

Son ekran. Sadəcə məlumat, başqa heç nə.

Bu ekran bu tətbiqin başladığı ilk dəfə göstərilir. Bundan sonra, '?' 1 nömrəli ana ekrandakı düymə.

Alt naviqasiya menyusunda yalnız 1 düymə var və bu sizi 1 nömrəli Ana ekrana qaytarır.

Addım 7: Proqram və/və ya Mənbə Kodu

Proqram təminatı və/və ya mənbə kodu
Proqram təminatı və/və ya mənbə kodu

Nəhayət.

Tətbiqi bu Google Disk yerindən yükləyə bilərsiniz.

Kodu Pentaque üçün MIT App Inventor Gallery girişindən yükləyə bilərsiniz (şəkil #1). Bu, layihəni öz MIT App Inventor hesabınıza saxlamağa imkan verəcək (istədiyiniz adı dəyişə bilərsiniz). Oradan Blocks redaktorundakı bütün kodları, Designer redaktorundakı ekranları və bu layihə üçün istifadə olunan bütün media və mənbələri görə bilərsiniz.

Mənbə kodunu (əslində.zip faylı olan.aia faylı) bu Google Disk yerindən də yükləyə bilərsiniz.

Tövsiyə: