Мазмұны:
- Жабдықтар
- 1 -қадам: инициализация
- 2 -қадам: Мәңгілік жаңбыр
- 3 -қадам: Мылтық таңбасын жылжыту
- 4 -қадам: снарядты іске қосу
- 5 -қадам: Ойынның соңы
Бейне: Жаңбыр жауады: 5 қадам
2024 Автор: John Day | [email protected]. Соңғы өзгертілген: 2024-01-30 10:22
Бұл Micro: bit -те ойнауға болатын ойын
Ойын «Жаңбыр» деп аталады, оның мақсаты - құлап бара жатқан заттардың соққысынан аулақ болу.
Оңнан солға жылжу және/немесе нысандарды түсіру арқылы.
Ойын келесі басқару элементтерімен басқарылады.
Шайқау - жаңа ойынды бастайды.
A - таңбаны солға жылжытады.
B - таңбаны оңға жылжытады.
A+B - снарядты құлап жатқан объектілерге атып жібереді.
Снаряд түскен әрбір құлаған объектіге бір ұпай беріледі.
Егер кейіпкер құлап бара жатқан затқа тиіп кетсе, онда олар үш өмірін жоғалтқаннан кейін өмірін жоғалтады, бұл ойынның қайғылы бейнесі мен ұпаймен көрінеді.
Ойынның әр кезеңі мәтінде түсіндірілген бірнеше функцияларға бөлінеді.
Сипаттамада блок -код қолданылады және Javascript де қол жетімді.
Жабдықтар
Микро: бит
MakeCode редакторы
1 -қадам: инициализация
Ойын параметрлерін инициализациялау сандық және логикалық айнымалылардың комбинациясын тағайындау арқылы жүзеге асады.
Егер бар болса, алдыңғы ақпараттың экранын ретке келтіру, қару-жарақтың бастапқы орнын тағайындау және пайдаланушыға ойынның басталуына дайын микро-битті орналастыруға уақыт беру.
Егер айнымалыларға олардың қызметін көрсететін аттар берілсе, кодты түсінуді жеңілдетеді
Мысалы, «от» «зымыранды» ұшыратын «мылтықты» бастайды.
Сол сияқты, егер endgamecount 3 -тен үлкен болса, онда endgame ақиқат болады.
Мылтық тек төменгі қатарда көлденең қозғалатындықтан, y әрқашан 4 -ке тең болады, ал свет және бөлу пәрмендерінің көмегімен сәйкес жарық диодты жарықтандыру үшін x айнымалысы өзгертіледі.
Инициализация процесі екі функцияда қолданылады: Іске қосқанда және сілкіністе.
Атаулар көрсеткендей Қоңырауды бастау кезінде пайдаланылатын айнымалыларды қажетті мәндерге орнату үшін кодтың басында инициализациялаңыз.
On Shake қоңыраулары Пайдаланушы жаңа ойын бастаған кезде инициализациялаңыз.
Бұл пайдаланушыға ойынды қайта бастауға мүмкіндік береді және ойын параметрінің айнымалы мәндерін инициализациялайды, экранды тазартады және ойын кейіпкерін бастапқы күйіне орналастырады.
2 -қадам: Мәңгілік жаңбыр
Бұл ойын кодының бөлігі, ол түсетін заттарды кездейсоқ шығарады және оларды экраннан жылжытпай тұрып бастапқы позицияларды инициализациялайды.
Құлау әсерін жарық диодты қосу мен өшіру мен санауыштың ұлғаюы арасындағы уақыт кідірісімен анықтайды. Позиция санауышының әр қадамында құлап бара жатқан зат ойын сипатымен соқтығысып қалғанын анықтау үшін тексеру жүргізіледі.
Егер соқтығысу анықталса, ең көп дегенде үш адам өмірін жоғалтады, содан кейін ойынның аяқталғаны туралы ескерту беріледі, ал ұпай көрсетіледі және құлаған объект циклы тоқтатылады.
Жаңбырлы старт - бұл таңбаның бастапқы x позициясы, ол экранда «у» позициясы үшін индексті өзгертетін2 «ұлғаяды». 0 -ден 4 -ке дейін 0 - жоғарғы және 4 - төменгі.
Біз жаңбырдың тез түсуін қаламаймыз, сондықтан біз оны көре алмаймыз.
Жаңбыр жауғанда мылтықпен соқтығысу бар -жоғын алдын ала тексереді, бұл «нүкте» көмегімен орындалады, бұл оның алдындағы жарықдиодты күйді анықтайды.
Егер жаңбыр алдында светодиод қосулы болса, онда бұл хит ретінде анықталады және өмір жоғалады немесе ойын аяқталады.
Барлығын ұқыпты ұстау үшін біз бұрын жарықтандырылған светодиодты алып тастауымыз керек, сонда бір тамшы із қалдырмай үздіксіз жауады.
3 -қадам: Мылтық таңбасын жылжыту
Мылтық сипатын жылжыту үшін екі енгізу функциясы бар.
Бұл - Қосу түймешігі А, В түймесі басылған күйде.
А түймесі басылды.
Бұл функция А түймесі басылған кезде ойын кейіпкерін солға жылжытады.
Егер бұл ойынның соңы болмаса және мылтықтың рұқсат етілген ауқымында болса, қарудың алдыңғы позициясының сызбасы жоқ болса, мылтықтың құны төмендейді және жаңа қарудың позициясы сызылады.
Егер мылтықтың мәні 0 -ден төмен болса, онда мылтық x = 0, y = 4 нүктесінде салынған
В түймесі басылды.
Бұл функция B батырмасы басылған кезде ойын кейіпкерін оңға жылжытады.
Егер бұл ойынның соңы болмаса және рұқсат етілген диапазонда мылтықтың мәні болса, онда мылтықтың алдыңғы позициясының орны белгіленбейді, мылтықтың бағасы жоғарылайды және жаңа мылтықтың орны анықталады.
Егер мылтықтың мәні 4 -тен жоғары болса, онда мылтық x = 4, y = 4 нүктесінде салынған
4 -қадам: снарядты іске қосу
Біз мылтықтың кейіпкерін оңға және оңға жылжыта аламыз, енді ол жаңбыр жауып тұрған объектілерге снарядты атуы керек.
Бұл ойын кодының бөлігі, ол снаряд жасайды және оны экранға көтермес бұрын бастапқы позицияларды инициализациялайды.
Жоғары қозғалыстың әсер етуі жарықдиодты қосу мен өшіру мен позиция санауышын ұлғайту арасындағы уақыт кідірісімен анықталады. Позиция санауышының әр қадамында снарядтың құлап бара жатқан затпен соқтығысып қалғанын анықтау үшін тексеру жүргізіледі.
Егер соқтығысу анықталса, құлап жатқан объект сол күйде жойылады, балл жаңартылады, түсетін объект позициясының айнымалы мәні қалпына келтіріледі, снарядтың позициясы мен инициаторы қалпына келтіріледі, снаряд циклы тоқтатылады.
Егер ойын соңы жалған болса, өрт = ақиқат және ракетаның бастапқы күйі = 4.
Уақытша цикл жасалады, бұл снарядтарды жалғыз немесе үздіксіз атуға мүмкіндік береді, ал өрт = ақиқат.
Зымыран айнымалысы 4 -тен (төменнен) 0 -ге (жоғарыдан) дейін төмендетілді
Әр сәтте зымыран дисплейге көтерілгенде, егер ешқандай соқтығысу анықталмаса, снаряд экранда жоғары және одан әрі қарай жалғасады.
Егер соқтығысу анықталса, жаңбыр объектісі графикалық түрде көрсетілмейді, себебі ол жойылады, оның ауыспалы мәні қалпына келтіріледі және соққы есептегіші 1-ге артады.
Зымыран бұл жойылған сияқты әсер ету үшін жоспарланбаған.
Жаңбыр, зымыран мен атыстың айнымалы мәндері қалпына келтіріледі.
5 -қадам: Ойынның соңы
Бұл функция ойынның соңындағы жалаушаны орнатады, ойынның аяқталғаны туралы хабарландыруды және ұпайды көрсетеді және жоғалған әрбір өмір үшін жойылу жарылысын көрсетеді.
Endofgame функциясы пайдаланушы өмірін жоғалтқан кезде және ойынның аяқталуын білдіретін үш өмірдің де мерзімі аяқталған кезде екі рет шақырылады.
Ойынның соңы функциясы деп аталатын сайын, ойынның соңғы есебі ұлғаяды, егер 3 -тен аз болса, мылтықтың кейіпкерінің жойылуын жандандыратын жарылыс функциясы шақырылады. Жарылыс анимациясы - бұл светодиодтың әсерін көрсететін жарықдиодты позицияның өзгеруінің тізбегі.
Сонымен қатар, экранды тазартып, мылтық айнымалы мәнін әдепкі бастапқы күйге келтіріп, ойынға түсініктеме бермес бұрын үзіліс жасаңыз.
Егер endgamecount = 3 болса, жарылыс функциясы шақырылады және осыдан кейін ойынның аяқталғанын көрсететін қайғылы бет көрсетіледі, содан кейін алынған ұпай. Есеп тазартылғаннан кейін Micro: битпен шайқау арқылы ойынды қайта бастауға дайын боласыз.
Ұсынылған:
Жаңбыр детекторы Arduino мен жаңбыр тамшысының сенсоры: 8 қадам
Жаңбыр детекторы Arduino мен жаңбыр тамшысының сенсоры: Бұл оқулықта жаңбыр датчигі арқылы жаңбырды қалай анықтау керектігін, дыбыстық сигналды модуль мен OLED дисплейі мен Visuino көмегімен шығаруды үйренеміз
DIY IR автокөлік жаңбыр сенсоры: 6 қадам
DIY IR автокөлік жаңбыр датчигі: қажет бөлшектер: 1- KY-032 кедергісін болдырмауға арналған IR сенсоры 2- 5В реле модулі3- кез келген түрдегі 12В мобильді зарядтағыш 4- IR жарықдиодты эмитент пен қабылдағышты орнатуға арналған шағын мөлдір қорап ескі спутниктік қабылдағыштан алыңыз) .5- әмбебап ПХД тақтасы 6
PiSiphon жаңбыр өлшегіші (прототипі): 4 қадам
PiSiphon жаңбыр өлшегіші (прототипі): Бұл жоба қоңырау сифонының жаңбыр өлшегішін жақсарту болып табылады. Бұл дәлірек және ағып кететін сифондар өткеннен қалған нәрсе болуы керек. Әдетте жауын -шашын жауын -шашынның қолмен өлшеуішінің көмегімен өлшенеді
LORA жаңбыр сенсоры: 6 қадам
LORA жаңбыр сенсоры: Менің жылыжайымды автоматтандыру үшін маған бірнеше сенсор қажет болды. Бұл жаңбыр сенсоры жаңбырлатқышты қосу керек пе, жоқ па, соны шешемін, мен бұл жаңбыр датчигін екі түрлі түсіндіремін. сандық портты аналогтық порт арқылы пайдалану
Жаңбыр кезінде суды үнемдеу: 6 қадам
Жаңбыр кезінде суды үнемдеу: Жақында жауған жаңбырмен менің суару қондырғысы өз жұмысын жалғастыра беретінін байқадым, тіпті балабақшада су жеткілікті болған кезде де. Жаңбыр жауғанда жаңбырлатқышты автоматты түрде өшірмеске