Мазмұны:

Бит не ойлайды? BBC Microbit көмегімен қарапайым болжау ойынын жасаңыз!: 10 қадам
Бит не ойлайды? BBC Microbit көмегімен қарапайым болжау ойынын жасаңыз!: 10 қадам

Бейне: Бит не ойлайды? BBC Microbit көмегімен қарапайым болжау ойынын жасаңыз!: 10 қадам

Бейне: Бит не ойлайды? BBC Microbit көмегімен қарапайым болжау ойынын жасаңыз!: 10 қадам
Бейне: Казахи против Китая: чем недовольны соседи? 2024, Шілде
Anonim
Бит не ойлайды? BBC Microbit көмегімен қарапайым болжау ойынын жасаңыз!
Бит не ойлайды? BBC Microbit көмегімен қарапайым болжау ойынын жасаңыз!

Мен бірнеше интернеттегі мақалалардан оң пікірлерді оқығаннан кейін BBC Microbits жұбын алдым.

BIT -мен танысу үшін мен Microsoft Blocks редакторымен бірнеше сағат ойнадым және қарапайым болжау ойынын ойлап таптым.

Бұл IBLE -де біз ойын ережелері туралы сөйлесеміз және блоктар редакторында әр түрлі код блоктарында жиналған функцияларды шарлаймыз.

Ақырында, көңілді аудитория онлайн тренажерге өтіп, бұл қарапайым ойынға мүмкіндік береді.

Бастайық.

1 -қадам: Жұмысты бастамас бұрын …

Жұмысқа кіріспес бұрын…
Жұмысқа кіріспес бұрын…
Жұмысқа кіріспес бұрын…
Жұмысқа кіріспес бұрын…

Аппараттық құрал

BBC Microbit тақтасы сізбен оңай танысады. Бұл IBLE үшін сізге тек 2 түймені, шағын жарық диодтар жиынын және микро-USB розеткасын қосатын, тақтаға бағдарламаны жүктеу құралы болатын шағын тақта екенін білу қажет..

Кішкентай жарық диодты әр түрлі үлгілерде жарықтандыруды бағдарламалауға болады.

Ескерту:

Бұл IBLE үшін физикалық тақта қажет емес! BBC Microbit сайтында сіз жасайтын кодты тексеруге арналған онлайн тренажер бар.

Бағдарламалық қамтамасыз ету

Бұл IBLE BBC Microbit және/немесе Интернет -блоктар редакторымен жұмыс жасауды егжей -тегжейлі қарастырмайды.

Көрермендерге келесі қадамдарға өтпес бұрын BBC Micorbit ресурсын зерттеуге кеңес беріледі.

BBC Microbit өте ыңғайлы тәсілмен бағдарламалауды үйретуге арналған, сондықтан басқа бағдарламалау тілін білу жақсы, бірақ қажет емес, әсіресе егер сіз бағдарламалауды үйрену үшін Microsoft Blocks редакторын қолданатын болсаңыз.

Соған қарамастан, мен бірнеше басқа микроконтроллер бағдарламалау платформаларына ие екенімді ескере отырып, BBC Microbit-тен бастауды оңай бастайтын өнімді әлі кездестірмедім.

2 -қадам: «Болжау» ойынының ережесі

«Болжау» ойынының ережесі
«Болжау» ойынының ережесі

Ойын ережелері келесідей:

  1. Қуатты қосқанда, BIT сан туралы ойлайды және адам ойыншысына жарықдиодты панелінде хабарламаны басып шығару арқылы бұл санның не екенін білуге шақырады және жауапты күтеді.
  2. Ойыншы болжам жасайды және сол жақ түймешікті (A) жауапқа қанша рет басады - Мысалы, егер ойыншы 5 деп тапса, онда түйме 5 рет басылады
  3. Жауапты битке жіберу үшін ойыншы оң жақ батырманы (B) бір рет басады!
  4. Егер ойыншылардың болжамы дұрыс болса, онда ойыншы ұпай алады, егер болмаса, БИТ ұпай алады
  5. Егер бір ойыншы диапазоннан тыс жерде санды тапса, екінші ойыншы ұпай жинайды - БИТ LED дисплейінде үлкен Х көрсетеді және жаңа санды табуға және тапсырманы қайталауға көшеді; Мысал: Егер BIT сізге 1 мен 5 арасындағы санды табуға шақырса, сіз 6 -ды, немесе нөлді тапсаңыз (А түймешігін баспай тұрып В түймесін бассаңыз), онда бұл раунд жарамсыз деп танылады.
  6. Сынақ-жауап ойыншылардың бірі рұқсат етілген ең жоғары ұпай жинағанша жалғасады

Жаңа ойынның басталуы:

Кез келген уақытта жаңа ойынды бастау үшін, BIT -ке сілкініс беріңіз! Немесе қуатты ажыратып, қайта қосыңыз.

3 -қадам: Блоктар бағдарламасы: айнымалылар

Блоктар бағдарламасы: айнымалылар
Блоктар бағдарламасы: айнымалылар

Бағдарлама төменде көрсетілген функцияларға сәйкес келетін бірнеше айнымалыны пайдаланады. Бұл айнымалыларды блоктар редакторындағы айнымалыларды бағдарламалау қойындысын басу арқылы жасауға болады

BIT_SCORE - BIT жинаған ұпайларды қадағалайды

bitGuessed - бұл айнымалы мән BIT кездейсоқ мәнін сақтайды

CHECK - True мәніне орнатылғанда, BIT ойыншылардың болжамы BITs болжамына сәйкес келетінін тексереді

GAME_RANGE - бұл сан бит немесе ойыншының болжамдылығын шектейді

Мысалы: Егер 6 -ға қойылса, ойыншылардың 1 -ден 6 -ға дейін болжай алады

MSG - ойын контекстіне негізделген әр түрлі хабарларды көрсету үшін өзгертілген жол

PLAYER_SCORE - ойыншының жинаған ұпайларын қадағалайды

playerGuess - ойыншы ойлаған сан осы айнымалыға жазылады

ЕСКЕРТУ

Ең бірінші айнымалы элемент жалпы және әдепкі айнымалы болып табылады және оны елемеуге болады

4 -қадам: Функциялар

Функциялар
Функциялар

Оқу процесінің бөлігі ретінде және жақсы ұйымдастыру үшін код негізгі бағдарламада шақыруға немесе шақыруға болатын бірқатар функцияларға бөлінді. Айнымалылар сияқты, функцияларды Қосымша> Функцияларды бағдарламалау қойындысын басу арқылы құруға және оларға қол жеткізуге болады.

Міне, функциялардың қысқаша сипаттамасы:

announcWinner - Бұл функция жеңімпаз ойыншыға арналған Winning хабарын басып шығарады

doChallenge - BIT нөмірді болжауға және ойыншыға қиындық туғызуға шақыратын функция

showBadGuess - егер ойыншылардың біреуі рұқсат етілген ауқымнан тыс жерде болжаса, LED панелінде үлкен X белгісі бар хабарды көрсетеді.

showLose - егер BIT ойыншыға қарсы турда жеңсе, шақырылады

showMessage - ойыншыға белгіленген диапазондағы санды табуға шақыру үшін хабарлама ұсынады

showWin - ойыншы BIT бойынша болжау раундында жеңіске жеткен кезде шақырылады

5 -қадам: Бағдарламаны іске қосу және оқиғалар мен оқиғаларды өңдеушілер

Бағдарламаның басталуы және оқиғалар мен оқиғаларды өңдеушілер
Бағдарламаның басталуы және оқиғалар мен оқиғаларды өңдеушілер

«Іске қосу» және «шайқау» - бұл оқиғаларды өңдеушілер, олар сәйкесінше «старт» және «шайқау» оқиғалары болған кезде шақырылады. Blocks кодынан көрініп тұрғандай, бұл екі оқиғаны өңдеуші шақырылғанда не болады:

  • ShowMessage () функциясы ойын басталған кезде хабарды көрсету үшін шақырылады
  • Хабар көрсетілгеннен кейін 650 милли-секундқа қысқа үзіліс бар
  • DoChallenge () функциясы шақырылады, онда BIT санды болжайды және адам ойыншысының болжамды жіберуін күтеді.

Келесі қадамда біз екі функцияны қарастырамыз.

Айтуынша, «іске қосу» мен «сілкіністе» оқиғаны өңдеушілер арасында түбегейлі айырмашылықтар бар:

  1. «Бастауда» оқиғаны өңдеуші BIT іске қосылған сайын іске қосылады, мысалы, BIT қуатын ажырату және қайта қосу.
  2. Бағдарлама іске қосылған кезде бір рет орындалуы керек кейбір нәрселер «іске қосылуында» анықталады, ал басқа бағдарламада еш жерде жоқ.
  3. GAME_RANGE айнымалысын инициализациялау - бұл 6 -ға инициализацияланған, яғни ойыншылар 1 мен 6 арасындағы санды таба алады.
  4. «Іске қосу» негізгі BIT функциясы болғандықтан, оған блоктар редакторының негізгі бағдарламалау қойындысынан кіруге болатыны таңқаларлық емес.
  5. Екінші жағынан, «дірілдеу» - бұл оқиғаны өңдеуші, ол пайдаланушы BIT -ке жылдам шайқау түрінде кіріс берген сайын шақырылады.
  6. Сондықтан, «дірілдеу» оқиғасы өңдегішін блоктар редакторының енгізу бағдарламалау қойындысында табуға болады

6 -қадам: Іске қосу және шақыру функциялары

Іске қосу және шақыру функциялары
Іске қосу және шақыру функциялары
Іске қосу және шақыру функциялары
Іске қосу және шақыру функциялары
Іске қосу және шақыру функциялары
Іске қосу және шақыру функциялары

ShowMessage () Startup Message функциясы - бұл BITs LED палитрасын таза экран командасымен тазартатын және ойыншыны санды табуға шақыратын айналдыратын хабарды көрсететін қарапайым функция.

ShowMessage функционалдық блогынан көрініп тұрғандай, GAME_RANGE айнымалысына бірнеше бекітілген жолдар қосылады, ол қарапайым хабарды көрсетеді:

0-6 деп ойлаймын!

DoChallenge () функциясы әр сынақ кезеңінің басында шақырылады, сондықтан doChallenge функция блогынан келесі әрекеттерді орындайды:

  1. Адам ойнатқышынан жаңа кірісті қабылдамас бұрын playerGuess айнымалы мәнін нөлге теңестіреді
  2. CHECK айнымалы мәнін жалғанға бастайды - бұл раунд басталатынын және екі ойыншы ойлаған сандарды салыстырудың уақыты әлі келмегенін білдіреді.
  3. Келесі және ең маңыздысы, BIT GAME_RANGE анықтаған ауқымдағы кездейсоқ санды таңдайды және оны bitGuessed айнымалысына жазады
  4. Ақырында, LED палитрасы адам ойыншысын BITs сынағына жауап ретінде енгізуге шақыратын сұрақ белгісінің белгісімен жанып тұрады!

Ескерту

Егер GAME_RANGE айнымалы мәні алдыңғы қадамда айтылғандай өзгертілсе, сіздің ойын сәл басқаша көрінуі мүмкін.

Қосылу функциясы жол функциясы болып табылады және оны блоктар редакторының мәтіндік бағдарламалау қойындысынан алуға болады

7 -қадам: «Басу оқиғасы» батырмасы - BITs шақыруына жауап беріңіз

Түймені басу оқиғасы - BITs шақыруына жауап беріңіз!
Түймені басу оқиғасы - BITs шақыруына жауап беріңіз!

BITs LED экранында үлкен сұрақ белгісі пайда болғаннан кейін, адам ойыншысының тапсырмасына жауап беру үшін келесі әрекеттерді орындау қажет:

  1. BIT 0 мен 6 арасында қандай сан ойлауы мүмкін екенін біліңіз
  2. Жауап қанша болса, А түймесін қанша рет басыңыз - Мысалы, сіздің жауабыңыз 3 болса, А түймесін 3 рет басыңыз.

Әлбетте, түймені басу - бұл пайдаланушының енгізуі, сондықтан «қосулы» оқиғаның өңдеушісіне Blocks редакторының Кіріс бағдарламалау қойындысы арқылы қол жеткізуге болады. Пайдаланушы А түймесін басқан сайын, бұл оқиға өңдегіші келесі әрекеттерді орындайды:

  • PlayerGuess айнымалы мәнін GAME_RANGE шегінде болғанша 1 -ге көбейтіңіз (бұл жағдайда 6)
  • Егер ойыншы 7 немесе одан жоғары нұсқаны ұсынса, болжам күшін жояды және playerGuess нөлге қайтарылады, бұл ойыншылардың болжамдарын күшін жояды.

Келесі әрекет - бұл келесі қадамда өтетін сынаққа жауап беру.

8 -қадам: B батырмасы оқиғаны басыңыз - BITs шақыруына жауап жіберіңіз

B түймесін басу оқиғасы - BITs шақыруына жауап жіберіңіз!
B түймесін басу оқиғасы - BITs шақыруына жауап жіберіңіз!
B түймесін басу оқиғасы - BITs шақыруына жауап жіберіңіз!
B түймесін басу оқиғасы - BITs шақыруына жауап жіберіңіз!

Адам ойыншысы B батырмасын бір рет басу арқылы жауапты битке жібереді. BIT түймесі ойыншылардың жауабын суреттегі кодтық белгілермен көрсетілгендей алғаннан кейін оқиғаларды өңдеуші B түймешігінде бірнеше қадамдар орын алады:

  1. CHECK жалаушасы True мәніне орнатылған - бұл ойыншылардың болжамымен болжамды салыстыру үшін BIT белгісі
  2. Егер ойыншылардың екеуі де нөлден асатын және GAME_RANGE шегінен асып кетсе (6), ал егер жоқ болса, showBadGuess () функциясы шақырылады - жақсы болжаушы ұпай алады, ал нашар ойнаушы бір ұтылады!
  3. Егер ойыншылар BIT -ке сәйкес келсе, showWin () функциясы шақырылады - ойыншы бұл раундта жеңеді!
  4. Олай болмаған жағдайда, showLose () функциясы шақырылады - БИТ бұл раундта жеңеді!
  5. Әр турдың соңында announcWinner () функциясы арқылы екі ойыншының біреуі 3 ұпай жинап жеңіске жеткенін тексереді - егер солай болса, ойын аяқталып, соңғы жеңімпаз анықталады және барлық ұпайлар мен хабарламалар қалпына келтіру
  6. BIT doChallenge () функциясын шақыру арқылы шақыру жіберу арқылы ойынды қайта бастайды және ойыншының жауап беруін күтеді және процесс қайталанады.

Біз келесі қадамдарда жаңа функцияларды талқылайтын боламыз.

Күте тұрыңыз! Сіз нөлді қалай ойлайсыз?

  • Егер сіз random () Math функциясына қарасаңыз, оның бастапқы мәні Zero мәнінде орнатылғанын және оны өзгертуге болмайтынын көре аласыз.
  • BIT нөлді болжауға және ойыншыға осы шектеулерге қарсы шығуға құқылы
  • Дәл осылай, адам ойыншысы нөлдік болжамды А батырмасын баспай -ақ, В батырмасын басу арқылы жібере алады!
  • Егер бұл рұқсат етілсе, онда адам ойыншысына ойнауға ешқандай күш салудың қажеті жоқ және бұл мағынасы жоқ!
  • Сондықтан, бұл шектеу №2 оқпен өтелді. жоғарыда талқыланды

9 -қадам: Жеңу/жоғалту және қалған функциялар

Жеңілу/жоғалту және қалған функциялар
Жеңілу/жоғалту және қалған функциялар
Жеңілу/жоғалту және қалған функциялар
Жеңілу/жоғалту және қалған функциялар
Жеңілу/жоғалту және қалған функциялар
Жеңілу/жоғалту және қалған функциялар

Бұл функциялардың барлығын алдыңғы қадамда көрсетілгендей «батырманы басу» оқиғасы өңдегіші B батырмасы шақырады.

Бұл функциялар өте қарапайым және осы уақытқа дейін сіз блоктардың редакторының визуалды атрибуттары мен дұрыс аталатын айнымалылардың комбинациясы арқылы жасалған кодтың интуитивті және баянды сипатымен танысуыңыз керек.

  1. ShowWin () функциясы ойыншының осы турда жеңгенін көрсететін хабарды көрсетеді және PLAYER_SCORE айнымалысын 1 -ге арттырады.
  2. Сол сияқты, showLose () функциясы ойнатқыштың жаман болжам жасағанын көрсетеді және BIT_SCORE айнымалысын 1 -ге көбейту арқылы BIT -ке ұпай береді.
  3. ShowBadGuess () функциясы экранда үлкен X көрсетеді, бұл ойыншылардың біреуі дұрыс емес болжам жасағанын көрсетеді (0 немесе 6 -дан жоғары) - бұл жағдайда нашар ойыншы ұпай жоғалтады, ал екіншісі ұпай алады!

Ақырында, announceWinner () функциясы 3 раундтан/жауаптан кейін үлкен жеңімпаздың кім екенін жариялау міндетін орындайды:

  • PLAYER_SCORE және BIT_SCORE баллдық айнымалы мәндерін қалпына келтіру
  • Қысқа кідірту және осы IBLE -дің алдыңғы қадамында (6) талқыланған showMessage () іске қосу функциясын шақыру арқылы жаңа ойынды бастау

Соңында тренажер мен кодқа өтіңіз!

10 -қадам: симулятор және код

Симулятор және код
Симулятор және код

Код осында орналасқан онлайн тренажерде жұмыс істейді

  • Тренажер беттің төменгі сол жағында орналасқан
  • Сонымен қатар, егер сізде BBC Microbit ыңғайлы болса, жүктеу түймесін кодты жүктеу үшін пайдалануға болады
  • IBLE -дің басында айтылғандай, сізге Blocks Editor -да код құру үшін немесе сіздің кодты модельдеу және тестілеу үшін BBC Microbit қажет емес, бірақ бұл мен сияқты қызықты адамдар үшін жұмыс істемейді!

Өңдеу түймесі туралы ескерту

  • Егер сіз байқаған болсаңыз, код жалпыға ортақ доменде және оны өңдеудің жоғарғы оң жақтағы батырмасы арқылы жасауға болады.
  • Дегенмен, мен сізден осы кодтың көшірмесін жасауды және оны сіздің қажеттіліктеріңізге сәйкес өзгертуді сұраймын, осылайша түпнұсқа осы IBLE мүддесіне сәйкес сақталады.

Рахмет! Және бақытты кодтау !!!:-)

Ұсынылған: