Mündəricat:

Bit Nə Düşünür? BBC Microbit ilə Sadə Bir Tahmin Oyunu Edin !: 10 Addım
Bit Nə Düşünür? BBC Microbit ilə Sadə Bir Tahmin Oyunu Edin !: 10 Addım

Video: Bit Nə Düşünür? BBC Microbit ilə Sadə Bir Tahmin Oyunu Edin !: 10 Addım

Video: Bit Nə Düşünür? BBC Microbit ilə Sadə Bir Tahmin Oyunu Edin !: 10 Addım
Video: Mikrobit nədir? - What is a microbit? 2024, Iyul
Anonim
Bit Nə Düşünür? BBC Microbit ilə sadə bir tahmin oyunu edin!
Bit Nə Düşünür? BBC Microbit ilə sadə bir tahmin oyunu edin!

Bir neçə onlayn məqalədə onlar haqqında müsbət rəyləri oxuduqdan sonra bir neçə BBC Microbits aldım.

BIT ilə tanış olmaq üçün bir neçə saat onlayn Microsoft Blocks Redaktoru ilə oynadım və sadə bir tahmin oyunu tapdım.

Bu IBLE -də oyunun qaydalarından bəhs edəcəyik və Bloklar Redaktorunda fərqli kod bloklarında yığılmış funksiyalara keçəcəyik.

Nəhayət, həyəcanlı tamaşaçılar onlayn simulyatora gedib bu sadə oyuna bir şans verə bilərlər.

Gəlin başlayaq.

Addım 1: Başlamadan əvvəl…

Başlamadan əvvəl…
Başlamadan əvvəl…
Başlamadan əvvəl…
Başlamadan əvvəl…

Avadanlıq

BBC Microbit lövhəsi ilə tanış olmaq asandır. Bu IBLE üçün bilmək lazım olan tək şey, 2 düyməni olan kiçik bir lövhə, bir sıra kiçik LEDlər və enerji təchizatı rolunu oynayan və bir proqramı lövhəyə yükləmək üçün bir vasitə olan mikro USB yuvasıdır..

Kiçik LED -lərin müxtəlif modellərdə işıqlandırılması üçün proqramlaşdırıla bilər.

Qeyd:

Bu IBLE üçün fiziki lövhəyə ehtiyacınız yoxdur! BBC Microbit saytında onlayn olaraq hazırladığınız kodu sınamaq üçün bir onlayn simulyator var.

Proqram təminatı

Bu IBLE, BBC Microbit və/və ya Onlayn Bloklar Redaktoru ilə işə başlamağın təfərrüatını açıqlamır.

Tamaşaçıları növbəti addımlara keçməzdən əvvəl bu BBC Micorbit qaynağını araşdırmağa təşviq edirik.

BBC Microbit çox istifadəçi dostu bir yanaşma istifadə edərək proqramlaşdırma öyrətmək üçün hazırlanmışdır və buna görə də başqa bir proqramlaşdırma dili ilə tanış olmaq çox xoşdur, lakin xüsusilə proqramlaşdırma öyrənmək üçün Microsoft Bloklar Redaktorundan istifadə edəcəksinizsə bu tələb olunmur.

Buna baxmayaraq, bir neçə digər mikro nəzarətçi proqramlaşdırma platformasına sahib olduğumu və onunla oynadığımı nəzərə alaraq, BBC Microbit-dən başlamaq asan olan bir məhsulla hələ qarşılaşmamışam.

Addım 2: Tahmin Oyununun Qaydaları

Tahmin Oyununun Qaydaları
Tahmin Oyununun Qaydaları

Oyunun qaydaları belədir:

  1. Güc açıldıqda, BIT bir rəqəm düşünür və insan panelini LED panelində bir mesaj yazaraq bu nömrənin nə olduğunu təxmin etməyə çağırır və cavab gözləyir.
  2. Oyunçu bir tahmin edir və sol basma düyməsini (A) cavabı qədər dəfələrlə basır - Məsələn, oyunçu 5 -i təxmin edirsə, düyməyə 5 dəfə basılır.
  3. BIT -ə cavabı təqdim etmək üçün oyunçu sağ basma düyməsini (B) bir dəfə basır!
  4. Oyunçular doğru düşünürlərsə, oyunçu bir xal alır, əks halda BIT bir xal alır
  5. Bir oyunçu aralığın xaricində bir rəqəm təxmin edərsə, digər oyunçu bir xal alır - BIT LED ekranında böyük bir X göstərir və yeni bir rəqəmi təxmin etməyə və problemi təkrarlamağa davam edir; Misal: BIT sizə 1 ilə 5 arasında bir rəqəm təxmin etməyə meydan oxudusa və 6 -nı təxmin etdinizsə və ya SIFIRI təxmin etdinizsə (A düyməsini basmadan əvvəl B düyməsini basaraq), o dövr etibarsız sayılır
  6. Çağırışa cavab oyunçulardan biri icazə verilən maksimum xal toplayana qədər davam edir

Yeni bir oyuna başlamaq:

İstənilən vaxt yeni bir oyuna başlamaq üçün BIT -ə sarsıntı verin! Və ya sadəcə gücü kəsin və yenidən bağlayın.

Addım 3: Bloklar Proqramı: Dəyişənlər

Bloklar Proqramı: Dəyişənlər
Bloklar Proqramı: Dəyişənlər

Proqram, aşağıda sadalanan funksiyalarına uyğun olaraq adlandırılan bir neçə dəyişəndən istifadə edir. Bu dəyişənlər Bloklar Redaktorundakı Dəyişənlərin Proqramlaşdırılması sekmesini tıklayaraq yaradıla bilər

BIT_SCORE - BIT tərəfindən toplanan xalları izləyir

bitGuessed - Bu dəyişən BIT tərəfindən təxmin edilən təsadüfi dəyəri saxlayır

CHECK - Doğru olaraq təyin edildikdə, BIT oyunçuların təxminlərinin BITs tahmininə bərabər olub olmadığını yoxlayır

GAME_RANGE - Bu rəqəm BIT və ya oyunçunun təxmin edə biləcəyi yüksəkliyi məhdudlaşdırır

Misal: 6 olaraq təyin olunarsa, hər iki oyunçu 1 -dən 6 -a qədər tahmin edə bilər

MSG - Oyunun kontekstinə əsasən fərqli mesajları göstərmək üçün dəyişdirilən bir simli

PLAYER_SCORE - oyunçunun topladığı xalları izləyir

playerGuess - Oyunçunun təxmin etdiyi rəqəm bu dəyişənə yazılır

QEYD

Adı verilən ilk dəyişən ümumi və standart dəyişkəndir və nəzərə alınmır

Addım 4: Funksiyalar

Funksiyalar
Funksiyalar

Öyrənmə prosesinin bir hissəsi və daha yaxşı təşkilatlanma üçün kod, əsas proqramda çağırıla və ya çağırıla bilən bir sıra funksiyalara bölünmüşdür. Dəyişənlər kimi, Ətraflı> Funksiyaların Proqramlaşdırılması sekmesini tıklayaraq funksiyalar yaradıla və əldə edilə bilər.

Aşağıda funksiyaların qısa təsviri verilmişdir:

announceWinner - Bu funksiya qalib gələn oyunçuya ünvanlanan Qalibiyyət mesajını yazdırır

doChallenge - BIT -in nömrəni təxmin etməyə və oyunçuya problem yaratmağa çağırdığı funksiya

showBadGuess - Oyunçulardan birinin icazə verilən diapazondan kənarda təxmin etdiyi təqdirdə LED panelində böyük bir X işarəsi olan bir mesaj göstərilir.

showLose - BIT oyunçu üzərində bir turda qalib gəlsə çağırılır

showMessage - oyunçuya müəyyən bir sıra daxilində bir sıra tapmaq üçün meydan oxumaq üçün bir mesaj təqdim edir

showWin - oyunçu BIT üzərində tahmin turunda qalib gəldikdə çağırılır

Addım 5: Proqramın Başlanması və Sarsıntı Hadisələri və Hadisə İşləyiciləri

Proqramın Başlanması və Sarsıntı Hadisələri və Hadisə İşləyiciləri
Proqramın Başlanması və Sarsıntı Hadisələri və Hadisə İşləyiciləri

"Başlanğıcda" və "sarsıntıda", "başlanğıc" hadisəsi və "sarsıntı" hadisələri baş verdikdə müvafiq olaraq çağırılan hadisə idarəçiləridir. Blocks kodundan göründüyü kimi, bu iki hadisə işləyicisi çağırıldıqda baş verənlər demək olar ki, eynidır:

  • ShowMessage () funksiyası oyun başlayanda mesajı göstərmək üçün çağırılır
  • Mesaj göstərildikdən sonra 650 milli saniyə qısa bir fasilə var
  • DoChallenge () funksiyası, BIT -in bir rəqəmi təxmin etdiyini və insan oyunçusunun bir tahmin təqdim etməsini gözlədiyi adlanır.

Növbəti addımda iki funksiyanı əhatə edəcəyik.

Bununla birlikdə, "başlanğıcda" və "sarsıntıda" hadisə idarəçiləri arasında əsas fərqlər var:

  1. "Başlanğıcda" hadisə idarəçisi BIT hər dəfə işə salındıqda işləyir - Gücün BIT -dən ayrılması və yenidən bağlanması kimi.
  2. Proqram başladıqda yalnız bir dəfə baş verməli olan bəzi şeylər "başlanğıcda" və bütün proqramda başqa heç bir yerdə təyin edilmir.
  3. Belə bir şey GAME_RANGE dəyişənini işə salmaqdır - bu halda, 6 -ya başlanğıcdır, bu da oyunçuların 1 ilə 6 arasında bir rəqəm təxmin edə biləcəyi deməkdir.
  4. "Başlanğıcda" əsas BIT funksiyası olduğu üçün Blocks Redaktorunun Əsas proqramlaşdırma sekmesinden əldə edilə biləcəyi təəccüblü deyil.
  5. Digər tərəfdən "silkələnmə", istifadəçi BIT -ə sürətli bir sarsıntı şəklində bir giriş təqdim etdikdə çağırılan bir hadisə idarəçisidir.
  6. Buna görə də "on shake" hadisə idarəçisini Bloklar Redaktorunun Giriş proqramlaşdırma sekmesinde tapa bilərsiniz

Addım 6: Başlanğıc Mesajı və Çağırış Funksiyaları

Başlanğıc Mesajı və Çağırış Funksiyaları
Başlanğıc Mesajı və Çağırış Funksiyaları
Başlanğıc Mesajı və Çağırış Funksiyaları
Başlanğıc Mesajı və Çağırış Funksiyaları
Başlanğıc Mesajı və Çağırış Funksiyaları
Başlanğıc Mesajı və Çağırış Funksiyaları

ShowMessage () Başlanğıc Mesajı funksiyası, aydın bir ekran əmri ilə BITs LED palitrasını təmizləyən və oyunçuya bir rəqəmi təxmin etməyə meydan oxuyan bir mesaj göstərən sadə bir funksiyadır.

ShowMessage funksiya blokundan göründüyü kimi, GAME_RANGE dəyişəninə bir neçə sabit sim parçası əlavə olunur və belə bir sadə mesajı göstərir:

Təxmin edin 0-6!

DoChallenge () funksiyası hər bir çağırış turunun əvvəlində çağırılır və buna görə də doChallenge funksiya blokundan göründüyü kimi:

  1. İnsan oyunçudan yeni bir giriş qəbul etməzdən əvvəl playerGuess dəyişənini sıfıra endirir
  2. CHECK dəyişənini yalançı vəziyyətə gətirir - bu, turun başlayacağını və hər iki oyunçunun təxmin etdiyi rəqəmləri müqayisə etməyin vaxtı olmadığını bildirir.
  3. Sonrakı və ən əhəmiyyətlisi, BIT, GAME_RANGE tərəfindən təyin olunan aralıqda təsadüfi bir rəqəm seçir və bitGuessed dəyişənində qeyd edir.
  4. Nəhayət, LED palitrası insan oyunçusunu BITs çağırışına cavab olaraq bir giriş tələb edən bir sual işarəsi simvolu ilə işıqlandırılır!

Qeyd

GAME_RANGE dəyişən dəyəri əvvəlki addımda müzakirə edildiyi kimi dəyişdirilərsə, oyununuz bir az fərqli görünə və hərəkət edə bilər.

Qoşulma funksiyası bir simli funksiyadır və Bloklar Redaktorunun Mətn proqramlaşdırma nişanından əldə edilə bilər

Addım 7: Düymə bir klik hadisəsi - BITs çağırışına cavab verin

Düymə bir klik hadisəsi - BITs çağırışına cavab verin!
Düymə bir klik hadisəsi - BITs çağırışına cavab verin!

BITs LED ekranında böyük sual işarəsi göründükdən sonra insan oyunçusu üçün problemə cavab vermək üçün sadəcə olaraq aşağıdakıları etmək lazımdır:

  1. BIT -in 0 ilə 6 arasında hansı rəqəmi düşünə biləcəyini təxmin edin
  2. Cavabınız olduğu qədər A düyməsini dəfələrlə basın - Məsələn, cavabınız 3 olarsa, A düyməsini 3 dəfə basın.

Aydındır ki, düyməni basmaq bir istifadəçi girişidir və buna görə də "açar düymə" hadisə idarəçisinə Bloklar redaktorunun Giriş proqramlaşdırma nişanı vasitəsilə daxil olmaq mümkündür. Hər dəfə istifadəçi A düyməsini basdıqda bu hadisə idarəçisi aşağıdakıları edir:

  • GAME_RANGE limitində olduğu müddətcə playerGuess dəyişəninin dəyərini 1 artırın (bu halda 6)
  • Oyunçu 7 və ya daha yüksək təqdim edərsə, təxmin etibarsız sayılır və playerGuess sıfıra sıfırlanır, bu da oyunçuların ehtimalını etibarsız edir.

Növbəti hərəkət, növbəti mərhələdə keçəcəyimiz problemin cavabını təqdim etməkdir.

Addım 8: B Düyməsinə Basın Hadisə - BITs Çağırışına Cavab Göndərin

The Button B Click Event - BITs Challenge -ə Cavab Göndərin!
The Button B Click Event - BITs Challenge -ə Cavab Göndərin!
The Button B Click Event - BITs Challenge -ə Cavab Göndərin!
The Button B Click Event - BITs Challenge -ə Cavab Göndərin!

İnsan oyunçu B düyməsinə bir dəfə basmaqla BIT -ə cavabı təqdim edir. BIT, oyunçular şəkildəki kod işarələri ilə göstərildiyi kimi cavab aldıqdan sonra B düyməsini "tıkla" hadisə idarəçisində bir sıra addımlar atılır:

  1. CHECK bayrağı True olaraq təyin olunur - bu, BIT -in oyunçuların təxminlərini müqayisə etməsi üçün bir siqnaldır
  2. Qiymətləndirmə yalnız hər iki oyunçunun Sıfırdan daha çox və GAME_RANGE limitində (6 -dan çox) təxmin edildiyi təqdirdə baş verir və əgər deyilsə, showBadGuess () funksiyası çağırılır - yaxşı tahmin edən oyunçu bir xal qazanır, pis tahmin edən oyunçu isə birini itirir!
  3. Oyunçular BIT -lərin uyğun olduğunu təxmin edərlərsə, showWin () funksiyası çağırılır - oyunçu bu turda qalib gəlir!
  4. Əks təqdirdə, showLose () funksiyası adlanır - BIT bu turda qalib gəlir!
  5. Hər turun sonunda announcWinner () funksiyası ilə iki oyunçudan birinin 3 xal qazanaraq qalib olub -olmadığını yoxlamaq üçün yoxlama aparılır - əgər belədirsə, oyun başa çatır və yekun qalib elan olunur və bütün skorlar və mesajlar sıfırla
  6. BIT, doChallenge () funksiyasını çağıraraq bir problem buraxaraq oyunu yenidən başlatır və oyunçunun cavab verməsini və prosesin təkrarlanmasını gözləyir.

Növbəti addımlarda yeni funksiyaları müzakirə edəcəyik.

