Isi kandungan:

Aplikasi Pemeliharaan Skor Petanque / Jeu-de-Boules: 7 Langkah
Aplikasi Pemeliharaan Skor Petanque / Jeu-de-Boules: 7 Langkah

Video: Aplikasi Pemeliharaan Skor Petanque / Jeu-de-Boules: 7 Langkah

Video: Aplikasi Pemeliharaan Skor Petanque / Jeu-de-Boules: 7 Langkah
Video: Belajar Sistem Informasi | 5. Mengenal Data Flow Diagram (DFD) 2024, Julai
Anonim
Aplikasi Pemeliharaan Skor Petanque / Jeu-de-Boules
Aplikasi Pemeliharaan Skor Petanque / Jeu-de-Boules
Aplikasi Pemeliharaan Skor Petanque / Jeu-de-Boules
Aplikasi Pemeliharaan Skor Petanque / Jeu-de-Boules
Aplikasi Pemeliharaan Skor Petanque / Jeu-de-Boules
Aplikasi Pemeliharaan Skor Petanque / Jeu-de-Boules

Ini adalah aplikasi menjaga skor Petanque (kadang-kadang disebut sebagai Jeu de Boules) untuk Android. Aplikasi ini dapat digunakan sebagaimana adanya dan berfungsi sepenuhnya. Atau ia dapat digunakan dalam kombinasi dengan paparan Petanque Matrix [instruksional terpisah]. Bahagian projek ini mudah kerana tidak diperlukan perkakasan, hanya perisian percuma yang ada.

Bekalan

  1. Telefon serasi Android (sebaiknya)
  2. Peranti dengan akses penyemak imbas internet, lebih baik komputer dengan tetikus untuk pengekodan dan reka bentuk
  3. Akaun dengan MIT App Inventor (Percuma)
  4. Pakej lukisan yang mudah, mis. Pixlr atau Gimp (semua Percuma)
  5. Laman web sumber ikon cth. Ikon UI Bahan atau Material.io (semua Percuma)

Perisian dan Kod Sumber:

Anda boleh mendapatkan pautan ke aplikasi Petanque Sebenar di bahagian bawah halaman ini. Di sini anda juga dapat mencari pautan ke kod sumber penuh (maaf untuk ini, tetapi Instructables tidak membenarkan saya memuat naik fail.aia…).

Langkah 1: Anatomi dan Navigasi Aplikasi

Anatomi dan Navigasi Aplikasi
Anatomi dan Navigasi Aplikasi

Reka bentuk dan navigasi aplikasi cukup mudah. Terdapat 4 skrin secara keseluruhan:

  1. Skrin utama # 1 (di mana kita menghabiskan sebahagian besar masa untuk mengekalkan skor)
  2. Skrin perlawanan # 2 (di mana kita dapati senarai semua perlawanan dan skor yang dimainkan)
  3. Skrin tetapan # 3 (tetapan untuk aplikasi, tugas pentadbiran, debug dll)
  4. Tentang skrin # 0 (kira-kira, logo dan tempat untuk mendapatkan arahan membina iaitu halaman web INI)

Susun atur skrin dan kedudukan butang telah dioptimumkan untuk penggunaan 1 tangan dan 1 jari (ibu jari). Butang pada menu navigasi bawah membawa anda ke layar di sebelah kanan atau kiri layar semasa. Jadi butang 0 membawa anda ke skrin Tentang # 0. Dan butang # 1 membawa anda kembali ke Skrin utama # 1 dan lain-lain, usw.

Jelas? Daripada teruskan…

Langkah 2: Reka Bentuk Data (asas)

Reka Bentuk Data (asas)
Reka Bentuk Data (asas)
Reka Bentuk Data (asas)
Reka Bentuk Data (asas)

Sekarang, sebelum kita membuat skrin pertama, kita memerlukan beberapa tempat untuk menyimpan semua data yang akan digunakan oleh aplikasi ini. Untuk ini, kami akan menggunakan borang termudah yang ditawarkan oleh MIT App Inventor: TinyDB. Ini agak terhad kerana hanya dapat menyimpan pasangan Kunci / Nilai, tetapi dengan sedikit pertolongan dan beberapa trik kita dapat menjadikan ini melakukan semua perkara yang kita mahukan.

Terdapat 2 jenis nilai yang akan kami simpan:

  • Kami akan menyimpan 10 kunci / nilai mudah di seluruh aplikasi (seperti yang ditunjukkan dalam fungsi 'CreateIgnoreList' di atas).
  • Dan kunci / nilai yang lebih kompleks menyimpan semua data permainan yang lengkap dalam satu rentetan dengan kunci / nilai 'CurrentMatch' bertindak sebagai Kunci Utama * (seperti yang ditunjukkan dalam fungsi 'SaveScore' di atas). Medan ini dalam pasangan kunci / nilai yang satu ini dipisahkan oleh watak kawalan bukan visual '\ t'. Karakter kawalan ini akan membolehkan kita di layar Matches # 2 untuk mengambil semua nilai ke dalam komponennya yang terpisah dan memaparkan dan menyusunnya. Tetapi lebih banyak lagi mengenai perkara itu di bahagian Skrin 2 (padanan).

* Maklumat lebih lanjut mengenai cara Membuat PrimaryKey untuk TinyDb di AppInventor di YouTube.

Langkah 3: Skrin 1 (Utama)

Skrin 1 (Utama)
Skrin 1 (Utama)
Skrin 1 (Utama)
Skrin 1 (Utama)
Skrin 1 (Utama)
Skrin 1 (Utama)

Ini adalah skrin 'pekerja keras' kami di mana kami akan menghabiskan sebahagian besar masa sebagai pengguna aplikasi. Ini juga merupakan titik permulaan untuk aplikasi MIT App Inventor kami.

Seperti yang anda lihat dari (gambar # 1) di atas walaupun layarnya sederhana dalam penyiapan, terdapat beberapa interaktiviti tersembunyi, pengendalian ralat, tatal, layar split, menu terapung, gerakan menggesek, menjaga kesalahan, input salah dan juga pemulihan dari kemalangan. Untuk semua ciri ini, sila lihat kod sumber terperinci untuk setiap skrin. Jadi apa yang boleh anda lakukan di sini:

  • Tekan 'Team 1' dan anda akan mendapat Pemberitahuan yang membolehkan anda menukar nama 'Team 1'. Setelah diubah ini akan mengubah 'Team 1' ini menjadi nama yang telah anda pilih. Ini juga nama yang akan digunakan untuk mencerminkan skor 'permainan' dan 'pertandingan' anda (di layar berikutnya).
  • Perubahan 'skor Pasukan 1' dan 'skor Pasukan 2' berdasarkan butang '+' dan '-' ditekan di bahagian bawah setiap pasukan masing-masing. Sekiranya skor 0 dan '-' ditekan, isyarat audio dan visual diberikan tetapi skor tetap 0 (tentu saja).
  • Sekiranya 'skor' mencapai 13 beberapa perkara berlaku: isyarat visual disediakan, tetingkap pemberitahuan menunjukkan hasilnya (gambar # 2) dan memberi anda pilihan untuk memulakan permainan baru atau pertandingan baru (dan tentu saja baru permainan). Sekiranya anda memilih bukan skor Petanque klasik tetapi skor perbezaan 2 poin (yang dapat dipilih di layar pengaturan # 3) daripada bergantung pada perbezaan antara dua pasukan satu akan dinyatakan pemenang (seperti yang ditunjukkan pada gambar # 3).
  • 'Skor' dalam 'perlawanan' semasa ditunjukkan di tengah-tengah skrin antara skor 'Pasukan 1' dan 'Pasukan 2'. Dan ini akan terus dilakukan sehingga 'pertandingan' baru dimulakan.
  • Untuk menavigasi ke layar lain, Anda juga dapat 'menggesek ke kiri' untuk menunjukkan layar Tentang # 0 atau 'sapu ke kanan' untuk menunjukkan layar Pertandingan # 2.

Akhirnya di bahagian bawah adalah menu navigasi. Ini selalu diposisikan di bahagian bawah skrin mutlak, tidak kira berapa ukuran skrinnya. Walaupun fungsi 'Split screen' Android digunakan. Menu navigasi bawah mempunyai 3 butang:

  1. Kiri bawah: the '?' butang akan pergi ke kiri dan menunjukkan skrin Permulaan permulaan (# 0) sekali lagi.
  2. Pusat bawah: butang reset (yang kelihatan seperti '@' dengan anak panah) akan membolehkan anda memulakan permainan baru atau perlawanan baru pada 'bila-bila masa' dalam permainan hanya tekan butang 'Reset' tengah tengah. Ini juga akan meminta tetingkap pemberitahuan yang akan meminta anda untuk memulakan permainan baru atau pertandingan baru.
  3. Bawah-kanan: Butang '->' akan pergi ke kanan dan menunjukkan gambaran keseluruhan semua skrin Pertandingan (# 2).

Langkah 4: Skrin 2 (Perlawanan)

Skrin 2 (Perlawanan)
Skrin 2 (Perlawanan)
Skrin 2 (Perlawanan)
Skrin 2 (Perlawanan)
Skrin 2 (Perlawanan)
Skrin 2 (Perlawanan)

Walaupun sangat ringkas dalam solekan visual, skrin ini mempunyai kod yang lebih menarik di dalamnya daripada skrin yang lain. Tetapi sebelum kita membahasnya, mari kita lihat apa yang dilakukan oleh layarnya:

Di bawah label 'Pasukan 1' dan 'Pasukan 2' adalah senarai semua Perlawanan dan jumlah markah masing-masing. Ini adalah senarai yang disusun dengan 'perlawanan terakhir dimainkan' di bahagian atas dan 'perlawanan paling lama dimainkan' di bahagian bawah.

Di tengah, antara 'Pasukan 1' dan 'Pasukan 2', adalah butang yang dapat digunakan untuk menyusun daftar Pertandingan dalam urutan Menaik atau Turun. Ikon akan berubah bergantung pada arah penyortiran yang dipilih.

Untuk menavigasi ke skrin lain, Anda juga dapat 'menggesek Kiri' untuk menunjukkan layar Utama # 1 atau 'menggesek Kanan' untuk menunjukkan layar Tetapan # 3.

Akhirnya di bahagian bawah adalah menu navigasi. Ini selalu diposisikan di bahagian bawah skrin mutlak, tidak kira berapa ukuran skrinnya. Walaupun fungsi 'Split screen' Android digunakan (seperti yang ditunjukkan dalam Gambar # 2). Menu navigasi bawah mempunyai 3 butang:

  1. Kiri bawah: the '?' butang akan pergi ke kiri dan menunjukkan skrin Permulaan permulaan (# 0) sekali lagi.
  2. Pusat bawah: butang reset (yang kelihatan seperti '@' dengan anak panah) akan membolehkan anda memulakan permainan baru atau perlawanan baru pada 'bila-bila masa' dalam permainan hanya tekan butang 'Reset' tengah tengah. Ini juga akan meminta tetingkap pemberitahuan yang akan meminta anda untuk memulakan permainan baru atau pertandingan baru.
  3. Bawah-kanan: Butang '->' akan pergi ke kanan dan menunjukkan gambaran keseluruhan semua skrin Pertandingan (# 2).

Memusatkan senarai Pertandingan di skrin:

Saya mahu menunjukkan senarai Pertandingan yang berpusat di skrin dengan pembahagi '-' sebagai pusat. Sekarang, kerana jumlah permainan yang dimenangi oleh pasukan boleh menjadi 1 digit atau lebih dan nama sebenarnya setiap pasukan boleh berbeza dalam ukuran, kita tidak boleh memasukkannya ke dalam 1 daftar. Semuanya akan kelihatan seperti ini:

Pasukan 1 0 - 1 Pasukan 2

Foo 1 - 42 FooBar

Jadi label untuk pembahagi '-' perlu dipusatkan. Dengan 'Nama pasukan 1' dan 'skor Pasukan 1' diselaraskan kanan di sebelah kiri pembahagi '-'. Dan 'skor Pasukan 2' dan 'Nama Pasukan 2' kiri sejajar di sebelah kanan pembahagi '-'. Oleh itu, kita berakhir seperti ini:

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

Dan kerana saya tidak tahu berapa lama senarai Perlawanan kami, saya memasukkan semua 'nama Pasukan 1' dan 'skor Pasukan 1' ke dalam Label FormatFormat yang sama dan selepas setiap Perlawanan saya memasukkan dan meletakkan yang berikutnya di NewLine.

Bersedia untuk disusun:

Seperti yang disebutkan dalam langkah Reka Bentuk Data (dasar) saya hanya dapat menyimpan satu nilai. Oleh itu, saya menyimpan nilai 'Nama pasukan 1', 'skor Pasukan 1', 'skor Pasukan 2' dan 'nama Pasukan 2' yang dipisahkan oleh watak kawalan bukan visual '\ t'. Sekarang saya perlu mengeluarkannya dari pangkalan data (seperti yang ditunjukkan dalam Gambar # 3).

Coretan kod menunjukkan bahawa kita terlebih dahulu memeriksa apakah bendera Debug diset (ini dilakukan di setiap layar aplikasi ini. Seterusnya ia membuat senarai Kunci (pasangan / Nilai) yang perlu kita abaikan ketika melalui pangkalan data. Kami hanya berminat dengan data 'Padankan', tidak ada yang lain. Kami kemudian melengkapkan pangkalan data, mengabaikan semua Kunci pada Daftar Pengenalan dan membuat senarai baru dengan 2 nilai:

  1. The PrimaryKey (ingat ini adalah Nombor yang menunjukkan nombor Match, dimulai dengan Match # 1)
  2. Rentetan yang mengandungi nilai untuk 'Nama pasukan 1', 'skor Pasukan 1', 'skor Pasukan 2' dan 'nama Pasukan 2'

Kami kemudian melalui Daftar dan membuat Senarai Daftar baru di mana bidang masing-masing dibahagikan kepada item individu (seperti yang ditunjukkan dalam Gambar # 4):

DataToSort -> Indeks senarai 1 -> Indeks senarai 1 (nombor PK)

-> Indeks senarai 2 (Nama pasukan 1) -> Indeks senarai 3 (Skor pasukan 1) -> Indeks senarai 4 (Skor pasukan 2) -> Indeks senarai 5 (Nama pasukan 2) -> Indeks senarai 2 -> Indeks senarai 1 (Nombor PK) -> Indeks senarai 2 (Nama pasukan 1) ->… ->…

Selepas itu kami menunjukkan beberapa maklumat debug jika bendera Debug adalah Benar. Dan sekarang kita akhirnya dapat menyusun Senarai (Senarai) kita.

BubbleSort * senarai Senarai:

Gambar # 5 menunjukkan senarai lengkap ke BubbleSort * Senarai Daftar kami. Algoritma ini tentu saja dapat digunakan untuk ukuran Senarai Daftar tidak kira berapa banyak Indeks yang ada.

* Maklumat lebih lanjut mengenai betapa mudahnya algoritma BubbleSort di YouTube.

Langkah 5: Skrin 3 (Tetapan)

Skrin 3 (Tetapan)
Skrin 3 (Tetapan)

Skrin ini kelihatan sangat sibuk dan mempunyai banyak elemen reka bentuk visual. Tetapi pada akhirnya hanya ada 5 suis Toggle:

  1. 'Fred Scoring': Jika dihidupkan 'On' ia mengubah tingkah laku pemarkahan dan memutuskan pemenang berdasarkan perbezaan 2 mata pada 13 dan bukan hanya yang pertama mencapai 13.
  2. 'Bluetooth Pairing': (bila diaktifkan) jika dihidupkan 'On' membolehkan pasangan dengan aplikasi ini dengan Petanque Display luaran.
  3. 'Reset Matches': Jika dihidupkan 'On' ia akan Reset / delete semua perlawanan dan dimulakan dengan Match 1.
  4. 'Reset DB': Jika dihidupkan 'On' akan Menghapus / Menetapkan Semula Semua Pertandingan dan semua tetapan aplikasi lain kembali ke tetapan asal termasuk skor semasa, pertandingan, nama pasukan, tetapan debug, urutan penyortiran, tetapan luetooth (apabila diaktifkan) dll..
  5. 'Debug': Jika dihidupkan 'On', ia akan menunjukkan maklumat Debug di seluruh aplikasi di antara tanda kurung siku ''. Perkara seperti 'Jumlah rekod, Jumlah pemboleh ubah, Nombor perlawanan semasa, Nombor PK Permainan, dll.

Akhirnya di bahagian bawah adalah menu navigasi. Ini selalu diposisikan di bahagian bawah skrin mutlak, tidak kira berapa ukuran skrinnya. Walaupun fungsi ‘Split screen’ Android digunakan atau layar hanya lebih tinggi daripada layar yang dapat dipaparkan kerana jumlah item di layar. Sekiranya ini berlaku, anda boleh menatal dengan menggesek ke atas dan ke bawah. Menu navigasi bawah ini hanya mempunyai 1 butang:

Bawah kiri: butang '<-' akan pergi ke kiri dan menunjukkan pertunjukan awal gambaran keseluruhan semua perlawanan (# 2)

Langkah 6: Skrin 0 (Tentang)

Skrin 0 (Tentang)
Skrin 0 (Tentang)

Skrin terakhir. Sekadar maklumat, tidak lebih dari itu.

Skrin ini ditunjukkan pada kali pertama aplikasi ini dimulakan. Selepas itu tidak akan ditunjukkan lagi, kecuali anda memilih untuk melakukannya dengan menekan '?' butang pada skrin Utama # 1.

Menu menu navigasi bawah hanya mempunyai 1 butang dan ini membawa anda kembali ke skrin Utama # 1.

Langkah 7: Perisian Dan / atau Kod Sumber

Perisian Dan / atau Kod Sumber
Perisian Dan / atau Kod Sumber

Akhirnya.

Anda boleh memuat turun Aplikasi dari lokasi Google Drive ini.

Anda boleh memuat turun kod dari entri Galeri MIT App Inventor untuk Pentaque (gambar # 1). Ini akan membolehkan anda menyimpan projek tersebut ke akaun MIT App Inventor anda sendiri (anda boleh menamakannya semula kepada apa sahaja yang anda mahukan). Dari sana anda dapat melihat semua kod di editor Blok, layar di editor Pereka dan semua media dan sumber yang digunakan untuk projek ini.

Anda juga boleh memuat turun kod sumber (fail.aia, yang sebenarnya merupakan fail.zip) dari lokasi Google Drive ini.

Disyorkan: