Съдържание:
- Стъпка 1: Преди да започнете …
- Стъпка 2: Правила на играта отгатване
- Стъпка 3: Програмата за блокове: Променливи
- Стъпка 4: Функциите
- Стъпка 5: Стартиране на програмата и разклащане на събития и манипулатори на събития
- Стъпка 6: Съобщение при стартиране и функции за предизвикателство
- Стъпка 7: Събитие с бутон и щракване - Отговорете на предизвикателството BITs
- Стъпка 8: Събитие с натискане на бутон B - Изпратете отговора на предизвикателството BITs
- Стъпка 9: Спечелване/загуба и останалата част от функциите
- Стъпка 10: Симулаторът и кодът
Видео: Какво е малкото мислене? Направете проста игра за отгатване с BBC Microbit !: 10 стъпки
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:52
Взех няколко 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: Правила на играта отгатване
Правилата на играта са следните:
- При включване BIT мисли за число и предизвиква играча да отгатне какво е това число, като отпечатва съобщение на своя LED панел и изчаква отговор
- Играчът прави предположение и натиска левия бутон (A) толкова пъти, колкото е отговорът - Например, ако играчът отгатне 5, бутонът се натиска 5 пъти
- За да изпрати отговора на BIT, играчът натиска десния бутон (B) веднъж!
- Ако играчите предположат правилно, тогава играчът печели точка, ако не BIT получава точка
- Ако един играч познае число извън диапазона, другият играч отбелязва точка - BIT показва голям X на своя LED дисплей и продължава да отгатва ново число и да повтаря предизвикателството; Пример: Ако BIT ви предизвика да отгатнете число между 1 и 5, а вие предположихте 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 отгатва число и чака човешкият играч да подаде предположение
Ще разгледаме двете функции в следващата стъпка.
Това означава, че има фундаментални разлики между манипулаторите на събития „при стартиране“и „при разклащане“:
- Манипулаторът на събития "при стартиране" се изпълнява всеки път, когато BIT се стартира - както при изключване и повторно включване на захранването към BIT
- Някои неща, които трябва да се случат само веднъж при стартиране на програмата, са дефинирани в „при стартиране“и никъде другаде в цялата програма
- Едно такова нещо е инициализирането на променливата GAME_RANGE - в този случай тя се инициализира на 6, което означава, че играчите могат да познаят число между 1 и 6
- Тъй като "при стартиране" е основна BIT функция, не е чудно, че е достъпна от раздела Основно програмиране на редактора на блокове
- „Върху разклащане“, от друга страна, е манипулатор на събития, който се извиква всеки път, когато потребителят предостави вход към BIT под формата на бързо разклащане
- Следователно манипулаторът на събития "on shake" може да бъде намерен в раздела Input programming на редактора на блокове
Стъпка 6: Съобщение при стартиране и функции за предизвикателство
Функцията showMessage () Startup Message е проста функция, която изчиства LED палитрата BITs с ясна команда на екрана и показва съобщение за превъртане, което предизвиква играча да отгатне число.
Както се вижда от функционалния блок showMessage, няколко фиксирани парчета низ са добавени заедно към променливата GAME_RANGE, за да се покаже просто съобщение, което казва:
Познайте 0 - 6!
Функцията doChallenge () се извиква в началото на всеки кръг на предизвикателство и следователно прави следното, както се вижда от функционалния блок doChallenge:
- Инициализира променливата playerGuess до нула, преди да приеме нов вход от човешкия плейър
- Инициализира променливата CHECK на false - което означава, че кръгът е на път да започне и още не е време за сравняване на числата, отгатнати от двамата играчи
- Следващото и най -важното, BIT избира произволно число в диапазона, определен от GAME_RANGE и го записва в променливата bitGuessed
- И накрая, LED палитрата се осветява със символ на въпросителен знак, подканващ играча за въвеждане в отговор на предизвикателството BITs!
Забележка
Ако стойността на променливата GAME_RANGE се промени, както е обсъдено в предишната стъпка, играта ви може да изглежда и да действа малко по -различно.
Функцията за съединяване е низова функция и може да бъде достъпна от раздела Текстово програмиране на редактора на блокове
Стъпка 7: Събитие с бутон и щракване - Отговорете на предизвикателството BITs
След като големият въпросник се появи на LED екрана на BITs, отговорът на предизвикателството за човешкия играч е просто да направите следното:
- Познайте кое число може да мисли BIT между 0 и 6
- Натиснете бутона А толкова пъти, колкото е отговорът ви - Пример, ако отговорът ви е 3, след това натиснете Бутон А 3 пъти
Очевидно натискането на бутона е потребителско въвеждане и следователно манипулаторът на събития "бутон за включване" е достъпен чрез раздела за програмиране на въвеждане на редактора на блокове. Всеки път, когато потребителят натисне Бутон А, този манипулатор на събития прави следното:
- Увеличете стойността на променливата playerGuess с 1, стига да е в границите на GAME_RANGE (6 в този случай)
- Ако играчът подаде 7 или по -висока, предположението е невалидно и playerGuess се връща обратно на нула, което по същество обезсилва предположението на играчите
Следващото действие е да изпратим отговора на предизвикателството, през който ще преминем в следващата стъпка.
Стъпка 8: Събитие с натискане на бутон B - Изпратете отговора на предизвикателството BITs
Човешкият играч изпраща отговора на BIT, като натисне веднъж Бутон В. Няколко стъпки се извършват в манипулатора на събитие на бутон В „при щракване“веднага щом BIT получи отговора на играчите, както е посочено от кодовите маркери в изображението:
- Флагът CHECK е зададен на True - сигнал за BIT да сравни своето предположение с това на играчите
- Точкуването продължава само ако и двамата играчи са познали числа, по -големи от нула и в рамките на границата GAME_RANGE (от 6), а ако не, се извиква функцията showBadGuess () - играчът с добро предположение печели точка, а играчът с лошо предположение губи един!
- Ако играчите предположат съвпадение с това на BIT, се извиква функцията showWin () - играчът печели този кръг!
- Ако не, функцията showLose () се извиква - BIT печели този кръг!
- В края на всеки кръг се извършва проверка от функцията на обявяване на победител (), за да се види дали един от двамата играчи е спечелил, като вкара 3 точки - ако е така, играта приключва и крайният победител е обявен и всички резултати и съобщения са нулиране
- BIT рестартира играта, като отправя предизвикателство чрез извикване на функцията doChallenge () и изчаква играча да отговори и процесът се повтаря
Ще обсъдим новите функции в следващите стъпки.
Изчакайте! Как познавате НУЛАТА?
- Ако погледнете функцията random () Math, можете да видите, че първоначалната й стойност е зададена на нула и не може да бъде променена.
- Следователно BIT е свободен да отгатне нула и да предизвика играча в резултат на това ограничение
- По същия начин човешкият играч може да подаде нула предположение, като просто щракнете върху Бутон B, без първо да натиснете Бутон A!
- Ако това е позволено, тогава човешкият играч не трябва да полага никакви усилия, за да играе и това няма смисъл!
- Следователно това ограничение е компенсирано от Bullet #2. обсъдени по -горе
Стъпка 9: Спечелване/загуба и останалата част от функциите
Всички тези функции се извикват от манипулатора на събития "Бутон В", както се вижда в предишната стъпка.
Тези функции са доста ясни и по това време трябва да се запознаете с интуитивния и повествователен характер на кода, създаден от комбинация от подходящо наречени променливи и визуалните атрибути на редактора на блокове.
- Функцията showWin () показва съобщение, което показва, че играчът е спечелил този кръг от предизвикателства и увеличава променливата PLAYER_SCORE с 1
- По подобен начин функцията showLose () показва, че играчът е направил лошо предположение и присъжда точка на BIT, като увеличава променливата BIT_SCORE с 1
- Функцията showBadGuess () показва голям X на екрана, показващ, че един от играчите е направил лошо предположение (от 0 или по -голямо от 6) - лошият играч в този случай губи точка, а другият отбелязва точка!
И накрая, функцията convertWinner () изпълнява задачата да обяви кой е големият победител след 3 кръга предизвикателство/отговор, последвано от:
- Нулиране на променливите за резултатите PLAYER_SCORE и BIT_SCORE
- Пауза за кратко и стартиране на нова игра чрез извикване на стартиращата функция showMessage (), обсъдена в предишната стъпка (6) на този IBLE
И накрая, към симулатора и кода!
Стъпка 10: Симулаторът и кодът
Кодът се изпълнява в онлайн симулатора, разположен тук
- Симулаторът се намира в долния ляв ъгъл на страницата
- Алтернативно, бутонът за изтегляне може да се използва за изтегляне на кода, в случай че имате BBC Microbit под ръка
- Както бе споменато в началото на IBLE, не се нуждаете от BBC Microbit, за да изградите кода в редактора на блокове или да симулирате и тествате кода си, въпреки че това не работи за любопитни личности като мен!
Бележка за бутона Редактиране
- Ако сте наблюдавали, кодът е в публичното пространство и има начин да го редактирате, като използвате бутона Редактиране горе вдясно
- Искрено бих искал да направите копие на този код и да го промените според вашите нужди, така че оригиналната версия да бъде запазена в интерес на този IBLE
Благодаря! И щастливо кодиране !!!:-)
Препоръчано:
Пъзел игра с памет с помощта на BBC MicroBit: 7 стъпки
Пъзел игра с памет Използване на BBC MicroBit: Ако не знаете какво е BBC MicroBit, това е по същество наистина малко устройство, което можете да програмирате, за да имате входове и изходи. Kindof като Arduino, но по -прецизно. Това, което наистина ми хареса в MicroBit, беше, че има два вградени входа b
Една проста игра за отгатване - Python + XBees + Arduino: 10 стъпки
Една проста игра за отгатване - Python + XBees + Arduino: Ето как работи играта: Имате 4 опита да познаете буква между „a“- „h“- > Познайте правилната буква: Вие печелите! ?-> Познайте грешната буква: Играта свърши?-> Познайте някой друг герой извън „а“- „ч“: Играта приключи? Вашият Arduino ще ви позволи
Какво е процесор, какво прави и как да го отстраним: 5 стъпки
Какво е процесор, какво прави и как да го отстранявате: Всеки ден тук посочвате термините " процесор " или " Процесор " ще бъда хвърлен наоколо, но наистина ли знаете какво означава? Ще разгледам какво е процесор и какво прави, след това ще разгледам често срещаните проблеми с процесора и как евентуално да ги поправя
Проста игра за отгатване на номер на Python: 11 стъпки
Проста игра за отгатване на номера на Python: В този урок ще се научим как да създаваме проста игра за отгатване на номера на Python в приложението Pycharm. Python е скриптов език, който е чудесен както за начинаещи, така и за експерти. Стилът на кодиране в Python е лесен за четене и следва
Игра за отгатване на Python: 9 стъпки
Игра за отгатване на Python: Следните инструкции предоставят стъпка по стъпка насоки за това как да напишете програма, използвайки случайния модул и да създадете игра за отгатване, която взаимодейства с потребителя. За да започнете, трябва да имате инсталиран python на компютъра си, а също и опция