Turinys:
- 1 žingsnis: plati apžvalga
- 2 žingsnis: Būtinos sąlygos
- 3 žingsnis: „Sveikas pasaulis“„Pygame Zero“
- 4 žingsnis: pieškite savo aktorių
- 5 žingsnis: valdykite aktorių
- 6 žingsnis: kelio kūrimas
- 7 žingsnis: automobilio avarija
- 8 veiksmas: paleiskite žaidimą „Raspberry Pi“
- 9 žingsnis: Ar laimėjote?
- 10 žingsnis: Išvada
Video: Sukurkite savo pirmąjį lenktynių žaidimą: 10 žingsnių
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:47
Jei kodavote „Python“ir norėjote parašyti žaidimą, kurį galbūt turite „Pygame Zero“.
Šioje pamokoje mes parašysime paprastą lenktynių žaidimą.
1 žingsnis: plati apžvalga
„Pygame“modulis prideda daug funkcijų, padedančių rašyti žaidimus „Python“.
„Pygame Zero“žengia dar vieną žingsnį, kad galėtumėte praleisti sudėtingą visų šių žaidimų kilpų kūrimo ir programos struktūros nustatymo procesą.
„Pygame Zero“yra puikus pasirinkimas visiems, norintiems pradėti rašyti kompiuterinius žaidimus „Raspberry Pi“ar bet kuriame „Linux“įrenginyje.
Jums reikės:
- Mašina, kurioje veikia „Linux“OS
- Redaktorius, skirtas rašyti python programą
- Klaviatūra
- Šiek tiek vaizduotės
Failai:
github.com/AhmNouira/-Racing-Game
2 žingsnis: Būtinos sąlygos
Pirmiausia naudoju nešiojamąjį kompiuterį su „Ubuntu 18.04“OS. Tada 8 veiksme paleisime žaidimą „Raspberry Pi“.
Prieš tęsdami šią mokymo programą, įsitikinkite, kad esate prisijungę kaip vartotojas, turintis sudo privilegijas.
„Python 3“pip įdiegimas
Pradėkite atnaujindami paketų sąrašą naudodami šią komandą:
sudo apt atnaujinimas
Norėdami įdiegti „Python 3“pip, naudokite šią komandą:
sudo apt įdiegti python3-pip
patikrinkite diegimą patikrindami „pip“versiją:
pip3 -versija
„Pygame Zero“diegimas
pip3 įdiegti pgzero -user
Tai taip pat įdiegs „Pygame“. Iš anksto sudaryti „Pygame“paketai
Taigi pirmas žingsnis jūsų kelyje bus atidaryti „Python 3 IDLE“arba mėgstamą „Python“redaktorių.
3 žingsnis: „Sveikas pasaulis“„Pygame Zero“
Pagal numatytuosius nustatymus „Pygame Zero“langas atidaromas 800 pikselių pločio ir 600 pikselių aukščio. Galite tinkinti
lango dydį, galite nustatyti du iš anksto nustatytus kintamuosius, jei įtraukiate WIDTH = 700 HIGH = 800.
„Pygame zero“suteikia iš anksto nustatytas funkcijas, skirtas žaidimo ciklui paprastai atlikti:
Funkcija draw ()
Šią funkciją galime įrašyti į savo programą taip pat, kaip įprastai apibrėžtume funkciją „Python“.
„Pygame Zero“laikosi tų pačių formatavimo taisyklių kaip ir „Python“, todėl turėsite pasirūpinti, kad kodas būtų įtrauktas teisingai.
#!/usr/bin/python3 # nustatykite vertėją
importuoti pgzrun # importuoti pgzero modulį WIDTH = 700 # lango plotis HEIGHT = 800 # lango aukštis def draw (): # pygame zero draw function screen.fill ((128, 128, 128)) # užpildyti ekraną spalvotas ekranas.draw.text ("Labas pasaulis!", (270, 320), # piešti "Labas pasaulis!" spalva = (255, 255, 255), fontsize = 40) pgzrun.go ()
Pirmiausia turite išsaugoti programos failą ir suteikti jam pavadinimą.
Tada atidarykite terminalo langą, eikite į savo failo vietą ir įveskite:
./.py
4 žingsnis: pieškite savo aktorių
Dabar, kai turime sceną, galime sukurti savo aktorius, jie yra dinamiški „Pygame Zero“objektai.
Mes galime įkelti aktorių įvesdami programos viršuje:
automobilis = aktorius („lenktyninis automobilis“)
„Pygame Zero“mūsų vaizdai turi būti saugomi kataloge, pavadintame „images“, šalia mūsų programos failo. Taigi mūsų aktorius ieškotų vaizdo failo vaizdų aplanke, vadinamame racecar.png. Tai gali būti GIF arba-j.webp
Galite nustatyti jo padėtį ekrane įvesdami:
automobilis.pos = 350, 560
Po to mūsų draw () funkcijoje galime įvesti
car.draw () # nupieškite mūsų lenktyninį automobilį nustatytoje vietoje
Visa programa bus tokia:
#!/usr/bin/python3
importuoti pgzrun WIDTH = 700 # lango plotis HEIGHT = 800 # lango automobilio aukštis = Actor ("racecar") car.pos = 350, 560 def draw (): # pygame zero draw function screen.fill ((128, 128, 128)) # užpildykite ekraną automobiliu.draw () pgzrun.go ()
Išbandykite savo programą, kad įsitikintumėte, jog tai veikia.
5 žingsnis: valdykite aktorių
Kai ekrane parodysime savo automobilio piešinį, kitas etapas yra leisti žaidėjui jį perkelti.
Tai galime padaryti paspausdami klavišus. Šių klavišų būseną galime perskaityti kitoje iš anksto apibrėžtoje funkcijoje, vadinamoje update ().
Atnaujinimo () funkcija
Ši funkcija nuolat tikrinama žaidimo metu.
Turime parašyti tam tikrą kodą, kad galėtume aptikti rodyklių klavišų paspaudimus ir ką nors padaryti.
Taigi šią funkciją pridėsime prie savo programos
def atnaujinimas ():
jei klaviatūra. kairė: automobilis. x -= 2, jei klaviatūra. dešinė: automobilis. x += 2, jei klaviatūra. aukštyn: automobilis.y -= 2, jei klaviatūra. žemyn: automobilis.y += 2
Šios kodo eilutės perkelia automobilio aktorių į kairę, į dešinę, į priekį ir atgal.
6 žingsnis: kelio kūrimas
Dabar, kai turime automobilį, kurį galime vairuoti, mums reikia kelio, kuriuo jis galėtų važiuoti.
Mes ketiname kurti savo takelį iš aktorių, po vieną eilę. Turėsime sudaryti keletą sąrašų, kad galėtume sekti mūsų sukurtus aktorius.
Taip pat turėsime nustatyti dar kelis kintamuosius takeliui.
Tada sukurkime naują funkciją, pavadintą makeTrack (). Ši funkcija pridės vieną takelį Aktorius kairėje ir vieną dešinėje, abu naudodami vaizdą bare-p.webp
trackLeft = # sąrašas kairiesiems barjerams saugoti
trackRight = # sąrašas dešiniesiems bariams saugoti trackCount = 0 # skaičiuoti barių skaičių trackPosition = 350 trackWidth = 150 # plotis tarp kairės ir dešinės ribų def makeTrack (): # funkcija, skirta padaryti vieną juostą kairėje ir dešinėje visuotiniame takeCount, trackLeft, trackRight, trackPosition, trackWidth trackLeft.append (Actor ("bare", pos = (trackPosition-trackWidth, 0))) trackRight.append (Actor ("bare", pos = (trackPosition + trackWidth, 0))) trackCount += 1
Kitas dalykas, kurį turime padaryti, yra perkelti takelio dalis ekrane žemyn link automobilio.
Parašykime naują funkciją, vadinamą updateTrack (), ši funkcija atnaujinama ten, kur bus rodomi takelių blokai. Takelio dalys sukuriamos atsitiktiniais skaičiais, todėl kiekvienas grojimas yra skirtingas.
trackDriction = Netiesa
SPEED = 4 # nustato žaidimo greitį nuo atsitiktinio importavimo
Žiūrėkite žemiau esantį ZIP failą pavadinimu „RaceGameDemo“.
Jei šiuo metu vykdome savo kodą, turėtume pamatyti takelį, nusileidžiantį automobilio link. Vienintelė problema yra ta, kad mes galime perkelti automobilį virš bėgių užtvarų ir norime, kad automobilis būtų jų viduje su tam tikru susidūrimo aptikimu.
7 žingsnis: automobilio avarija
Turime įsitikinti, kad mūsų automobilis neliečia aktorių.
taip pat galime išbandyti susidūrimus naudodami funkciją colliderect (), esantį mūsų „updateTrack“() funkcijoje.
Šiame žaidime mes turėsime tris skirtingas žaidimo būsenas, saugomas mūsų kintamame žaidimeStatus:
- gameStatus == 0 # žaidimas veikia
- gameStatus == 1 # automobilio avarija
- gameStatus == 2 # žaidimas baigtas
Norėdami reaguoti į „gameStatus“kintamąjį, turėsime pakeisti „draw“() ir „update“() funkciją.
Apdailos darbai
Viskas, ką mums reikia padaryti, tai ką nors parodyti, jei „gameStatus“nustatyta į 1 arba 2, pavyzdžiui, turėtume rodyti raudoną
vėliava, jei automobilis sudužo. Tai galime padaryti naudodami žemiau esantį kodą:
screen.blit ("raudona vėliava", (230, 230))
Norėdami pamatyti, ar automobilis pasiekė finišą, turėtume suskaičiuoti, kiek trasos atkarpų buvo sukurta, ir galbūt, kai pasieksime 200, nustatykite „gameStatus“į 2. Tada parodykite languotą vėliavą:
screen.blit ("finishflag", (230, 230))
Taip pat ekrane parodysime tam tikrą tekstą, pvz., Dabartinį žaidimo rezultatą.
Peržiūrėkite visą kodų sąrašą, kad pamatytumėte, kaip visa tai dera.
8 veiksmas: paleiskite žaidimą „Raspberry Pi“
„Raspberry Pi“„pgzero“buvo įdiegta pagal numatytuosius nustatymus nuo „Raspbian Jessie“išleidimo 2015 m.
Tiesiog atnaujinkite „Raspberry Pi“naudodami komandą:
sudo apt-get atnaujinimas
Eikite į savo failo vietą ir įveskite terminalą.
pgzrun.py
9 žingsnis: Ar laimėjote?
Galite padaryti žaidimą lengvesnį ar sunkesnį, pakeisdami kintamąjį trackWidth, kad takelis būtų kitokio pločio. Galite pakeisti SPEED reikšmę, kad takelis judėtų greičiau arba lėčiau.
10 žingsnis: Išvada
„Pygame Zero“yra puikus pasirinkimas visiems, norintiems pradėti rašyti kompiuterinius žaidimus.
Žinoma, jei turite kokių nors klausimų, galite palikti komentarą. Norėdami pamatyti daugiau apie mano darbus, apsilankykite mano kanale:
myYouTube
myTwitter
myLinkedin
Ačiū, kad perskaitėte šią pamokomą medžiagą ^^ ir geros dienos. Iki. Ahmedas Nouira.
Rekomenduojamas:
Sukurkite savo 1D teniso žaidimą: 5 žingsniai (su nuotraukomis)
Sukurkite savo 1D teniso žaidimą: Šiame projekte aš jums parodysiu, kaip sujungiau MDF plokštę su garso signalo mygtukais, šviesos diodais ir „Arduino Nano“, kad galėčiau sukurti 1D teniso žaidimą, kurį tikrai smagu žaisti. Pakeliui parodysiu, kaip sukurti elektronikos grandinę ir kaip skiriasi
Sukurkite savo pirmąjį IOT naudodami „Arduino“be papildomų modulių: 5 žingsniai (su nuotraukomis)
Sukurkite pirmąjį IOT naudodami „Arduino“be papildomų modulių: pasaulis kasdien tampa protingesnis, o didžiausia to priežastis yra išmaniųjų technologijų raida. Kaip technologijų entuziastas, jūs tikriausiai girdėjote apie terminą IOT, kuris reiškia daiktų internetą. Daiktų internetas reiškia kontroliuoti ir maitinti
Kaip sukurti savo pirmąjį veiksmą „Google“pagrindiniame puslapyje (per 10 minučių). 1 dalis: 10 žingsnių
Kaip sukurti savo pirmąjį veiksmą „Google“pagrindiniame puslapyje (per 10 minučių) 1 dalis: Sveiki, tai yra pirmasis straipsnių ciklas, kurį rašysiu ir kuriame sužinosime, kaip kurti ir diegti veiksmus „Google“. Tiesą sakant, pastaruosius kelis mėnesius dirbu „veiksmuose„ Google “. Aš peržiūrėjau daugybę straipsnių, kuriuos galima rasti
Parašykite savo pirmąjį C# kodą („Windows“)!: 7 žingsniai
Parašykite savo pirmąjį C# kodą („Windows“)!: Šioje pamokoje aš maloniai jus visus išmokysiu sukurti savo kodą C# kalba! Viskas, ko jums reikės, yra kompiuteris/nešiojamas kompiuteris ir šiek tiek kantrybės. Be atsisiuntimo laiko, tai užtruks tik apie
Muzikos įtraukimas į lenktynių žaidimą „Scratch“: 3 žingsniai
Muzikos įtraukimas į lenktynių žaidimą: Ši pamoka žingsnis po žingsnio parodys, kaip įdėti savo muziką į lenktynių žaidimą „BIY Scratch“