Gözləmək! SIFIRI necə təxmin edirsiniz?

  • Random () Math funksiyasına baxsanız, onun ilkin dəyərinin sıfır olaraq təyin olunduğunu və dəyişdirilə bilməyəcəyini görə bilərsiniz.
  • BIT, bu səbəbdən bir Sıfırı tapmaq və bu məhdudiyyət nəticəsində oyunçuya meydan oxumaqda sərbəstdir
  • Eynilə, insan oyunçu əvvəlcə A düyməsini basmadan B düyməsini basaraq Sıfır bir tahmin təqdim edə bilər!
  • Buna icazə verilirsə, insan oyunçusunun oynamaq üçün heç bir səy göstərməsi lazım deyil və bunun heç bir mənası yoxdur!
  • Buna görə də bu məhdudiyyət 2 -ci maddə ilə kompensasiya edilmişdir. yuxarıda müzakirə edilmişdir

Addım 9: Funksiyaların Qalibi/Məğlub olması və Qalanları

Qazanma/Məğlubiyyət və Funksiyaların Qalanı
Qazanma/Məğlubiyyət və Funksiyaların Qalanı
Qazanma/Məğlubiyyət və Funksiyaların Qalanı
Qazanma/Məğlubiyyət və Funksiyaların Qalanı
Qazanma/Məğlubiyyət və Funksiyaların Qalanı
Qazanma/Məğlubiyyət və Funksiyaların Qalanı

Bütün bu funksiyalar, əvvəlki addımda göründüyü kimi B düyməsini "tıkla" hadisə işləyicisi tərəfindən çağırılır.

Bu funksiyalar olduqca düzdür və bu vaxta qədər düzgün adlandırılmış dəyişənlərin və Blocks Redaktorunun vizual xüsusiyyətlərinin birləşməsi ilə yaradılan kodun intuitiv və izahlı təbiəti ilə tanış olmalısınız.

  1. ShowWin () funksiyası, oyunçunun bu yarışda qalib gəldiyini göstərən bir mesaj göstərir və PLAYER_SCORE dəyişənini 1 artırır.
  2. Eynilə, showLose () funksiyası, oyunçunun pis bir tahmin etdiyini göstərir və BIT_SCORE dəyişənini 1 artıraraq BIT -ə bir xal verir.
  3. ShowBadGuess () funksiyası, oyunçulardan birinin (ya 0 və ya 6 -dan çox) pis bir tahmin etdiyini göstərən ekranda böyük bir X göstərir - bu vəziyyətdə pis oyunçu bir xal itirir, digəri isə bir xal!

Və nəhayət, announceWinner () funksiyası 3 turlu çağırış/cavabdan sonra böyük qalibin kim olduğunu elan etmək vəzifəsini yerinə yetirir:

  • PLAYER_SCORE və BIT_SCORE bal dəyişənlərinin sıfırlanması
  • Bu IBLE -nin əvvəlki addımında (6) müzakirə olunan showMessage () başlanğıc funksiyasını çağıraraq qısa fasilə verin və yeni bir oyuna başlayın.

Nəhayət, simulyatora və koda keçək!

Addım 10: Simulyator və Kod

Simulyator və kod
Simulyator və kod

Kod burada yerləşən onlayn simulyatorda işləyir

  • Simulyator səhifənin sol alt hissəsində yerləşir
  • Alternativ olaraq, BBC Microbit -in lazımlı olması halında Yükləmə düyməsini istifadə edərək kodu yükləyə bilərsiniz
  • IBLE -nin əvvəlində qeyd edildiyi kimi, kodu Bloklar Redaktorunda qurmaq və ya kodunuzu simulyasiya etmək və yoxlamaq üçün BBC Microbit -ə ehtiyacınız yoxdur, baxmayaraq ki, bu mənim kimi maraqlı insanlar üçün işləmir!

Redaktə Düyməsinə Bir Qeyd

  • Müşahidə etmisinizsə, kod ictimaiyyətdədir və sağ üstdəki Düzenle düyməsini istifadə edərək onu düzəltməyin bir yolu var.
  • Bununla birlikdə, bu kodun bir nüsxəsini çıxarmağınızı və ehtiyaclarınıza uyğun olaraq dəyişdirməyinizi səmimi olaraq xahiş edərdim ki, orijinal versiyası bu IBLE -nin maraqlarına uyğun olaraq qorunsun.

Təşəkkürlər! Və xoşbəxt kodlaşdırma !!!:-)

Tövsiyə: