Სარჩევი:

Petanque / Jeu-de-Boules ქულების შენახვის პროგრამა: 7 ნაბიჯი
Petanque / Jeu-de-Boules ქულების შენახვის პროგრამა: 7 ნაბიჯი

ვიდეო: Petanque / Jeu-de-Boules ქულების შენახვის პროგრამა: 7 ნაბიჯი

ვიდეო: Petanque / Jeu-de-Boules ქულების შენახვის პროგრამა: 7 ნაბიჯი
ვიდეო: პილოტი Cessna მთელს მსოფლიოში! 🛩🌥🌎 - Geographical Adventures GamePlay 🎮📱 🇬🇪 2024, ივლისი
Anonim
Petanque / Jeu-de-Boules ქულების დაცვის განაცხადი
Petanque / Jeu-de-Boules ქულების დაცვის განაცხადი
Petanque / Jeu-de-Boules ქულების დაცვის განაცხადი
Petanque / Jeu-de-Boules ქულების დაცვის განაცხადი
Petanque / Jeu-de-Boules ქულების დაცვის განაცხადი
Petanque / Jeu-de-Boules ქულების დაცვის განაცხადი

ეს არის Petanque ქულების შენახვის პროგრამა (ზოგჯერ მოიხსენიება როგორც Jeu de Boules) Android- ისთვის. ეს პროგრამა შეიძლება გამოყენებულ იქნას როგორც არის და არის სრულად ფუნქციონალური. ან ის შეიძლება გამოყენებულ იქნას Petanque Matrix ჩვენებასთან ერთად [ცალკე ინსტრუქციები]. პროექტის ეს ნაწილი ადვილია, რადგან არ არის საჭირო ტექნიკა, მხოლოდ უფასო ხელმისაწვდომი პროგრამული უზრუნველყოფა.

მარაგები

  1. Android თავსებადი ტელეფონი (სასურველია)
  2. მოწყობილობა ინტერნეტ ბრაუზერთან, სასურველია კომპიუტერი მაუსით კოდირებისა და დიზაინის მუშაობისათვის
  3. ანგარიში MIT აპლიკაციის გამომგონებელთან (უფასო)
  4. მარტივი ნახატის პაკეტი მაგ. Pixlr ან Gimp (ყველა უფასო)
  5. ხატის რესურსის ვებგვერდი მაგ. მატერიალური ინტერფეისის ხატები ან Material.io (ყველა უფასო)

პროგრამული უზრუნველყოფა და წყაროს კოდი:

თქვენ შეგიძლიათ იპოვოთ ბმული აქტუალური Petanque აპლიკაცია ამ გვერდის ბოლოში. აქ ასევე შეგიძლიათ იპოვოთ ბმული სრული წყაროს კოდისთვის (ბოდიში ამისთვის, მაგრამ Instructables არ მაძლევს საშუალებას.aia ფაილის ატვირთვა …).

ნაბიჯი 1: აპლიკაციის ანატომია და ნავიგაცია

აპლიკაციის ანატომია და ნავიგაცია
აპლიკაციის ანატომია და ნავიგაცია

აპლიკაციის დიზაინი და ნავიგაცია საკმაოდ მარტივია. სულ არის 4 ეკრანი:

  1. მთავარი ეკრანი #1 (სადაც ჩვენ დროის უმეტეს ნაწილს ვატარებთ ქულების შენარჩუნებაში)
  2. მატჩების ეკრანი #2 (სადაც ჩვენ ვიპოვით ყველა ჩატარებული მატჩებისა და ქულების ჩამონათვალს)
  3. პარამეტრების ეკრანი #3 (აპის პარამეტრები, ადმინისტრაციული ამოცანები, გამართვა და ა.
  4. ეკრანის #0 შესახებ (შესახებ, ლოგო და სად უნდა მიიღოთ აღმშენებლობის ინსტრუქცია ანუ ეს ვებ გვერდი)

ეკრანების განლაგება და ღილაკების განთავსება ოპტიმიზირებულია 1 ხელისა და 1 თითის (ცერა თითის) გამოყენებისთვის. ქვედა ნავიგაციის მენიუს ღილაკები მიგიყვანთ ეკრანებზე მიმდინარე ეკრანის მარჯვნივ ან მარცხნივ. ასე რომ ღილაკი 0 მიგიყვანთ ეკრანის შესახებ #0. ღილაკი #1 დაგიბრუნებთ მთავარ ეკრანზე #1 და ა.შ., usw.

გასაგებია? ვიდრე გავაგრძელოთ…

ნაბიჯი 2: მონაცემთა (ბაზის) დიზაინი

მონაცემთა (ბაზის) დიზაინი
მონაცემთა (ბაზის) დიზაინი
მონაცემთა (ბაზის) დიზაინი
მონაცემთა (ბაზის) დიზაინი

ახლა, სანამ ჩვენ შევქმნით პირველ ეკრანს, ჩვენ გვჭირდება ადგილი, რომ შევინახოთ ყველა მონაცემი, რომელსაც ეს აპლიკაცია გამოიყენებს. ამისათვის ჩვენ გამოვიყენებთ უმარტივეს ფორმას, რომელსაც MIT აპლიკაციის გამომგონებელი გთავაზობთ: TinyDB. ეს საკმაოდ შეზღუდულია, რადგან მას შეუძლია შეინახოს მხოლოდ გასაღები/მნიშვნელობა წყვილი, მაგრამ ცოტაოდენი დახმარებით და რამდენიმე ხრიკით ჩვენ შეგვიძლია გავაკეთოთ ის, რაც გვსურს.

არსებობს 2 ტიპის მნიშვნელობა, რომელსაც ჩვენ ვინახავთ:

  • ჩვენ შევინახავთ 10 მარტივ გასაღებს/მნიშვნელობას პროგრამის მასშტაბებს (როგორც ეს ნაჩვენებია ზემოთ 'CreateIgnoreList' ფუნქციაში).
  • და უფრო რთული გასაღები/მნიშვნელობა ინახავს თამაშების ყველა დასრულებულ მონაცემს ერთ სტრიქონში, სადაც 'CurrentMatch' გასაღები/მნიშვნელობა მოქმედებს როგორც ძირითადი გასაღები * (როგორც ნაჩვენებია ზემოთ 'SaveScore' ფუნქციაში). ეს ველები ამ ერთი გასაღების/მნიშვნელობის წყვილის შიგნით გამოყოფილია არა-ვიზუალური საკონტროლო სიმბოლოთი '\ t'. ეს საკონტროლო ხასიათი მოგვცემს მატჩების ეკრანზე #2, რომ მივიღოთ ყველა მნიშვნელობა მის ცალკეულ კომპონენტებში და გამოვსახოთ და დავალაგოთ ისინი. მაგრამ უფრო მეტი ამის შესახებ სექციაში ეკრანი 2 (მატჩები).

* მეტი ინფორმაცია იმის შესახებ, თუ როგორ უნდა შექმნათ PrimaryKey TinyDb– ისთვის AppInventor– ზე YouTube– ზე.

ნაბიჯი 3: ეკრანი 1 (მთავარი)

ეკრანი 1 (მთავარი)
ეკრანი 1 (მთავარი)
ეკრანი 1 (მთავარი)
ეკრანი 1 (მთავარი)
ეკრანი 1 (მთავარი)
ეკრანი 1 (მთავარი)

ეს არის ჩვენი "სამუშაო ცხენის" ეკრანი, სადაც დროის უმეტეს ნაწილს გავატარებთ როგორც აპლიკაციის მომხმარებელი. ეს ასევე არის ამოსავალი წერტილი ჩვენი MIT აპლიკაციის გამომგონებლის აპლიკაციისთვის.

როგორც ხედავთ (სურათი #1) ზემოდან, მიუხედავად იმისა, რომ ეკრანი დაყენებულია მარტივად, არის საკმაოდ ფარული ინტერაქტიულობა, შეცდომების დამუშავება, გადახვევა, გაყოფილი ეკრანი, მცურავი მენიუ, ჟესტების გადატანა, შეცდომებისგან დაცვა, მცდარი შეყვანა და აღდგენაც კი ავარიებისგან. ყველა ამ მახასიათებლისთვის გთხოვთ გადახედოთ დეტალურ წყაროს კოდს თითოეული ეკრანისთვის. ასე რომ, რისი გაკეთება შეგიძლია აქ:

  • დააჭირეთ "გუნდს 1" და თქვენ მიიღებთ შეტყობინებას, რომელიც საშუალებას მოგცემთ შეცვალოთ "გუნდის 1" სახელი. მას შემდეგ რაც შეიცვლება, ეს "გუნდი 1" შეიცვლება თქვენს მიერ არჩეული სახელით. ეს არის ასევე სახელი, რომელიც გამოყენებული იქნება თქვენი "თამაშის" და "მატჩის" ქულის გამოსახატავად (მომდევნო ეკრანებზე).
  • "გუნდის ქულა 1" და "გუნდის ანგარიში 2" იცვლება "+" და "-" ღილაკების საფუძველზე თითოეული შესაბამისი გუნდის ბოლოში დაჭერით. თუ ქულა არის 0 და '-' დაჭერილი, ისმის ხმოვანი და ვიზუალური სიგნალი, მაგრამ ქულა რჩება 0 (რა თქმა უნდა).
  • თუ "ქულა" 13 -ს აღწევს, რამდენიმე რამ ხდება: ვიზუალური სიგნალი არის მოწოდებული, შეტყობინების ფანჯარა აჩვენებს შედეგებს (სურათი #2) და გაძლევთ შესაძლებლობას დაიწყოთ ახალი თამაში ან ახალი მატჩი (და რა თქმა უნდა ახალი თამაში). თუ თქვენ შეარჩიეთ არა კლასიკური Petanque ქულა, არამედ 2 ქულიანი სხვაობა (რომელიც შეიძლება შეირჩეს პარამეტრების ეკრანზე #3), ვიდრე დამოკიდებულია გუნდებს შორის განსხვავებაზე, გამარჯვებულად გამოცხადდება (როგორც ნაჩვენებია სურათზე #3).
  • "ანგარიში" მიმდინარე "მატჩში" ნაჩვენებია ეკრანის ცენტრში "გუნდი 1" და "გუნდი 2" ქულებს შორის. და ეს გაგრძელდება ცხრილების შედგენამდე ახალი "მატჩის" დაწყებამდე.
  • სხვა ეკრანებზე ნავიგაციისთვის ასევე შეგიძლიათ "გადაფურცლეთ მარცხნივ" ეკრანის შესახებ #0 ან "გადაფურცლეთ მარჯვნივ", რათა ნახოთ მატჩების ეკრანი #2.

ბოლოს ბოლოში არის ნავიგაციის მენიუ. ეს ყოველთვის განლაგებულია ეკრანის აბსოლუტურ ბოლოში, არ აქვს მნიშვნელობა რა ზომისაა ეკრანი. მაშინაც კი, თუ Android "გაყოფილი ეკრანი" ფუნქციონირებს. ნავიგაციის ქვედა მენიუს აქვს 3 ღილაკი:

  1. ქვედა მარცხენა: '?' ღილაკი მარცხნივ წავა და კვლავ გამოჩნდება ეკრანის შესახებ საწყისი გაშვება (#0).
  2. ქვედა ცენტრი: გადატვირთვის ღილაკი (ის ჰგავს "@" ისარს) საშუალებას მოგცემთ დაიწყოთ ახალი თამაში ან ახალი მატჩი "ნებისმიერ დროს" თამაშში, უბრალოდ დააჭირეთ ქვედა "გადატვირთვის" ღილაკს. ეს ასევე იქნება შეტყობინების ფანჯარა, რომელიც მოგთხოვთ ან დაიწყოთ ახალი თამაში ან ახალი მატჩი.
  3. ქვედა მარჯვნივ: ღილაკი '->' მარჯვნივ წავა და აჩვენებს ყველა მატჩის ეკრანის მიმოხილვას (#2).

ნაბიჯი 4: ეკრანი 2 (ემთხვევა)

ეკრანი 2 (მატჩები)
ეკრანი 2 (მატჩები)
ეკრანი 2 (მატჩები)
ეკრანი 2 (მატჩები)
ეკრანი 2 (მატჩები)
ეკრანი 2 (მატჩები)

მიუხედავად იმისა, რომ ვიზუალურ მაკიაჟში ძალიან მარტივია, ამ ეკრანს უფრო საინტერესო კოდი აქვს, ვიდრე სხვა ეკრანებს. მაგრამ სანამ ჩვენ გადავალთ, ვნახოთ რას აკეთებს ის ეკრანი:

"გუნდი 1" და "გუნდი 2" ლეიბლების ქვეშ არის ყველა მატჩის სია და მათი შესაბამისი საერთო ქულები. ეს არის დახარისხებული სია, სადაც არის "ბოლო ითამაშა მატჩი" ზედა და "უძველესი ნათამაშები მატჩი" ბოლოში.

შუაში, "გუნდ 1" -სა და "გუნდ 2" -ს შორის არის ღილაკი, რომლის საშუალებითაც შესაძლებელია მატჩების სიის დახარისხება აღმავალი ან დაღმავალი თანმიმდევრობით. ხატი შეიცვლება შერჩეული დახარისხების მიმართულებიდან გამომდინარე.

სხვა ეკრანებზე ნავიგაციისთვის ასევე შეგიძლიათ 'გადაახვიეთ მარცხნივ' მთავარ ეკრანზე #1 ან 'გადაახვიეთ მარჯვნივ' პარამეტრების ეკრანის #3 საჩვენებლად.

ბოლოს ბოლოში არის ნავიგაციის მენიუ. ეს ყოველთვის განლაგებულია ეკრანის აბსოლუტურ ბოლოში, არ აქვს მნიშვნელობა რა ზომისაა ეკრანი. მაშინაც კი, თუ Android "გაყოფილი ეკრანი" ფუნქციონირებს (როგორც ნაჩვენებია სურათზე #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" "Foo 1" "-" "42 FooBar"

და ვინაიდან არ ვიცი, რამდენ ხანს იქნება ჩვენი მატჩების სია, მე ვდებ ყველა "გუნდის 1 სახელს" და "გუნდის 1 ქულას" ერთსა და იმავე HTMLFormat ლეიბლში და ყოველი მატჩის შემდეგ ჩავსვამ a- ს და ვდებ შემდეგს ახალ ხაზზე რა

მოამზადეთ ნივთები დასალაგებლად:

როგორც აღწერილია მონაცემთა (ბაზის) დიზაინის ნაბიჯში შემიძლია მხოლოდ ერთი მნიშვნელობის შენახვა. ასე რომ, მე შევინახე "გუნდის 1 სახელის", "გუნდის 1 ქულის", "გუნდის 2 ქულის" და "გუნდის 2 სახელის" მნიშვნელობები, რომლებიც გამოყოფილია არა-ვიზუალური საკონტროლო სიმბოლოთი "\ t". ახლა მე მჭირდება მათი ამოღება მონაცემთა ბაზიდან (როგორც ნაჩვენებია სურათზე #3).

კოდის ფრაგმენტი გვიჩვენებს, რომ ჩვენ ჯერ ვამოწმებთ, არის თუ არა Debug-flag დაყენებული (ეს კეთდება ამ პროგრამის ყველა ეკრანზე. შემდეგი ის ქმნის ჩამონათვალს Key (s/Value წყვილი), რომელიც ჩვენ უნდა დავივიწყოთ მონაცემთა ბაზის გავლისას. ჩვენ მხოლოდ "მატჩის" მონაცემები გვაინტერესებს, სხვა არაფერი. ჩვენ შემდეგ ვატარებთ მონაცემთა ბაზის მარყუჟს, იგნორირებას უკეთებს იგნორირების სიაში არსებულ ყველა ღილაკს და ვქმნით ახალ სიას 2 მნიშვნელობით:

  1. PrimaryKey (გახსოვდეთ, ეს არის ნომერი, რომელიც მიუთითებს მატჩის ნომერზე, დაწყებული მატჩით #1)
  2. სტრიქონი, რომელიც შეიცავს ღირებულებებს "გუნდის 1 სახელი", "გუნდის 1 ქულა", "გუნდი 2 ქულა" და "გუნდის სახელი 2"

ჩვენ მივდივართ სიაში და ვქმნით სიების ახალ ჩამონათვალს, სადაც ცალკეული ველები იყოფა ცალკეულ ერთეულებად (როგორც ნაჩვენებია სურათი #4):

DataToSort -> სიის ინდექსი 1 -> სიის ინდექსი 1 (PK ნომერი)

-> სიის ინდექსი 2 (გუნდის სახელი 1) -> სიის ინდექსი 3 (გუნდის ქულა 1) -> სიის ინდექსი 4 (გუნდის ქულა 2) -> სიის ინდექსი 5 (გუნდის სახელი 2) -> სიის ინდექსი 2 -> სიის ინდექსი 1 (PK ნომერი) -> სია ინდექსი 2 (გუნდის სახელი 1) ->… ->…

ამის შემდეგ ჩვენ ვაჩვენებთ გამოსწორების ინფორმაციას, თუ Debug დროშა მართალია. ახლა კი ჩვენ შეგვიძლია საბოლოოდ დავალაგოთ ჩვენი სია (სიების).

BubbleSort* სიების სია:

სურათი #5 გვიჩვენებს BubbleSort* სიების სრულ ჩამონათვალს* სიების სიაში. ეს ალგორითმი, რა თქმა უნდა, შეიძლება გამოყენებულ იქნას სიების სიის ნებისმიერი ზომისათვის, არ აქვს მნიშვნელობა რამდენი ინდექსია წარმოდგენილი.

* მეტი ინფორმაცია იმის შესახებ, თუ რამდენად მარტივია BubbleSort ალგორითმი YouTube- ზე.

ნაბიჯი 5: ეკრანი 3 (პარამეტრები)

ეკრანი 3 (პარამეტრები)
ეკრანი 3 (პარამეტრები)

ეს ეკრანი გამოიყურება ძალიან დაკავებული და აქვს ბევრი ვიზუალური დიზაინის ელემენტი. საბოლოო ჯამში არის მხოლოდ 5 გადამრთველი გადამრთველი:

  1. 'ფრედი გაიტანა': თუ ჩართულია 'ჩართულია' ის ცვლის ქულის ქცევას და წყვეტს გამარჯვებულს 13 ქულით 2 ქულის სხვაობით და არა მხოლოდ პირველი ვინც მიაღწია 13 -ს.
  2. "Bluetooth დაწყვილება": (როდესაც ჩართულია) თუ ჩართულია "ჩართულია" საშუალებას აძლევს ამ პროგრამის დაწყვილებას გარე Petanque ეკრანთან.
  3. 'მატჩების გადატვირთვა': თუ ჩართულია 'ჩართულია' ის გადააყენებს/წაშლის ყველა მატჩს და დაიწყება მატჩი 1 -ით.
  4. 'DB- ის გადატვირთვა' თუ ის 'ჩართულია' ის წაშლის/გადააყენებს ყველა მატჩს და ყველა სხვა პროგრამის პარამეტრს დაუბრუნდება თავდაპირველ პარამეტრებს, მათ შორის მიმდინარე ქულას, მატჩებს, გუნდების სახელებს, გამართვის პარამეტრებს, დახარისხების წესს, Bluetooth პარამეტრებს (როცა ჩართულია) და ა.შ. რა
  5. 'გამართვა': თუ ჩართულია 'ჩართულია' გამოჩნდება გამართვის შესახებ ინფორმაცია მთელს აპლიკაციაში კვადრატულ ფრჩხილებში ''. ისეთი რამ, როგორიცაა 'ჩანაწერების საერთო რაოდენობა, ცვლადების საერთო რაოდენობა, მიმდინარე მატჩის ნომერი, თამაშის PK ნომერი და ა.

ბოლოს ბოლოში არის ნავიგაციის მენიუ. ეს ყოველთვის განლაგებულია ეკრანის აბსოლუტურ ბოლოში, არ აქვს მნიშვნელობა რა ზომისაა ეკრანი. მაშინაც კი, თუ Android- ის "გაყოფილი ეკრანი" ფუნქციონირებს ან ეკრანი უფრო მაღალია ვიდრე ეკრანზე გამოჩნდება ეკრანზე ერთეულების რაოდენობის გამო. სადაც ეს ასეა, თქვენ ყოველთვის შეგიძლიათ გადახვიდეთ ზემოთ და ქვემოთ გადაფურცვლით. ამ ქვედა ნავიგაციის მენიუს აქვს მხოლოდ 1 ღილაკი:

ქვედა მარცხენა: ღილაკი '<-' მარცხნივ წავა და აჩვენებს საწყისს ყველა მატჩის ეკრანის მიმოხილვას (#2)

ნაბიჯი 6: ეკრანი 0 (შესახებ)

ეკრანი 0 (შესახებ)
ეკრანი 0 (შესახებ)

საბოლოო ეკრანი. მხოლოდ ინფორმაცია, მეტი არაფერი.

ეს ეკრანი ნაჩვენებია პირველად, როდესაც ეს პროგრამა იწყება. ამის შემდეგ იგი აღარასოდეს გამოჩნდება, თუ თქვენ არ აირჩევთ ამას "?" დაჭერით. ღილაკი მთავარ ეკრანზე #1.

ნავიგაციის ქვედა მენიუს აქვს მხოლოდ 1 ღილაკი და ეს დაგიბრუნებთ მთავარ ეკრანზე #1.

ნაბიჯი 7: პროგრამული უზრუნველყოფა და/ან წყაროს კოდი

პროგრამული უზრუნველყოფა და/ან წყაროს კოდი
პროგრამული უზრუნველყოფა და/ან წყაროს კოდი

ბოლოს და ბოლოს.

შეგიძლიათ ჩამოტვირთოთ პროგრამა Google Drive– ის ამ მდებარეობიდან.

შეგიძლიათ ჩამოტვირთოთ კოდი MIT აპლიკაციის გამომგონებლის გალერეის ჩანაწერიდან Pentaque (სურათი #1). ეს საშუალებას მოგცემთ შეინახოთ პროექტი თქვენს საკუთარ MIT App Inventor ანგარიშზე (შეგიძლიათ გადაარქვათ ის რაც გინდათ). იქიდან თქვენ შეგიძლიათ ნახოთ ყველა კოდი Blocks რედაქტორში, ეკრანები დიზაინერის რედაქტორში და ყველა მედია და რესურსი, რომელიც გამოიყენება ამ პროექტისათვის.

თქვენ ასევე შეგიძლიათ ჩამოტვირთოთ საწყისი კოდი (.aia ფაილი, რომელიც სინამდვილეში.zip ფაილია) ამ Google Drive– ის მდებარეობიდან.

გირჩევთ: