Mündəricat:
- Addım 1: Başlamadan əvvəl…
- Addım 2: Tahmin Oyununun Qaydaları
- Addım 3: Bloklar Proqramı: Dəyişənlər
- Addım 4: Funksiyalar
- Addım 5: Proqramın Başlanması və Sarsıntı Hadisələri və Hadisə İşləyiciləri
- Addım 6: Başlanğıc Mesajı və Çağırış Funksiyaları
- Addım 7: Düymə bir klik hadisəsi - BITs çağırışına cavab verin
- Addım 8: B Düyməsinə Basın Hadisə - BITs Çağırışına Cavab Göndərin
- Addım 9: Funksiyaların Qalibi/Məğlub olması və Qalanları
- Addım 10: Simulyator və Kod
Video: Bit Nə Düşünür? BBC Microbit ilə Sadə Bir Tahmin Oyunu Edin !: 10 Addım
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:46
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…
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ı
Oyunun qaydaları belədir:
- 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.
- 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.
- BIT -ə cavabı təqdim etmək üçün oyunçu sağ basma düyməsini (B) bir dəfə basır!
- Oyunçular doğru düşünürlərsə, oyunçu bir xal alır, əks halda BIT bir xal alır
- 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
- Ç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
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
Ö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
"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:
- "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.
- 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.
- 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.
- "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.
- 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.
- 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ı
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:
- İnsan oyunçudan yeni bir giriş qəbul etməzdən əvvəl playerGuess dəyişənini sıfıra endirir
- 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.
- 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.
- 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
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:
- BIT -in 0 ilə 6 arasında hansı rəqəmi düşünə biləcəyini təxmin edin
- 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
İ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:
- CHECK bayrağı True olaraq təyin olunur - bu, BIT -in oyunçuların təxminlərini müqayisə etməsi üçün bir siqnaldır
- 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!
- 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!
- Əks təqdirdə, showLose () funksiyası adlanır - BIT bu turda qalib gəlir!
- 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
- 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ı
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.
- 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.
- 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.
- 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
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ə:
BBC MicroBit istifadə edərək yaddaş tapmacası oyunu: 7 addım
BBC MicroBit -dən istifadə edərək Yaddaş Bulmacası Oyunu: BBC MicroBit -in nə olduğunu bilmirsinizsə, bu, giriş və çıxışlara sahib olmaq üçün proqramlaşdıra biləcəyiniz həqiqətən kiçik bir cihazdır. Kindof bir Arduino kimi, amma daha çox ətlidir. MicroBit haqqında həqiqətən bəyəndiyim şey, iki giriş girişinə sahib olması idi
Sadə bir tahmin oyunu - Python + XBees + Arduino: 10 addım
Sadə bir Tahmin Oyunu - Python + XBees + Arduino: Oyunun işləmə qaydası belədir: 'a' - 'h' - & gt arasında bir hərf tapmaq üçün 4 cəhdiniz var; Doğru məktubu tapın: Siz qazanırsınız! ?-> Səhv məktubu tap: Oyun bitdi?-> 'A' - 'h' xaricində başqa bir xarakter tapın: Oyun bitdi? Arduino sizə icazə verəcək
BBC Microbit Flappy Bird Oyunu və Davası: 7 addım
BBC Microbit Flappy Bird Oyunu və Çantası: Bu BBC mikrobit və sonsuz əyləncə üçün oyun
Qırılan bir oyun konsolu ilə gözəl bir şey edin: 6 addım
Qırılan bir oyun konsolu ilə gözəl bir şey edin: Bir müddət əvvəl dostum mənə artıq işləməyən köhnə PS2 -ni verdi. Təəssüf ki, elektrik mühəndisi olmadığım üçün konsolu düzəldə bilmərəm, ancaq RetroPie haqqında biliklərimi yepyeni bir oyun sistemi yaratmaq üçün istifadə edə bilərəm. (Bu təlimat üçün mən
Arduino MEGA ilə RFID-RC522 ilə əlaqə qurmaq sadə bir eskiz: 4 addım
Arduino MEGA ilə sadə bir eskiz ilə RFID-RC522-nin qarşılıqlı əlaqəsi: Hai bu təlimatda RFID-ni oxumaq və məlumatları Serial Monitorda göstərmək üçün Arduino Mega 2560 ilə RFID-RC522-ni birləşdirməkdə sizə kömək edəcəyəm. Buna görə də bunu təkbaşına genişləndirə bilərsiniz: Arduino Mega və ya Arduino Uno