Съдържание:

Петанк / Jeu-de-Boules Поддържане на оценка: 7 стъпки
Петанк / Jeu-de-Boules Поддържане на оценка: 7 стъпки

Видео: Петанк / Jeu-de-Boules Поддържане на оценка: 7 стъпки

Видео: Петанк / Jeu-de-Boules Поддържане на оценка: 7 стъпки
Видео: Part 7 - The Jungle Audiobook by Upton Sinclair (Chs 26-28) 2024, Ноември
Anonim
Приложение за водене на резултати от петанк / джи-бул
Приложение за водене на резултати от петанк / джи-бул
Заявление за водене на резултати от петанк / Жо-дьо Бул
Заявление за водене на резултати от петанк / Жо-дьо Бул
Заявление за водене на резултати от петанк / Jeu-de-Boules
Заявление за водене на резултати от петанк / Jeu-de-Boules

Това е приложение за поддържане на резултатите от Petanque (понякога наричано Jeu de Boules) за Android. Това приложение може да се използва както е и е напълно функционално. Или може да се използва в комбинация с дисплея на матрицата на Petanque [отделни инструкции]. Тази част от проекта е лесна, тъй като не се изисква хардуер, а само безплатен наличен софтуер.

Консумативи

  1. Съвместим с Android телефон (за предпочитане)
  2. Устройство с достъп до интернет браузър, за предпочитане компютър с мишка за кодиране и проектиране
  3. Профил в MIT App Inventor (безплатно)
  4. Прост пакет за рисуване, напр. Pixlr или Gimp (всички безплатни)
  5. Уебсайт с ресурси за икони, напр. Икони на потребителския интерфейс или Material.io (всички безплатни)

Софтуер и изходен код:

Можете да намерите връзка към приложението Actual Petanque в долната част на тази страница. Тук можете да намерите и връзка към пълния изходен код (съжалявам за това, но Instructables не ми позволява да кача.aia файл …).

Стъпка 1: Анатомия и навигация на приложението

Анатомия и навигация на приложението
Анатомия и навигация на приложението

Дизайнът и навигацията на приложението са доста прости. Има общо 4 екрана:

  1. Основен екран №1 (където прекарваме по -голямата част от времето си, поддържайки резултат)
  2. Екран за мачове #2 (където намираме списък на всички изиграни мачове и резултати)
  3. Екран за настройки #3 (настройки за приложението, административни задачи, отстраняване на грешки и т.н.)
  4. За екран № 0 (около, лого и къде да получите инструкции за изграждане, т.е. ТАЗИ уеб страница)

Разположението на екраните и позиционирането на бутоните е оптимизирано за 1 ръка и 1 пръст (палец). Бутоните в долното навигационно меню ви отвеждат до екраните вдясно или вляво от текущия екран. Така че бутон 0 ще ви отведе до екран „Информация“#0. И бутон #1 ви връща към главния екран #1 и т.н., usw.

Ясно? Тогава нека продължим …

Стъпка 2: Проектиране на данни (база)

Проектиране на данни (база)
Проектиране на данни (база)
Проектиране на данни (база)
Проектиране на данни (база)

Сега, преди да създадем първия екран, се нуждаем от място за съхранение на всички данни, които това приложение ще използва. За това ще използваме най -простата форма, която MIT App Inventor може да предложи: TinyDB. Това е доста ограничено, тъй като може да съхранява само двойка ключ/стойност, но с малко помощ и някои трикове можем да накараме това да направи всички неща, които искаме.

Има 2 типа стойности, които ще съхраняваме:

  • Ще съхраняваме 10 прости стойности ключ/стойност за цялото приложение (както е показано във функцията „CreateIgnoreList“по-горе).
  • И по -сложен ключ/стойност, съхраняващ всички завършени данни за игри в един низ с „CurrentMatch“ключ/стойност, действащ като първичен ключ * (както е показано в функцията „SaveScore“по -горе). Тези полета в тази двойка ключ/стойност са разделени с невизуален контролен знак '\ t'. Този контролен знак ще ни даде възможност на екрана Съвпадения #2 да извлечем всички стойности в отделните му компоненти и да ги покажем и сортираме. Но повече за това в раздел Екран 2 (съвпада).

* Повече информация за това как да създадете PrimaryKey за TinyDb в AppInventor в YouTube.

Стъпка 3: Екран 1 (Основен)

Екран 1 (основен)
Екран 1 (основен)
Екран 1 (основен)
Екран 1 (основен)
Екран 1 (основен)
Екран 1 (основен)

Това е нашият екран „работен кон“, на който ще прекарваме по -голямата част от времето като потребител на приложението. Това е и отправна точка за нашето приложение MIT App Inventor.

Както можете да видите от (снимка #1) по-горе, въпреки че екранът е прост в настройката, има доста скрита интерактивност, обработка на грешки, превъртане, разделен екран, плаващо меню, прелистване на жестове, предпазване от грешки, грешни въвеждане и дори възстановяване от сривове. За всички тези функции, моля, разгледайте подробния изходен код за всеки екран. И така, какво можете да направите тук:

  • Натиснете „Екип 1“и ще получите Известие, което ще ви позволи да промените името на „Екип 1“. След като бъде променено, това ще промени този „Екип 1“на името, което сте избрали. Това е и името, което ще бъде използвано за отразяване на резултата от „играта“и „мача“(в следващите екрани).
  • „Резултатът от отбор 1“и „резултатът от отбор 2“се променят въз основа на бутоните „+“и „-“, натиснати в долната част на всеки съответния отбор. Ако резултатът е 0 и се натисне '-', се чува звуков и визуален сигнал, но резултатът остава 0 (разбира се).
  • Ако „резултат“достигне 13, се случват няколко неща: предоставя се визуален сигнал, прозорците с известия показват резултатите (снимка #2) и ви предлагат възможност да започнете нова игра или нов мач (и разбира се нов игра). Ако обаче сте избрали не класическото оценяване на петанк, а оценката с разлика от 2 точки (която може да бъде избрана в екрана за настройки №3), в зависимост от разликата между два отбора, един ще бъде обявен за победител (както е показано на снимка #3).
  • „Резултатът“в текущия „мач“се показва в центъра на екрана между резултатите „Отбор 1“и „Отбор 2“. И това ще продължи да се събира, докато не започне нов „мач“.
  • За да преминете към други екрани, можете също да „плъзнете наляво“, за да се покаже екранът „Информация“#0, или „плъзнете надясно“, за да се покаже екранът за съвпадения #2.

Най -накрая в долната част е навигационната лента с менюта. Това винаги е позиционирано в абсолютната долна част на екрана, без значение какъв е размерът на екрана. Дори ако се използва функцията за разделен екран на Android. Долното меню за навигация има 3 бутона:

  1. Долу вляво: „?“бутонът ще отиде наляво и ще покаже отново началния екран About (#0).
  2. Долу в центъра: бутонът за нулиране (който прилича на „@“със стрелка) ще ви позволи да започнете нова игра или нов мач „по всяко време“в играта, просто натиснете долния среден бутон „Нулиране“. Това ще покаже и прозорец за известия, който ще ви помоли да започнете нова игра или нов мач.
  3. Долу вдясно: Бутонът „->“ще отиде надясно и ще покаже прегледа на екрана за всички мачове (#2).

Стъпка 4: Екран 2 (съвпадения)

Екран 2 (съвпадения)
Екран 2 (съвпадения)
Екран 2 (съвпадения)
Екран 2 (съвпадения)
Екран 2 (съвпадения)
Екран 2 (съвпадения)

Макар и много прост във визуалния грим, този екран има по -интересния код вътре в себе си от другите екрани. Но преди да влезем в това, нека видим какво прави екранът:

Под етикетите „Екип 1“и „Екип 2“е списък на всички мачове и съответните им резултати. Това е сортиран списък с „последния изигран мач“в горната част и „най -стария изигран мач“в долната част.

В средата, между „Екип 1“и „Екип 2“е бутон, който може да се използва за сортиране на списъка с мачове във възходящ или низходящ ред. Иконата ще се промени в зависимост от посоката на сортиране, която е избрана.

За да преминете към други екрани, можете също да „плъзнете наляво“, за да се покаже главният екран №1, или „плъзнете надясно“, за да се покаже екранът за настройки №3.

Най -накрая в долната част е навигационната лента с менюта. Това винаги е позиционирано в абсолютната долна част на екрана, без значение какъв е размерът на екрана. Дори ако се използва функцията за разделен екран на Android (както е показано на снимка #2). Долното меню за навигация има 3 бутона:

  1. Долу вляво: „?“бутонът ще отиде наляво и ще покаже отново началния екран About (#0).
  2. Долен център: бутонът за нулиране (който прилича на „@“със стрелка) ще ви позволи да започнете нова игра или нов мач „по всяко време“в играта, просто натиснете долния среден бутон „Нулиране“. Това ще покаже и прозорец за известия, който ще ви помоли да започнете нова игра или нов мач.
  3. Долу вдясно: Бутонът „->“ще отиде надясно и ще покаже прегледа на екрана за всички мачове (#2).

Центриране на списъка с мачове на екрана:

Исках да покажа списъка с мачове, центрирани на екрана, с разделител „-“като център. Сега, тъй като броят на игрите, които един отбор е спечелил, може да бъде 1 или повече цифри и действителното име на всеки отбор може да бъде различно по размер, не можем просто да поставим това в 1 списък. Всичко би изглеждало така:

Отбор 1 0 - 1 Отбор 2

Foo 1 - 42 FooBar

Така че етикетът за разделителя '-' трябва да бъде центриран. С „Име на отбор 1“и „Резултат на отбор 1“вдясно подравнено вляво от разделителя „-“. А „Резултатът на отбор 2“и „Име на отбор 2“, подравнени вляво вдясно от разделителя „-“. Така завършваме така:

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

И тъй като не знам колко дълго ще бъде нашият списък с мачове, поставям всички „Име на отбор 1“и „Отбор 1 резултат“в един и същ етикет на HTMLFormat и след всяко съвпадение вмъквам a и поставям следващия в NewLine.

Подгответе нещата за сортиране:

Както бе споменато в стъпката на проектиране на данни (база), мога да съхраня само една стойност. Затова запазих стойностите на „Име на отбор 1“, „Резултат на отбор 1“, „Резултат на отбор 2“и „Име на екип 2“, разделени с невизуален контролен знак „\ t“. Сега трябва първо да ги извадя от базата данни (както е показано на снимка #3).

Кодовият фрагмент показва, че първо проверяваме дали флагът за отстраняване на грешки е зададен (това се прави на всеки екран на това приложение. След това създава списък с ключове (двойки/стойности), които трябва да игнорираме, когато преминаваме през базата данни. Интересуваме се само от данните „Съвпадение“, нищо друго. След това преглеждаме базата данни, игнорирайки всички ключове в списъка за игнориране и създаваме нов списък с 2 стойности:

  1. PrimaryKey (не забравяйте, че това е номер, който показва номера на съвпадението, започвайки с съвпадение #1)
  2. Низ, който съдържа стойностите за „Име на отбор 1“, „Резултат от отбор 1“, „Резултат от отбор 2“и „Име на отбор 2“

След това преминаваме през списъка и създаваме нов списък със списъци, където отделните полета са разделени на отделни елементи (както е показано на снимка #4):

DataToSort -> Списък индекс 1 -> Списък индекс 1 (номер на ПК)

-> Списък индекс 2 (Име на екип 1) -> Списък индекс 3 (Екип резултат 1) -> Списък индекс 4 (Екип резултат 2) -> Списък индекс 5 (Име на екип 2) -> Списък индекс 2 -> Списък индекс 1 (PK номер) -> Списък индекс 2 (Име на екип 1) ->… ->…

След това показваме информация за отстраняване на грешки, ако флагът за отстраняване на грешки е True. И сега най -накрая можем да сортираме нашия списък (от списъци).

BubbleSort* списък със списъци:

Снимка #5 показва пълния списък на BubbleSort* нашия списък със списъци. Разбира се, този алгоритъм може да се използва за всеки списък със списъци, независимо колко индекса присъстват.

* Повече информация за това колко лесен е алгоритъмът BubbleSort в YouTube.

Стъпка 5: Екран 3 (Настройки)

Екран 3 (Настройки)
Екран 3 (Настройки)

Този екран изглежда много зает и има много визуални елементи на дизайна. Но в крайна сметка има само 5 превключвателя:

  1. „Fred Scoring“: Ако е включено „On“, това променя поведението на оценката и определя победителя въз основа на 2 точки разлика при 13, а не само първата, която достигне 13.
  2. „Bluetooth сдвояване“: (когато е активирано), ако е включено „Включено“, позволява сдвояването с това на приложението с външния дисплей Petanque.
  3. „Нулиране на мачовете“: Ако е включено „Включено“, то ще възстанови/изтрие всички съвпадения и ще започне с Мач 1.
  4. „Нулиране на БД“: Ако е включено „Включено“, то ще изтрие/нулира всички съвпадения и всички други настройки на приложението до първоначалните настройки, включително текущия резултат, мачовете, имената на отборите, настройките за отстраняване на грешки, реда за сортиране, настройките на Bluetooth (когато е активиран) и т.н..
  5. „Отстраняване на грешки“: Ако е включено „Включено“, то ще показва информация за отстраняване на грешки в цялото приложение между квадратни скоби „”. Неща като „Общ брой записи, Общ брой променливи, Текущ номер на мача, ПК номер на играта и т.н.

Най -накрая в долната част е навигационната лента с менюта. Това винаги е позиционирано в абсолютната долна част на екрана, без значение какъв е размерът на екрана. Дори ако се използва функцията за разделен екран на Android или екранът е просто по -висок, отколкото екранът може да се покаже поради броя на елементите на екрана. Когато това е така, винаги можете да превъртате, като плъзнете нагоре и надолу. Това долно меню за навигация има само 1 бутон:

Долу вляво: бутонът „<-“ще отиде наляво и ще покаже първоначалното показване на прегледа на всички мачове (#2)

Стъпка 6: Екран 0 (Информация)

Екран 0 (Информация)
Екран 0 (Информация)

Последният екран. Само информация, нищо повече.

Този екран се показва при първото стартиране на това приложение. След това никога повече няма да се показва, освен ако не сте избрали да направите това, като натиснете „?“бутон на главния екран №1.

Долната лента за навигация има само 1 бутон и това ви връща към главния екран #1.

Стъпка 7: Софтуер и/или изходен код

Софтуер и/или изходен код
Софтуер и/или изходен код

Най -накрая.

Можете да изтеглите приложението от това местоположение на Google Диск.

Можете да изтеглите кода от записа в галерията на MIT App Inventor за Pentaque (снимка #1). Това ще ви позволи да запишете проекта във вашия собствен MIT App Inventor акаунт (можете да го преименувате на каквото искате). Оттам можете да видите целия код в редактора на блокове, екраните в редактора на дизайнера и всички медии и ресурси, използвани за този проект.

Можете също да изтеглите изходния код (.aia файл, който всъщност е.zip файл) от това местоположение на Google Диск.

Препоръчано: