Orodha ya maudhui:
- Vifaa
- Hatua ya 1: Kitanzi kuu
- Hatua ya 2: Joystick
- Hatua ya 3: Onyesha bafa
- Hatua ya 4: Wavamizi, Risasi na Mchezaji
- Hatua ya 5: Ifanye yako mwenyewe
Video: Wavamizi wa nafasi katika Micropython kwenye Micro: bit: 5 Steps
2024 Mwandishi: John Day | [email protected]. Mwisho uliobadilishwa: 2024-01-30 12:50
Katika nakala zetu zilizopita tumechunguza utengenezaji wa mchezo kwenye GameGo, koni ya kubahatisha ya michezo ya kubahatisha ya retro iliyoundwa na elimu ya TinkerGen. Michezo ambayo tulitengeneza ilikumbusha michezo ya zamani ya Nintendo. Katika nakala ya leo, tutachukua hatua nyuma, kwa umri wa dhahabu wa michezo ya uwanja. Tutaunda tena mchezo wa Wavamizi wa Nafasi katika Micropython kwenye Micro: microcontroller kidogo - na kama twist, tutatumia pia BitPlayer Micro: ugani kidogo, ambayo inatuwezesha kucheza mchezo kwa urahisi zaidi.
Kwa kuwa mafunzo haya ni juu ya kuweka alama kwenye mchezo katika Micropython, badala ya mlolongo wa jadi-kwa-hatua tuliyotumia hapo awali kwa mafunzo ya programu ya picha, tutapita kizuizi cha nambari kwa kuzuia - kupitia kazi muhimu, madarasa na kuu kitanzi. Unaweza kupakua nambari kamili kwenye hazina ya GitHub ya mradi huu. Buckle up na tuanze!
Vifaa
TinkerGen BitPlayer
BBC Micro: kidogo
Hatua ya 1: Kitanzi kuu
Katika mafunzo haya nitatumia neno "njia" mara nyingi. Njia katika chatu ni sawa na kazi, isipokuwa inahusishwa na kitu / darasa. Kwa hivyo, kwa kurahisisha, unaweza kuisoma kama "kazi ndani ya darasa". Unaweza kusoma zaidi juu ya njia hapa.
Tunaingia kitanzi kuu na
wakati sio mchezo_wa zaidi:
hali. Ndani tunapata idadi ya wavamizi, nafasi ya kuonekana kwao na idadi inahitajika kufikia kiwango kifuatacho kutoka kwa kamusi ya viwango. Ifuatayo tunaangalia harakati za kushoto-kulia na njia za mfano wa Listen_Dir za mfano wa darasa JoyStick. Ikiwa moja ya masharti yanatathmini kama ya Kweli, tunaongeza / kupungua x -thamani ya tabia yetu ya kucheza. Tunalazimisha kufikia [-2, 2] na hali mbili ikiwa. Kisha sisi kuanzisha mfano wa darasa DisplayBuffer na kuangalia kwa "ngao" au "moto risasi" vyombo vya habari. Tunatumia njia DisplayBuffer.set () kuweka vitu kwa utoaji wa baadaye. Kwa kutoa ngao tunatumia DisplayBuffer.set () moja kwa moja, lakini kwa risasi na wavamizi tunawaongeza kwenye orodha yao na kuiweka () moja kwa moja kwa kitanzi na nambari ifuatayo ya kutoa baadaye na DispBuffer.render ():
kwa b katika risasi: b.nder (dispBuf) kwa v katika vaders: v.render (dispBuf)
Wavamizi wote, risasi na ngao hutolewa kwenye onyesho mara moja kila kukicha kwa kitanzi kuu
utoajiBre.nder ()
Kabla ya mwisho wa kitanzi kuu tunaangalia ikiwa risasi yoyote ya wavamizi imefikia mwisho wa skrini, na ikiwa ni hivyo, tunaifuta kutoka kwenye orodha zao.
Hatua ya 2: Joystick
BitPlayer ni rahisi kushikilia na kutumia, na kijiti cha kushtukiza cha 2-axis kama watawala wa Gameboy au PSP, pia inajumuisha vifungo vingine 6 vinavyopangwa vilivyoitwa L, R, A, B, C na D. Kwa uzoefu wa kuzama na maingiliano, BitPlayer yenyewe ina buzzer, motor ya kutetemeka na bandari ya Grove I2C kuunganisha vifaa vya ziada kama onyesho la OLED.
Tunatumia tu mwamba wa kulia wa kulia wa fimbo ya mchezo huu, kwa mfano kamili juu ya matumizi ya vifungo vyote vya BitPlayer unaweza kuangalia joystick_example.py katika ghala la mradi wa GitHub. Wakati wa kuunda mfano wa darasa la JoyStick tunaangalia usomaji chaguomsingi wa X-axis na kuhifadhi hiyo thamani kwa ubinafsi. Halafu katika kazi Listen_Dir, tunaangalia ikiwa kupotoka kutoka kwa hiyo chaguo-msingi ni ya juu kuliko kutofautisha kwa unyeti (jaribu kujibadilisha mwenyewe, ikiwa unahisi kuwa JoyStick ni nyeti sana) na urudishe Ukweli wa Uongo kulingana na mwelekeo uliogunduliwa.
Wacha tuangalie mfano halisi wa jinsi hii inafanya kazi:
Wacha tuseme usomaji wetu wa msingi wa X-axis ni 0. Basi, ikiwa tutasogeza Joystick kulia:
New_X = JoyStick_X.read_analog () # Mpya_X = 200
Kulia = Mpya_X - mwenyewe. Soma_X #Kulia = 200 Kushoto = ubinafsi. Soma_X - Mpya_X #Kushoto = -200
Halafu tunapoangalia mwelekeo:
Precision = 150if Right> Precision: # 200> 150 True Get_Rocker = DIR ['R'] elif Left> Precision: # -200> 150 False Get_Rocker = DIR ['L'] mwingine: Get_Rocker = DIR ['NONE'] ikiwa Dir == Get_Rocker: rudi Kweli kingine: rudisha Uwongo
Hatua ya 3: Onyesha bafa
Darasa la DisplayBuf linawajibika kudhibiti skrini ya LED. Inafanywa kwa kutumia njia mbili, set () na render (). set () njia inabadilisha maadili yanayolingana na saizi za skrini za LED. Unaweza kukumbuka, saizi kwenye Micro: bit LED screen inaweza kuonyeshwa kama kamba au orodha - "00000: 00000: 00000: 00000: 00000" ni skrini tupu. "00000: 00000: 00000: 00000: 00100" ni skrini iliyo na pikseli iliyowaka hafifu katikati ya safu ya chini.
00000:
00000
:00000
:00000:
00100"
Ujumbe huu unaweza kuwa rahisi kusindika:)
Kwa hivyo, tunachofanya wakati wa kitanzi kuu ni njia ya kuweka simu () ya DisplayBuf kuweka vitu vyetu vyote vinavyohitaji kuonyeshwa kwenye skrini. Kisha tunatumia njia ya render () kuwaonyesha wote kwenye skrini wakati huo huo.
Hatua ya 4: Wavamizi, Risasi na Mchezaji
Risasi na Wavamizi ni wa darasa la Mover. Matukio ya mwendo wa darasa yana x, y maeneo na kasi, na pia mwangaza. Darasa la Mover lina njia mbili za mfano, set () na hoja (). set () njia inaita tu DisplayBuf set () njia na kuratibu zilizosasishwa ili kuokoa kwa utoaji wa baadaye kwenye tumbo la LED. hoja () njia za sasisho za mfano kuratibu kulingana na kasi ya mfano - ambayo inakuja muhimu baadaye, wakati tunahitaji kubadilisha kasi ya wavamizi kadri viwango vinavyoendelea.
Bullet ya Darasa na Wavamizi wa darasa ni darasa ndogo za darasa la Hoja. Hapa tunatumia kitu kinachoitwa urithi. Utendaji wa super () inaruhusu sisi kupiga njia za superclass katika subclass, bila hitaji la kurudia nambari.
Hatua ya 5: Ifanye yako mwenyewe
Hongera! Umeunda tena mchezo wa kawaida wa Wavamizi wa Nafasi kwenye Micro: kidogo na vifaa vya kupendeza vya uchezaji. Kwa kweli, unaweza kuboresha nambari ya mchezo kutoka hapa - kwa mfano, kwa sasa, mchezo una kiwango kimoja tu - unaweza kuongeza zile zenye changamoto zaidi. Pia, kama unavyoweza kukumbuka, mchezo wa asili una miamba inayoelea mbele ya mchezaji, ambayo unaweza kuongeza pia.
Ikiwa unafanya toleo bora la mchezo, shiriki kwenye maoni hapa chini! Kwa habari zaidi juu ya BitPlayer na vifaa vingine kwa watunga na waelimishaji wa STEM, tembelea wavuti yetu, https://tinkergen.com/ na ujiandikishe kwa jarida letu.
TinkerGen hivi karibuni imeunda kampeni ya Kickstarter ya MARK (Tengeneza Kitengo cha Roboti), kitanda cha roboti cha kufundisha usimbuaji, roboti, AI!
Nambari asili ya Micropython kutoka hexkcd / micro-vaders, ilibadilishwa kufanya kazi na TinkerGen BitPlayer.
Ilipendekeza:
Wavamizi wa LCD: Wavamizi wa nafasi kama mchezo kwenye 16x2 Uonyesho wa Tabia ya LCD: Hatua 7
Wavamizi wa LCD: Wavamizi wa Nafasi Kama Mchezo kwenye 16x2 Uonyesho wa Tabia ya LCD: Hakuna haja ya kuanzisha mchezo wa hadithi wa "Wavamizi wa Nafasi". Kipengele cha kufurahisha zaidi cha mradi huu ni kwamba hutumia onyesho la maandishi kwa pato la picha. Inafanikiwa kwa kutekeleza herufi 8 maalum. Unaweza kupakua Arduino kamili
Kukua Lettuce Zaidi katika Nafasi Ndogo Au Kukua Lettuce katika Nafasi, (Zaidi au Chini): Hatua 10
Kukua Lettuce Zaidi katika Nafasi Ndogo Au … Kukua Lettuce katika Anga, (Zaidi au Chini): Hii ni uwasilishaji wa kitaalam kwa Shindano la Kukuza Zaidi ya Dunia, Mashindano ya Watengenezaji, iliyowasilishwa kupitia Maagizo. Sikuweza kuwa na msisimko zaidi kuwa nikibuni utengenezaji wa mazao ya nafasi na kutuma Instructable yangu ya kwanza.Kuanza, shindano lilituuliza
Jinsi ya Kufanya Wavamizi wa Nafasi kwenye Kidogo Kidogo: 4 Hatua
Jinsi ya Kutengeneza Wavamizi wa Nafasi kwenye Micro Bit. Kwa hivyo hatua ya kwanza ni kuunda meli yetu. Wewe nenda kwa " Msingi " na ongeza " Mwanzoni " kuzuia. Kisha nenda kwa " Vigeuzi " na unaunda ubadilishaji uitwao " MELI " na uchague kizuizi kutoka kwa " Vigeuzi " kichupo t
Saa ya Wavamizi wa Nafasi (kwenye Bajeti!): Hatua 6 (na Picha)
Saa ya Wavamizi wa Nafasi (kwenye Bajeti!): Hivi karibuni niliona ujenzi mzuri wa GeckoDiode na mara moja nilitaka kuijenga mwenyewe. Inayofundishwa ni Wavamizi wa Nafasi Desktop Saa na ninapendekeza uiangalie baada ya kusoma hii.Mradi huo ulikuwa karibu umejengwa kwa sehemu zilizopatikana
Wavamizi wa Nafasi Chandelier Pamoja na Nuru katika Tendo la Giza: Hatua 16 (na Picha)
Wavamizi wa Nafasi Chandelier Pamoja na Nuru katika Vitendo Vya Giza: Tumia uundaji wa 3D / uchapishaji, laser akriliki iliyokatwa, utando wa resini, rangi tendaji ya UV, taa za taa na wiring rahisi kutengeneza mtindo wa hali ya juu na retro baridi wavamizi chandelier au taa. Nimejumuisha ujanja mzuri wa kutengeneza pembe zilizopindika nje ya laser cu