فهرست مطالب:

کاربرد حفظ امتیاز Petanque / Jeu-de-Boules: 7 مرحله
کاربرد حفظ امتیاز Petanque / Jeu-de-Boules: 7 مرحله

تصویری: کاربرد حفظ امتیاز Petanque / Jeu-de-Boules: 7 مرحله

تصویری: کاربرد حفظ امتیاز Petanque / Jeu-de-Boules: 7 مرحله
تصویری: Заряжай! с 0 до Мастера Спорта. Методика БКМ. #tabletennis #настольныйтеннис #multiball 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 App Inventor (رایگان)
  4. یک بسته طراحی ساده به عنوان مثال Pixlr یا Gimp (همه رایگان)
  5. وب سایت منبع آیکون به عنوان مثال نمادهای UI مواد یا Material.io (همه رایگان)

نرم افزار و کد منبع:

در انتهای این صفحه می توانید پیوندی به برنامه واقعی 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 (مطابقت).

* اطلاعات بیشتر در مورد نحوه ایجاد 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) و به شما این امکان را می دهد که یک بازی جدید یا یک مسابقه جدید (و البته یک بازی جدید) را شروع کنید. بازی) اگر با این حال شما نمره کلاسیک Petanque را انتخاب نکرده اید ، اما امتیاز 2 امتیازی (که در صفحه تنظیمات شماره 3 قابل انتخاب است) را انتخاب کرده اید ، بسته به تفاوت بین دو تیم ، یک نفر برنده اعلام می شود (همانطور که در تصویر شماره 3 نشان داده شده است))
  • "نمره" در "مسابقه" فعلی در مرکز صفحه بین نمرات "تیم 1" و "تیم 2" نشان داده می شود. و این جدول بندی ادامه می یابد تا زمانی که "مسابقه" جدیدی آغاز شود.
  • برای حرکت به صفحات دیگر نیز می توانید "کشیدن به چپ" را برای نمایش صفحه About #0 یا "کشیدن راست" برای نمایش صفحه Matches #2 نشان دهید.

در نهایت در پایین منوی ناوبری قرار دارد. بدون توجه به اندازه صفحه ، این صفحه همیشه در پایین مطلق صفحه قرار دارد. حتی اگر از قابلیت 'Split screen' Android استفاده شود. منوی ناوبری پایین دارای 3 دکمه است:

  1. پایین چپ: '؟' دکمه به چپ می رود و راه اندازی اولیه About screen (#0) را دوباره نشان می دهد.
  2. پایین مرکز: دکمه تنظیم مجدد (که با یک پیکان "@" به نظر می رسد) به شما امکان می دهد یک بازی جدید یا مسابقه جدید را در هر زمان در بازی شروع کنید ، فقط دکمه وسط پایین "Reset" را فشار دهید. این همچنین یک پنجره اعلان به شما می دهد که از شما می خواهد یا یک بازی جدید را شروع کنید یا یک مسابقه جدید را شروع کنید.
  3. پایین-راست: دکمه '->' به سمت راست رفته و نمای کلی از تمام صفحه مسابقات (شماره 2) را نشان می دهد.

مرحله 4: صفحه 2 (مسابقات)

صفحه 2 (مسابقات)
صفحه 2 (مسابقات)
صفحه 2 (مسابقات)
صفحه 2 (مسابقات)
صفحه 2 (مسابقات)
صفحه 2 (مسابقات)

اگرچه در آرایش بصری بسیار ساده است ، اما این صفحه دارای کد جالب تری نسبت به سایر صفحه ها است. اما قبل از اینکه به این موضوع بپردازیم ، اجازه دهید ببینیم صفحه نمایش او چه کار می کند:

در زیر برچسب های "تیم 1" و "تیم 2" لیستی از همه مسابقات و نمرات کل مربوط به آنها وجود دارد. این یک لیست مرتب شده با "آخرین بازی انجام شده" در بالا و "قدیمی ترین مسابقه انجام شده" در پایین است.

در وسط ، بین "تیم 1" و "تیم 2" ، دکمه ای وجود دارد که می تواند برای مرتب سازی لیست مسابقات به ترتیب صعودی یا نزولی استفاده شود. بسته به جهت مرتب سازی انتخاب شده ، نماد تغییر می کند.

برای حرکت به صفحه های دیگر ، همچنین می توانید "کشیدن به چپ" برای نمایش صفحه اصلی شماره 1 یا "کشیدن راست" برای نمایش صفحه تنظیمات شماره 3.

در نهایت در پایین منوی ناوبری قرار دارد. بدون توجه به اندازه صفحه ، این صفحه همیشه در پایین مطلق صفحه قرار دارد. حتی در صورت استفاده از قابلیت Android Split screen (همانطور که در تصویر شماره 2 نشان داده شده است). منوی ناوبری پایین دارای 3 دکمه است:

  1. پایین چپ: '؟' دکمه به چپ می رود و راه اندازی اولیه About screen (#0) را دوباره نشان می دهد.
  2. پایین مرکز: دکمه تنظیم مجدد (که با یک پیکان "@" به نظر می رسد) به شما امکان می دهد یک بازی جدید یا مسابقه جدید را در هر زمان در بازی شروع کنید ، فقط دکمه وسط پایین "Reset" را فشار دهید. این همچنین یک پنجره اعلان را به شما می دهد که از شما می خواهد یا یک بازی جدید را شروع کنید یا یک مسابقه جدید را شروع کنید.
  3. پایین-راست: دکمه '->' به سمت راست رفته و نمای کلی از تمام صفحه مسابقات (شماره 2) را نشان می دهد.

مرکز لیست مسابقات در صفحه:

من می خواستم لیستی از مسابقات با مرکزیت صفحه را با تقسیم "-" به عنوان مرکز نشان دهم. در حال حاضر ، از آنجا که تعداد بازی هایی که یک تیم برده است می تواند 1 یا بیشتر باشد و نام واقعی هر تیم از نظر اندازه متفاوت باشد ، نمی توانیم این را فقط در 1 لیست قرار دهیم. همه چیز چیزی شبیه به این خواهد بود:

تیم 1 0 - 1 تیم 2

Foo 1 - 42 FooBar

بنابراین برچسب تقسیم "-" باید در مرکز قرار گیرد. با "نام تیم 1" و "نمره تیم 1" راست در سمت چپ تقسیم "-". و "نمره تیم 2" و "نام تیم 2" در سمت چپ تقسیم "-" سمت چپ قرار گرفته است. بنابراین ما اینگونه به پایان می رسیم:

"تیم 1 0" "-" "1 تیم 2" "فو 1" "-" "42 فو بار"

و از آنجا که نمی دانم لیست مسابقات ما تا چه زمانی خواهد بود ، تمام "نام تیم 1" و "نمره تیم 1" را در یک برچسب HTMLFormat قرار می دهم و بعد از هر مسابقه a را درج می کنم و مورد بعدی را در NewLine قرار می دهم. به

همه چیز را برای مرتب سازی آماده کنید:

همانطور که در مرحله طراحی داده (پایه) ذکر شد ، من فقط می توانم یک مقدار را ذخیره کنم. بنابراین من مقادیر "نام تیم 1" ، "نمره تیم 1" ، "نمره تیم 2" و "نام تیم 2" را با یک کاراکتر کنترل غیر بصری "\ t" جدا کرده ام. اکنون باید ابتدا آنها را از پایگاه داده خارج کنم (همانطور که در تصویر شماره 3 نشان داده شده است).

قطعه کد نشان می دهد که ابتدا بررسی می کنیم که آیا Debug-flag تنظیم شده است (این کار در هر صفحه این برنامه انجام می شود. سپس لیستی از Key (s/Value جفت ها) ایجاد می کند که هنگام مرور از پایگاه داده باید نادیده بگیریم. ما فقط به داده های "مطابقت" علاقه مند هستیم ، هیچ چیز دیگری. سپس پایگاه داده را حلقه می کنیم ، همه کلیدهای لیست نادیده گرفته شده را نادیده می گیریم و یک لیست جدید با 2 مقدار ایجاد می کنیم:

  1. PrimaryKey (به یاد داشته باشید این یک عدد است که شماره Match را نشان می دهد ، با Match #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 True باشد ، برخی از اطلاعات اشکال زدایی را نشان می دهیم. و اکنون می توانیم بالاخره لیست (لیست ها) را مرتب کنیم.

BubbleSort* فهرستی از لیست ها:

تصویر شماره 5 فهرست کامل لیست BubbleSort* لیست ما را نشان می دهد. این الگوریتم البته می تواند برای هر اندازه فهرست لیستها بدون توجه به تعداد فهرستها استفاده شود.

* اطلاعات بیشتر در مورد ساده بودن الگوریتم BubbleSort در YouTube.

مرحله 5: صفحه 3 (تنظیمات)

صفحه 3 (تنظیمات)
صفحه 3 (تنظیمات)

این صفحه نمایش بسیار شلوغ به نظر می رسد و دارای عناصر طراحی بصری زیادی است. اما در نهایت فقط 5 سوئیچ Toggle وجود دارد:

  1. 'Fred Scoring': اگر "On" را روشن کنید ، رفتار امتیازدهی را تغییر می دهد و برنده را بر اساس تفاوت 2 امتیازی در 13 و نه تنها اولین نفری که به 13 می رسد ، تعیین می کند.
  2. "جفت شدن بلوتوث": (در صورت فعال بودن) اگر "روشن" باشد ، جفت شدن با این برنامه را با صفحه خارجی Petanque فعال می کند.
  3. 'Reset Matches': اگر 'On' را روشن کنید ، همه مسابقات را بازنشانی/حذف کرده و با Match 1 شروع می شود.
  4. "بازنشانی DB": اگر "روشن" باشد ، همه مسابقات و همه تنظیمات برنامه دیگر را از جمله نمره فعلی ، مسابقات ، نام تیم ، تنظیمات اشکال زدایی ، ترتیب مرتب سازی ، تنظیمات بلوتوث (در صورت فعال بودن) و غیره حذف/بازنشانی می کند. به
  5. 'اشکال زدایی': در صورت روشن بودن 'On' اطلاعات اشکال زدایی را در سراسر برنامه بین پرانتز '' نشان می دهد. مواردی مانند 'تعداد کل رکوردها ، تعداد کل متغیرها ، شماره بازی فعلی ، شماره PK بازی و غیره.

در نهایت در پایین منوی ناوبری قرار دارد. بدون توجه به اندازه صفحه ، این صفحه همیشه در پایین مطلق صفحه قرار دارد. حتی اگر از قابلیت 'Split screen' Android استفاده شود یا صفحه نمایش به دلیل تعداد موارد روی صفحه فقط بلندتر از صفحه نمایش باشد. در این حالت ، همیشه می توانید با کشیدن بالا و پایین حرکت کنید. این منوی ناوبری پایین فقط 1 دکمه دارد:

پایین سمت چپ: دکمه '<-' به سمت چپ می رود و نمای اولیه نمای کلی همه صفحه مسابقات (شماره 2) را نشان می دهد

مرحله 6: صفحه 0 (درباره)

صفحه 0 (درباره)
صفحه 0 (درباره)

صفحه نهایی. فقط اطلاعات ، نه بیشتر

این صفحه اولین بار است که این برنامه راه اندازی می شود نشان داده می شود. پس از آن دیگر هرگز نمایش داده نمی شود ، مگر اینکه این کار را با فشار دادن '؟' انجام دهید. دکمه روی صفحه اصلی شماره 1.

منوی ناوبری پایین فقط 1 دکمه دارد و این شما را به صفحه اصلی شماره 1 باز می گرداند.

مرحله 7: نرم افزار و/یا کد منبع

نرم افزار و/یا کد منبع
نرم افزار و/یا کد منبع

سرانجام.

می توانید برنامه را از این مکان Google Drive بارگیری کنید.

می توانید کد را از ورودی گالری MIT App Inventor برای Pentaque بارگیری کنید (تصویر شماره 1). این به شما امکان می دهد پروژه را در حساب MIT App Inventor خود ذخیره کنید (می توانید نام آن را به هر چیزی که می خواهید تغییر دهید). از آنجا می توانید تمام کد را در ویرایشگر Blocks ، صفحه های موجود در ویرایشگر Designer و همه رسانه ها و منابع مورد استفاده برای این پروژه را مشاهده کنید.

همچنین می توانید کد منبع (فایل.aia ، که در واقع یک فایل.zip است) را از این مکان Google Drive بارگیری کنید.

توصیه شده: