Мазмуну:

Petanque / Jeu-de-Boules упайын сактоо арызы: 7 кадам
Petanque / Jeu-de-Boules упайын сактоо арызы: 7 кадам

Video: Petanque / Jeu-de-Boules упайын сактоо арызы: 7 кадам

Video: Petanque / Jeu-de-Boules упайын сактоо арызы: 7 кадам
Video: Comment jouer à la pétanque ? Découvrez les règles du jeu ! 2024, Июль
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

Бул Android үчүн Petanque упай сактоо тиркемеси (кээде Jeu de Boules деп да аталат). Бул колдонмо мурдагыдай эле колдонулушу мүмкүн жана толугу менен иштейт. Же аны Petanque Matrix дисплейи менен бирге колдонсо болот [өзүнчө көрсөтмөлөр]. Долбоордун бул бөлүгү оңой, анткени эч кандай жабдык талап кылынбайт, болгону бекер жеткиликтүү программалык камсыздоо.

Жабдуулар

  1. Androidге шайкеш келген телефон (артыкчылыктуу)
  2. Интернет браузерине кирүү мүмкүнчүлүгү бар түзмөк, жакшыраак коддоо жана дизайн иштери үчүн чычканга ээ компьютер
  3. MIT App Inventor менен эсеп (бекер)
  4. Жөнөкөй чийме пакети, мис. Pixlr же Gimp (баары бекер)
  5. Сөлөкөт ресурстук вебсайт, мис. Material UI сүрөтчөлөрү же Material.io (баары бекер)

Программалык камсыздоо жана Sourcecode:

Бул беттин ылдый жагындагы Actual Petanque тиркемесине шилтемени таба аласыз. Бул жерде сиз толук кодго шилтемени таба аласыз (кечиресиз, бирок Instructables мага.aia файлын жүктөөгө уруксат бербейт …).

1 -кадам: Анатомия жана колдонмонун навигациясы

Анатомия жана колдонмонун навигациясы
Анатомия жана колдонмонун навигациясы

Колдонмонун дизайны жана навигациясы абдан жөнөкөй. Жалпысынан 4 экран бар:

  1. Негизги экран №1 (биз убактыбыздын көбүн упай сактоо менен өткөрөбүз)
  2. #2 матчтары
  3. Орнотуулар #3 (колдонмонун жөндөөлөрү, административдик тапшырмалар, мүчүлүштүктөрдү оңдоо ж. Б.)
  4. #0 экраны жөнүндө (логотип жана курулуш көрсөтмөлөрүн, башкача айтканда, БУЛ веб -баракчаны кайдан алуу керек)

Экрандардын макети жана баскычтардын жайгашуусу 1 кол жана 1 манжа (бармак) үчүн оптималдаштырылган. Төмөнкү навигация менюндагы баскычтар сизди учурдагы экрандын оң же сол жагындагы экрандарга алып барат. Ошентип, 0 баскычы сизди #0 экранына алып келет. Жана баскыч #1 сизди башкы экранга кайтарат #1 ж.б.у.с.

Таза? Андан ары уланталы…

2 -кадам: Маалыматтардын (базанын) дизайны

Маалыматтардын (базанын) дизайны
Маалыматтардын (базанын) дизайны
Маалыматтардын (базанын) дизайны
Маалыматтардын (базанын) дизайны

Эми, биз биринчи экранды түзөөрдөн мурун, бул колдонмо колдоно турган бардык маалыматтарды сактоо үчүн бир жерге муктажбыз. Бул үчүн биз MIT App Inventor сунуштаган эң жөнөкөй форманы колдонобуз: TinyDB. Бул чектелген, анткени ал ачкыч/баалуулук жупун гана сактай алат, бирок бир аз жардам жана кээ бир амалдар менен биз муну каалаган нерселерибиздин бардыгына жасай алабыз.

Биз сактай турган баалуулуктардын 2 түрү бар:

  • Биз 10 жөнөкөй ачкычты/баалуулукту колдонмодогу баалуулуктарды сактайбыз (жогорудагы 'CreateIgnoreList' функциясында көрсөтүлгөндөй).
  • Жана дагы бир татаал ачкыч/маани, бүткөн оюндар маалыматын "CurrentMatch" ачкычы/мааниси менен, Баштапкы Ачкыч * катары иштейт (жогорудагы 'SaveScore' функциясында көрсөтүлгөндөй). Бул бир ачкыч/маани жубунун ичиндеги бул талаалар "\ t" визуалдык эмес башкаруу белгиси менен бөлүнгөн. Бул башкаруу белгиси бизге Матчтар #2де бардык баалуулуктарды анын айрым компоненттерине чыгарууга жана аларды дисплейге жана сорттоого мүмкүнчүлүк берет. Ал эми бул тууралуу экрандын 2 бөлүмүндө көбүрөөк (дал келет).

* YouTubeдагы AppInventorдо TinyDb үчүн PrimaryKey түзүү боюнча көбүрөөк маалымат.

3 -кадам: 1 -экран (Негизги)

Экран 1 (Негизги)
Экран 1 (Негизги)
Экран 1 (Негизги)
Экран 1 (Негизги)
Экран 1 (Негизги)
Экран 1 (Негизги)

Бул биздин "жумушчу ат" экраныбыз, анда биз колдонмонун колдонуучусу катары убакыттын көбүн өткөрөбүз. Бул биздин MIT App Inventor колдонмосунун башталышы.

Жогоруда көрүнүп тургандай (№1-сүрөт), экранда жөнөкөйлүк болгону менен, жашыруун интерактивдүүлүк бар, каталарды иштетүү, жылдыруу, экранда бөлүнүү, калкып чыгуучу меню, жаңсоо кыймылдары, каталардан коргоо, ката киргизүүлөр жана ал тургай калыбына келтирүү кырсыктардан. Булардын баары үчүн, ар бир экран үчүн деталдуу булак кодун караңыз. Ошентип, бул жерде эмне кыла аласыз:

  • "1 -Команда" баскычын басыңыз, ошондо сиз "Команда 1дин" атын өзгөртүүгө мүмкүндүк бере турган эскертме аласыз. Бул өзгөртүлгөндөн кийин, бул "1 -команда" сиз тандаган атка өзгөрөт. Бул ошондой эле сиздин "оюн" жана "матч" упайыңызды чагылдыруу үчүн колдонула турган ат (кийинки экрандарда).
  • '1 командасынын упайы' жана '2-команданын упайы' ар бир команданын ылдый жагында басылган '+' жана '-' баскычтарынын негизинде өзгөрөт. Эгерде упай 0 жана '-' басылса, үн жана визуалдык сигнал берилет, бирок баа 0 бойдон калат (албетте).
  • Эгерде "упай" 13кө жетсе, анда бир нече нерсе болот: визуалдык сигнал берилет, эскертме терезелери жыйынтыктарды көрсөтөт (сүрөт #2) жана сизге жаңы оюнду же жаңы матчты баштоо мүмкүнчүлүгүн берет (жана албетте жаңы оюн). Эгерде сиз классикалык Petanque упайын эмес, 2 упай айырмачылыкты тандасаңыз (муну #3 жөндөөлөр экранында тандап алсаңыз болот), эки команданын айырмасына жараша жеңүүчү деп табылат (№3 сүрөттө көрсөтүлгөндөй)).
  • Учурдагы "матчтагы" "упай" экрандын ортосунда 'Команда 1' менен 'Команда 2' упайларынын ортосунда көрсөтүлөт. Жана бул жаңы "матч" башталганга чейин таблицада кала берет.
  • Башка экрандарга өтүү үчүн #0 жөнүндө экранды көрсөтүү үчүн "Солго серпип" же Дал келүү экранын #2 көрсөтүү үчүн "Оңго сүрүңүз".

Акыры түбүндө навигациянын менюсу бар. Бул экрандын өлчөмүнө карабай, ар дайым экрандын абсолюттук түбүндө жайгашкан. Android 'Split screen' функциясы колдонулган күндө да. Төмөнкү менюда 3 баскыч бар:

  1. Төмөнкү сол: "?" баскычы солго кетет жана экрандын баштапкы башталышын (#0) кайра көрсөтөт.
  2. Төмөнкү борбор: баштапкы абалга келтирүү баскычы (жебеси менен "@" окшойт) сизге оюндун каалаган убагында жаңы оюнду же жаңы матчты баштоого мүмкүнчүлүк берет, жөн эле астынкы астындагы "Баштапкы абалга келтирүү" баскычын басыңыз. Бул ошондой эле сизден жаңы оюнду же жаңы матчты баштоону сурануучу эскертме терезеси болот.
  3. Төмөнкү оңдо: '->' баскычы оңго кетет жана бардык Матчтар экранынын жалпы көрүнүшүн көрсөтөт (#2).

4 -кадам: 2 -экран (дал келет)

2 -экран (дал келет)
2 -экран (дал келет)
2 -экран (дал келет)
2 -экран (дал келет)
2 -экран (дал келет)
2 -экран (дал келет)

Визуалдык макияжда абдан жөнөкөй болгону менен, бул экрандын ичинде башка экрандарга караганда кызыктуу код бар. Бирок биз кирерден мурун анын экраны эмне кылганын көрөлү:

"Команда 1" жана "Команда 2" энбелгилеринин астында бардык матчтардын тизмеси жана аларга тиешелүү жалпы упайлар бар. Бул "акыркы ойногон матч" үстүндө жана "эң эски ойногон матч" ылдый жагында иреттелген тизме.

Ортодо, "Команда 1" менен "Команда 2" ортосунда, Матчтар тизмесин Өсүү же Азаюу тартибинде иреттөө үчүн колдонула турган баскыч. Белги тандалган сорттоо багытына жараша өзгөрөт.

Башка экрандарга өтүү үчүн, Башкы экранды #1 көрсөтүү үчүн "Солго серпип" же Орнотуулар #3 көрсөтүү үчүн "Оңго сүрүңүз".

Акыры түбүндө навигациянын менюсу бар. Бул экрандын өлчөмүнө карабай, ар дайым экрандын абсолюттук түбүндө жайгашкан. Android 'Split screen' функциясы колдонулса дагы (Picture 2де көрсөтүлгөндөй). Төмөнкү менюда 3 баскыч бар:

  1. Төмөн-сол: "?" баскычы солго кетет жана экрандын баштапкы башталышын (#0) кайра көрсөтөт.
  2. Төмөнкү борбор: баштапкы абалга келтирүү баскычы (жебе менен "@" окшойт) сизге оюндун каалаган убагында "каалаган убакта" жаңы оюнду же жаңы матчты баштоого мүмкүнчүлүк берет. Бул ошондой эле сизден жаңы оюнду же жаңы матчты баштоону сурануучу эскертме терезеси болот.
  3. Төмөнкү оңдо: '->' баскычы оңго кетет жана бардык Матчтар экранынын жалпы көрүнүшүн көрсөтөт (#2).

Матчтардын тизмесин экранда борборлоштуруу:

Мен матчтардын тизмесин экранда '-' бөлүүчү борбору менен көрсөткүм келди. Азыр, анткени бир команда утуп алган оюндардын саны 1 же андан көп цифрадан турушу мүмкүн жана ар бир команданын чыныгы аты ар башка болушу мүмкүн, муну 1 тизмеге киргизе албайбыз. Мунун баары мындай көрүнөт:

Команда 1 0 - 1 Команда 2

Foo 1 - 42 FooBar

Ошентип, '-' бөлгүчүнүн энбелгиси борборлоштурулушу керек. 'Команда 1 аты' жана 'Команда 1 упайы' оң менен '-' бөлгүчүнүн сол жагына тегизделет. Жана 'Команда 2 упайы' жана 'Команда 2 аты' солго '-' бөлгүчүнүн оң жагына тизилген. Ошентип, биз мындай бүтөбүз:

"Команда 1 0" "-" "1 Команда 2" "Фоо 1" "-" "42 FooBar"

Биздин матчтардын тизмеси канча убакытка созулаарын билбегендиктен, мен "Команда 1дин атын" жана "Команданын 1 упайын" ошол эле HTMLFormat этикеткасына коём жана ар бир матчтан кийин мен а киргизип, экинчисин NewLineге коем..

Сорттоого нерселерди даярдаңыз:

The Data (base) Дизайн кадамында айтылгандай, мен бир гана бааны сактай алам. Ошентип, мен "Team 1 name", "Team 1 score", "Team 2 score" жана "Team 2 name" маанилерин "\ t" визуалдык эмес башкаруу белгиси менен бөлүп сактадым. Эми мен биринчиден аларды маалымат базасынан чыгарышым керек (No3 сүрөттө көрсөтүлгөндөй).

Коддун үзүндүсү, биз адегенде Мүчүлүштүктөрдү аныктоо желеги орнотулганын текшеребиз (бул бул колдонмонун ар бир экранында жасалат. Андан кийин ал базадан өтүүдө этибарга албашыбыз керек болгон ачкычтардын (баалардын/баалуулуктардын түгөйлөрүнүн) тизмесин түзөт. Бизди "Дал келүү" маалыматы гана кызыктырат, башка эч нерсе жок. Андан кийин, Этибарга албоо тизмесиндеги бардык Ачкычтарды этибарга албай, 2 базасы бар жаңы тизме түзөбүз.

  1. PrimaryKey (бул 1 -матчтан баштап дал келген номерди көрсөтүүчү сан экенин эстен чыгарбаңыз)
  2. 'Team 1 name', 'Team 1 score', 'Team 2 score' жана 'Team 2 name' үчүн маанилерди камтыган сап

Андан кийин биз Тизмени аралап, жеке талаалар жеке пункттарга бөлүнгөн жаңы Тизмелердин тизмесин түзөбүз (Сүрөт No4тө көрсөтүлгөндөй):

DataToSort -> Тизме индекси 1 -> Тизме индекси 1 (PK номери)

-> Тизме индекси 2 (Команданын аты 1) -> Тизме индекси 3 (Командалык упай 1) -> Тизме индекси 4 (Командалык упай 2) -> Тизме индекси 5 (Команданын аты 2) -> Тизме индекси 2 -> Тизме индекси 1 (PK саны) -> Тизме индекси 2 (Команданын аты 1) ->… ->…

Андан кийин, Debug желеги чын болсо, биз кээ бир мүчүлүштүктөр тууралуу маалыматты көрсөтөбүз. Эми биз акыры тизмебизди (тизмелердин) иреттей алабыз.

BubbleSort* тизмелердин тизмеси:

Сүрөт #5 толук тизмесин көрсөтөт BubbleSort* Биздин тизмелердин тизмеси. Бул алгоритм, албетте, канча Индекс бар экендигине карабастан, каалаган өлчөмдөгү Тизмелердин тизмеси үчүн колдонулушу мүмкүн.

* YouTubeда BubbleSort алгоритми канчалык жөнөкөй экени жөнүндө көбүрөөк маалымат.

5 -кадам: 3 -экран (Орнотуулар)

3 -экран (Орнотуулар)
3 -экран (Орнотуулар)

Бул экран абдан бош эмес окшойт жана визуалдык дизайн элементтери көп. Бирок аягында 5 эле Toggle которгучтары бар:

  1. 'Fred Scoring': Эгер 'On' күйгүзүлгөн болсо, анда ал упай топтоо жүрүм -турумун өзгөртөт жана жеңүүчүсүн 2ге 13 упай айырмачылыгынын негизинде чечет жана биринчи болуп 13кө жетет.
  2. 'Bluetooth Pairing': (иштетилгенде) 'On' күйгүзүлгөндө, бул колдонмонун тышкы Petanque дисплейи менен жупташуусун иштетет.
  3. "Матчтарды баштапкы абалга келтирүү": "Күйүк" күйгүзүлгөндө, ал бардык матчтарды баштапкы абалга келтирет/жок кылат жана 1 -матч менен башталат.
  4. "ДБны баштапкы абалга келтирүү": "Күйүк" күйгүзүлгөндө, ал бардык матчтарды жана башка колдонмонун бардык жөндөөлөрүн баштапкы жөндөөлөргө, анын ичинде учурдагы упай, матчтар, командалардын аттары, мүчүлүштүктөрдү жөндөө, иреттөө тартиби, Bluetooth орнотуулары (иштетилгенде) ж..
  5. 'Мүчүлүштүктөрдү оңдоо': "Күйүк" күйгүзүлгөндө, ал оңдоо маалыматын колдонмонун төрт бурчтуу кашаанын ортосунда көрсөтөт ''. "Жазуулардын жалпы саны, өзгөрмөлөрдүн жалпы саны, Учурдагы матч номери, Оюн PK номери ж.

Акыры түбүндө навигациянын менюсу бар. Бул экрандын өлчөмү кандай болбосун, ар дайым экрандын абсолюттук түбүндө жайгашкан. Android 'Split screen' функциясы колдонулганда же экранда көрсөтүлгөн нерселердин санына байланыштуу экран көрсөтө ала турган экрандан бир аз бийик болсо дагы. Бул жерде сиз дайыма өйдө жана ылдый серпип жылдыра аласыз. Бул ылдыйкы навигация менюсунда болгону 1 баскыч бар:

Төмөнкү сол: '<-' баскычы солго кетет жана бардык матчтар экраны боюнча жалпы көрсөтүүнү көрсөтөт (#2)

6 -кадам: 0 экран (жөнүндө)

0 экран (жөнүндө)
0 экран (жөнүндө)

Акыркы экран. Жөн гана маалымат, башка эч нерсе жок.

Бул экран бул колдонмо биринчи жолу ишке киргенде көрсөтүлөт. Андан кийин эч качан көрсөтүлбөйт, эгер сиз "?" Башкы экрандын баскычы #1.

Төмөнкү навигация менюсында 1 гана баскыч бар жана бул сизди башкы экранга #1 алып келет.

7 -кадам: Программалык камсыздоо жана/же булак коду

Программалык камсыздоо жана/же булак коду
Программалык камсыздоо жана/же булак коду

Акыры.

Колдонмону Google Drive жайгашкан жерден жүктөп алсаңыз болот.

Сиз кодду Pentaque үчүн MIT App Inventor Gallery жазуусунан жүктөп алсаңыз болот (сүрөт #1). Бул сизге долбоорду өзүнүн MIT App Inventor эсебине сактоого мүмкүндүк берет (сиз аны каалаган нерсеге өзгөртсөңүз болот). Ал жерден сиз Blocks редакторундагы бардык кодду, Designer редакторундагы экрандарды жана бул долбоор үчүн колдонулган бардык медианы жана ресурстарды көрө аласыз.

Бул Google Drive жайгашкан жерден баштапкы кодду (.aia файлы, чынында.zip файлы) жүктөп алсаңыз болот.

Сунушталууда: