Съдържание:

Какво е малкото мислене? Направете проста игра за отгатване с BBC Microbit !: 10 стъпки
Какво е малкото мислене? Направете проста игра за отгатване с BBC Microbit !: 10 стъпки

Видео: Какво е малкото мислене? Направете проста игра за отгатване с BBC Microbit !: 10 стъпки

Видео: Какво е малкото мислене? Направете проста игра за отгатване с BBC Microbit !: 10 стъпки
Видео: Экипаж (драма, фильм-катастрофа, реж. Александр Митта, 1979 г.) 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 мисли за число и предизвиква играча да отгатне какво е това число, като отпечатва съобщение на своя LED панел и изчаква отговор
  2. Играчът прави предположение и натиска левия бутон (A) толкова пъти, колкото е отговорът - Например, ако играчът отгатне 5, бутонът се натиска 5 пъти
  3. За да изпрати отговора на BIT, играчът натиска десния бутон (B) веднъж!
  4. Ако играчите предположат правилно, тогава играчът печели точка, ако не BIT получава точка
  5. Ако един играч познае число извън диапазона, другият играч отбелязва точка - BIT показва голям X на своя LED дисплей и продължава да отгатва ново число и да повтаря предизвикателството; Пример: Ако BIT ви предизвика да отгатнете число между 1 и 5, а вие предположихте 6 или ако познаете НУЛА (чрез просто натискане на Бутон В преди натискане на Бутон А), тогава този кръг се обезсилва
  6. Предизвикателството-отговор продължава, докато един от играчите набере максимално допустимите точки

Стартиране на нова игра:

За да започнете нова игра по всяко време, просто разклатете BIT! Или просто изключете и включете отново захранването.

Стъпка 3: Програмата за блокове: Променливи

Програмата за блокове: Променливи
Програмата за блокове: Променливи

Програмата използва няколко променливи, наречени да съответстват на техните функции, изброени по -долу. Тези променливи могат да бъдат създадени, като щракнете върху раздела Програмиране на променливи в редактора на блокове

BIT_SCORE - Проследява точките, спечелени от BIT

bitGuessed - Тази променлива съдържа случайната стойност, позната от BIT

CHECK - когато е зададено на True, BIT проверява дали играчите предполагат е равен на BITs

GAME_RANGE - Това число ограничава колко високо може да познае BIT или играч

Пример: Ако е зададено на 6, всеки от играчите може да отгатне от 1 до 6

MSG - Низ, който се променя, за да показва различни съобщения въз основа на контекста на играта

PLAYER_SCORE - следи точките, отбелязани от играча

playerGuess - Предполаганият от играча номер се записва в тази променлива

ЗАБЕЛЕЖКА

Първата променлива с име елемент е обща и по подразбиране и може да бъде игнорирана

Стъпка 4: Функциите

Функциите
Функциите

Като част от учебния процес и за по -добра организация, кодът беше организиран в редица функции, които могат да бъдат извикани или извикани в основната програма. Точно като променливи, функциите могат да бъдат създадени и достъпни чрез щракване върху раздела Разширени> Програмиране на функции.

Ето по -долу кратко описание на функциите:

оголошенняWinner - Тази функция разпечатва печелившото съобщение, адресирано до печелившия играч

doChallenge - Функцията, която BIT извиква, за да познае число и да предизвика предизвикателство пред играча

showBadGuess - Показва съобщение с огромен X на LED панела, ако някой от играчите предположи извън допустимия диапазон

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. Следователно манипулаторът на събития "on shake" може да бъде намерен в раздела Input programming на редактора на блокове

Стъпка 6: Съобщение при стартиране и функции за предизвикателство

Съобщение при стартиране и функции за предизвикателство
Съобщение при стартиране и функции за предизвикателство
Съобщение при стартиране и функции за предизвикателство
Съобщение при стартиране и функции за предизвикателство
Съобщение при стартиране и функции за предизвикателство
Съобщение при стартиране и функции за предизвикателство

Функцията showMessage () Startup Message е проста функция, която изчиства LED палитрата BITs с ясна команда на екрана и показва съобщение за превъртане, което предизвиква играча да отгатне число.

Както се вижда от функционалния блок showMessage, няколко фиксирани парчета низ са добавени заедно към променливата GAME_RANGE, за да се покаже просто съобщение, което казва:

Познайте 0 - 6!

Функцията doChallenge () се извиква в началото на всеки кръг на предизвикателство и следователно прави следното, както се вижда от функционалния блок doChallenge:

  1. Инициализира променливата playerGuess до нула, преди да приеме нов вход от човешкия плейър
  2. Инициализира променливата CHECK на false - което означава, че кръгът е на път да започне и още не е време за сравняване на числата, отгатнати от двамата играчи
  3. Следващото и най -важното, BIT избира произволно число в диапазона, определен от GAME_RANGE и го записва в променливата bitGuessed
  4. И накрая, LED палитрата се осветява със символ на въпросителен знак, подканващ играча за въвеждане в отговор на предизвикателството BITs!

Забележка

Ако стойността на променливата GAME_RANGE се промени, както е обсъдено в предишната стъпка, играта ви може да изглежда и да действа малко по -различно.

Функцията за съединяване е низова функция и може да бъде достъпна от раздела Текстово програмиране на редактора на блокове

Стъпка 7: Събитие с бутон и щракване - Отговорете на предизвикателството BITs

Събитие Бутон с едно щракване - Отговорете на предизвикателството BITs!
Събитие Бутон с едно щракване - Отговорете на предизвикателството BITs!

След като големият въпросник се появи на LED екрана на BITs, отговорът на предизвикателството за човешкия играч е просто да направите следното:

  1. Познайте кое число може да мисли BIT между 0 и 6
  2. Натиснете бутона А толкова пъти, колкото е отговорът ви - Пример, ако отговорът ви е 3, след това натиснете Бутон А 3 пъти

Очевидно натискането на бутона е потребителско въвеждане и следователно манипулаторът на събития "бутон за включване" е достъпен чрез раздела за програмиране на въвеждане на редактора на блокове. Всеки път, когато потребителят натисне Бутон А, този манипулатор на събития прави следното:

  • Увеличете стойността на променливата playerGuess с 1, стига да е в границите на GAME_RANGE (6 в този случай)
  • Ако играчът подаде 7 или по -висока, предположението е невалидно и playerGuess се връща обратно на нула, което по същество обезсилва предположението на играчите

Следващото действие е да изпратим отговора на предизвикателството, през който ще преминем в следващата стъпка.

Стъпка 8: Събитие с натискане на бутон B - Изпратете отговора на предизвикателството BITs

Събитие с натискане на бутон B - изпратете отговор на предизвикателството BITs!
Събитие с натискане на бутон B - изпратете отговор на предизвикателството BITs!
Събитие с натискане на бутон B - изпратете отговор на предизвикателството BITs!
Събитие с натискане на бутон B - изпратете отговор на предизвикателството BITs!

Човешкият играч изпраща отговора на BIT, като натисне веднъж Бутон В. Няколко стъпки се извършват в манипулатора на събитие на бутон В „при щракване“веднага щом BIT получи отговора на играчите, както е посочено от кодовите маркери в изображението:

  1. Флагът CHECK е зададен на True - сигнал за BIT да сравни своето предположение с това на играчите
  2. Точкуването продължава само ако и двамата играчи са познали числа, по -големи от нула и в рамките на границата GAME_RANGE (от 6), а ако не, се извиква функцията showBadGuess () - играчът с добро предположение печели точка, а играчът с лошо предположение губи един!
  3. Ако играчите предположат съвпадение с това на BIT, се извиква функцията showWin () - играчът печели този кръг!
  4. Ако не, функцията showLose () се извиква - BIT печели този кръг!
  5. В края на всеки кръг се извършва проверка от функцията на обявяване на победител (), за да се види дали един от двамата играчи е спечелил, като вкара 3 точки - ако е така, играта приключва и крайният победител е обявен и всички резултати и съобщения са нулиране
  6. BIT рестартира играта, като отправя предизвикателство чрез извикване на функцията doChallenge () и изчаква играча да отговори и процесът се повтаря

Ще обсъдим новите функции в следващите стъпки.

Изчакайте! Как познавате НУЛАТА?

  • Ако погледнете функцията random () Math, можете да видите, че първоначалната й стойност е зададена на нула и не може да бъде променена.
  • Следователно BIT е свободен да отгатне нула и да предизвика играча в резултат на това ограничение
  • По същия начин човешкият играч може да подаде нула предположение, като просто щракнете върху Бутон B, без първо да натиснете Бутон A!
  • Ако това е позволено, тогава човешкият играч не трябва да полага никакви усилия, за да играе и това няма смисъл!
  • Следователно това ограничение е компенсирано от Bullet #2. обсъдени по -горе

Стъпка 9: Спечелване/загуба и останалата част от функциите

Печеленето/загубата и останалата част от функциите
Печеленето/загубата и останалата част от функциите
Печеленето/загубата и останалата част от функциите
Печеленето/загубата и останалата част от функциите
Печеленето/загубата и останалата част от функциите
Печеленето/загубата и останалата част от функциите

Всички тези функции се извикват от манипулатора на събития "Бутон В", както се вижда в предишната стъпка.

Тези функции са доста ясни и по това време трябва да се запознаете с интуитивния и повествователен характер на кода, създаден от комбинация от подходящо наречени променливи и визуалните атрибути на редактора на блокове.

  1. Функцията showWin () показва съобщение, което показва, че играчът е спечелил този кръг от предизвикателства и увеличава променливата PLAYER_SCORE с 1
  2. По подобен начин функцията showLose () показва, че играчът е направил лошо предположение и присъжда точка на BIT, като увеличава променливата BIT_SCORE с 1
  3. Функцията showBadGuess () показва голям X на екрана, показващ, че един от играчите е направил лошо предположение (от 0 или по -голямо от 6) - лошият играч в този случай губи точка, а другият отбелязва точка!

И накрая, функцията convertWinner () изпълнява задачата да обяви кой е големият победител след 3 кръга предизвикателство/отговор, последвано от:

  • Нулиране на променливите за резултатите PLAYER_SCORE и BIT_SCORE
  • Пауза за кратко и стартиране на нова игра чрез извикване на стартиращата функция showMessage (), обсъдена в предишната стъпка (6) на този IBLE

И накрая, към симулатора и кода!

Стъпка 10: Симулаторът и кодът

Симулаторът и кодът
Симулаторът и кодът

Кодът се изпълнява в онлайн симулатора, разположен тук

  • Симулаторът се намира в долния ляв ъгъл на страницата
  • Алтернативно, бутонът за изтегляне може да се използва за изтегляне на кода, в случай че имате BBC Microbit под ръка
  • Както бе споменато в началото на IBLE, не се нуждаете от BBC Microbit, за да изградите кода в редактора на блокове или да симулирате и тествате кода си, въпреки че това не работи за любопитни личности като мен!

Бележка за бутона Редактиране

  • Ако сте наблюдавали, кодът е в публичното пространство и има начин да го редактирате, като използвате бутона Редактиране горе вдясно
  • Искрено бих искал да направите копие на този код и да го промените според вашите нужди, така че оригиналната версия да бъде запазена в интерес на този IBLE

Благодаря! И щастливо кодиране !!!:-)

Препоръчано: