Sisukord:
- 1. samm: lai ülevaade
- 2. etapp: eeltingimused
- 3. samm: "Tere maailm" Pygame Zero'is
- 4. samm: näitleja joonistamine
- Samm: kontrollige näitlejat
- 6. samm: raja ehitamine
- 7. samm: autoõnnetus
- Samm: käivitage mäng Raspberry Pi -l
- Samm: kas võitsite?
- 10. samm: järeldus
Video: Looge oma esimene võidusõidumäng: 10 sammu
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:48
Kui olete Pythoni kodeerinud ja soovinud kirjutada mängu, mis teil võib olla Pygame Zero kaudu.
Selles õpetuses kirjutame lihtsa võidusõidu mängu.
1. samm: lai ülevaade
Pygame moodul lisab palju funktsioone, mis aitavad teil Pythonis mänge kirjutada.
Pygame Zero astub sammu kaugemale, et saaksite vahele jätta kõigi nende mängusilmuste tegemise ja programmi struktuuri seadistamise tülika protsessi.
Pygame Zero on suurepärane valik kõigile, kes soovivad alustada arvutimängude kirjutamist Raspberry Pi või mis tahes Linuxi masinaga.
Te vajate:
- Masin, mis töötab Linuxi operatsioonisüsteemiga
- Toimetaja python -programmi kirjutamiseks
- Klaviatuur
- Natuke kujutlusvõimet
Failid:
github.com/AhmNouira/-Racing-Game
2. etapp: eeltingimused
Esiteks kasutan oma sülearvutit koos Ubuntu 18.04 OS -iga. Seejärel käivitame mängu Raspberry Pi abil sammus 8.
Enne selle õpetuse jätkamist veenduge, et olete sisse logitud sudo -õigustega kasutajana.
Piphon 3 installimine
Alustage pakettide loendi värskendamisega, kasutades järgmist käsku:
sudo apt värskendus
Pythoni 3 installimiseks kasutage järgmist käsku:
sudo apt install python3-pip
kontrollige installimist, kontrollides pip versiooni:
pip3 -versioon
Pygame Zero installimine
pip3 install pgzero --kasutaja
See installib ka Pygame'i. Eelkompileeritud Pygame'i paketid
Nii et esimene samm teie teekonnal on Python 3 IDLE või teie lemmikpythoni redaktori avamine.
3. samm: "Tere maailm" Pygame Zero'is
Vaikimisi avaneb Pygame Zero aken suurusega 800 pikslit ja 600 pikslit kõrge. Saate kohandada
akna suuruse järgi saate määrata kaks muutujat, kui lisate WIDTH = 700 HIGH = 800.
Pygame zero pakub eelmääratud funktsioone mängusilmuse tavapäraseks täitmiseks:
Funktsioon draw ()
Me võime selle funktsiooni oma programmi kirjutada samamoodi nagu tavaliselt Pythonis funktsiooni määratleksime.
Pygame Zero järgib samu vormindamisreegleid nagu Python, seega peate hoolitsema oma koodi õige taande eest.
#!/usr/bin/python3 # määrake tõlk
import pgzrun # impordi pgzero moodul WIDTH = 700 # akna laius HEIGHT = 800 # akna kõrgus def draw (): # pygame zero draw function screen.fill ((128, 128, 128)) # täida ekraan RGB -ga värviline screen.draw.text ("Tere maailm!", (270, 320), # joonista "Tere maailm!" color = (255, 255, 255), fontsize = 40) pgzrun.go ()
Kõigepealt peate oma programmifaili salvestama ja sellele nime andma.
Seejärel avage terminali aken, minge oma faili asukohta ja tippige:
./.py
4. samm: näitleja joonistamine
Nüüd, kui meil on lavakomplekt, saame luua oma näitlejaid, nad on Pygame Zero dünaamilised objektid.
Näitleja saab laadida programmi tippu tippides:
auto = näitleja ("võidusõiduauto")
Pygame Zero's tuleb meie pildid salvestada kataloogi nimega images, meie programmifaili kõrvale. Nii et meie näitleja otsiks pildifaili piltide kaustast racecar.png. See võib olla GIF- või JPG-fail, kuid on soovitatav, et teie pildid oleksid PNG-failid, kuna see failitüüp pakub kvaliteetseid pilte koos lüümikutega.
Saate määrata selle asukoha ekraanil, tippides:
auto.pos = 350, 560
Pärast seda võime oma draw () funktsioonis tippida
car.draw () # joonistage meie võidusõiduauto kindlaksmääratud positsioonile
Kogu programm saab olema selline:
#!/usr/bin/python3
import pgzrun WIDTH = 700 # akna laius HEIGHT = 800 # akna kõrgus auto = Näitleja ("võidusõiduauto") auto.pos = 350, 560 def draw (): # pygame zero draw function screen.fill ((128, 128, 128)) # täitke ekraan autoga.draw () pgzrun.go ()
Testige oma programmi ja veenduge, et see töötab.
Samm: kontrollige näitlejat
Kui oleme oma auto joonistuse ekraanile pannud, on järgmine etapp võimaldada mängijal seda liigutada.
Seda saame teha klahvivajutustega. Nende võtmete olekut saame lugeda teises eelmääratud funktsioonis update ().
Värskenduse () funktsioon
Seda funktsiooni kontrollitakse pidevalt mängu ajal.
Peame kirjutama koodi, et tuvastada nooleklahvide klahvivajutusi ja ka midagi ette võtta.
Seega lisame selle funktsiooni oma programmi
def uuendus ():
kui klaviatuur.vasak: auto.x -= 2 kui klaviatuur.parem: auto.x += 2 kui klaviatuur.üles: auto.y -= 2 kui klaviatuur.maht: auto.y += 2
Need koodirid liigutavad auto näitlejat vasakule, paremale, edasi ja tagasi.
6. samm: raja ehitamine
Nüüd, kui meil on auto, mida saame juhtida, vajame selle läbimiseks rada.
Ehitame oma raja näitlejatest, üks rida korraga. Peame koostama mõned nimekirjad, et jälgida meie loodud näitlejaid.
Samuti peame raja jaoks seadistama veel mõned muutujad.
Seejärel teeme uue funktsiooni nimega makeTrack (). Funktsioon lisab vasakule ja teisele paremale ühe pala näitleja, mõlemad kasutavad meie piltide kaustas olevat pilti bare.png.
trackLeft = # loend vasakpoolsete tõkete salvestamiseks
trackRight = # loend parempoolsete tõkete salvestamiseks trackCount = 0 # loendab tõkete arvu trackPosition = 350 trackWidth = 150 # laius vasaku ja parema tõkke vahel, trackLeft, trackRight, trackPosition, trackWidth trackLeft.append (Actor ("bare", pos = (trackPosition-trackWidth, 0))) trackRight.append (Actor ("bare", pos = (trackPosition + trackWidth, 0))) trackCount += 1
Järgmine asi, mida peame tegema, on rööbasteede liigutamine ekraanilt allapoole auto poole.
Kirjutame uue funktsiooni nimega updateTrack (), seda funktsiooni värskendatakse, kus ilmuvad palaplokid. Rajaosad luuakse juhuslike numbrite abil, nii et iga mäng on erinev.
trackDriction = Vale
SPEED = 4 # määrab mängu kiiruse juhusliku impordi kaudu
Palun vaadake allpool olevat ZIP -faili nimega "RaceGameDemo".
Kui me praegu oma koodi käitame, peaksime nägema rada, mis auto poole alla hiilib. Ainus probleem on see, et saame auto üle rajapiirete liigutada ja tahame autot nende sees hoida koos mõne kokkupõrke tuvastamisega.
7. samm: autoõnnetus
Peame tagama, et meie auto ei puudutaks näitlejate rada.
samuti võime testida kokkupõrkeid, kasutades funktsiooni updateTrack () meetodit colliderect ().
Selles mängus on meie muutuvas mängus olekusse salvestatud mängu kolm erinevat olekut:
- gameStatus == 0 # mäng töötab
- gameStatus == 1 # autoõnnetus
- gameStatus == 2 # mäng lõppes
Peame muutma oma draw () funktsiooni ja update () funktsiooni, et vastata gameStatus muutujale.
Viimistlus
Kõik, mida peame tegema, on nüüd midagi kuvada, kui gameStatus on seatud väärtusele 1 või 2, näiteks peaksime näitama punast
lipp, kui auto kukkus alla. Seda saame teha alloleva koodiga:
screen.blit ("punane lipp", (230, 230))
Et näha, kas auto on finišisse jõudnud, peaksime loendama, kui palju rajalõike on loodud, ja siis, kui jõuame 200ni, seadistage gameStatus väärtuseks 2. Seejärel kuvage ruuduline lipp:
screen.blit ("finišilipp", (230, 230))
Samuti kuvame ekraanil teksti, nagu mängu praegune tulemus.
Vaadake täielikku koodiloendit, et näha, kuidas see kõik kokku sobib.
Samm: käivitage mäng Raspberry Pi -l
Raspberry Pi -s on pgzero vaikimisi installitud alates Raspbian Jessie ilmumisest 2015. aasta septembris.
Lihtsalt värskendage oma Raspberry Pi käsku kasutades:
sudo apt-get update
Minge oma faili asukohta ja tippige terminali.
pgzrun.py
Samm: kas võitsite?
Saate mängu lihtsamaks või raskemaks muuta, muutes trackWidth muutujat, et muuta rada erineva laiusega. SPEED väärtust saate muuta, et rada liiguks kiiremini või aeglasemalt.
10. samm: järeldus
Pygame Zero on suurepärane valik kõigile, kes soovivad hakata arvutimänge kirjutama.
Kui teil on küsimusi, võite muidugi kommentaari jätta. Minu tööde kohta lisateabe saamiseks külastage minu kanalit:
myYouTube
myTwitter
myLinkedin
Täname, et lugesite seda juhendit ^^ ja kena päeva. Nägemiseni. Ahmed Nouira.
Soovitan:
Kuidas luua oma esimene lihtne tarkvara Pythoni abil: 6 sammu
Kuidas teha oma esimest lihtsat tarkvara Pythoni abil: Tere, tere tulemast sellesse juhendisse. Siin räägin teile, kuidas oma tarkvara teha. Jah, kui teil on idee … aga teate, mida rakendada või olete huvitatud uute asjade loomisest, siis on see teie jaoks …… Eeltingimus: peaks olema põhiteadmised P
Ehitage oma esimene IOT Arduino abil ilma lisamooduliteta: 5 sammu (piltidega)
Ehitage oma esimene IOT Arduino abil ilma lisamooduliteta: maailm läheb iga päev targemaks ja selle suurimaks põhjuseks on nutika tehnoloogia areng. Tehnikaentusiastina olete kindlasti kuulnud terminist IOT, mis tähendab asjade Internetti. Asjade Internet tähendab kontrolli ja toitmist
Kuidas luua oma esimene toiming Google'i avalehe jaoks (10 minutiga) 1. osa: 10 sammu
Kuidas luua oma esimene tegevus Google'i kodulehe jaoks (10 minutiga) 1. osa: Tere! See on esimene artiklite seeriast, mille ma kirjutan ja kus õpime, kuidas Google'is toiminguid arendada ja juurutada. Tegelikult tegelen viimaste kuude tegevustega Google'is. Olen läbi vaadanud palju artikleid, mis on saadaval
Kirjutage oma esimene C# kood (Windowsi jaoks) !: 7 sammu
Kirjutage oma esimene C# kood (Windowsi jaoks!): Selles juhendis õpetan teile armulikult kõiki, kuidas luua oma kood C# keeles! Kõik, mida vajate, on arvuti/sülearvuti ja natuke kannatlikkust. Lisaks allalaadimisajale kulub teil ainult umbes
Kuidas ehitada oma esimene ring: 20 sammu (piltidega)
Kuidas oma esimest vooluringi ehitada: oma vooluringide ehitamine võib tunduda hirmutav ülesanne. Lülitusskeemid näevad välja nagu hieroglüüfid ja kõigil neil elektroonilistel osadel pole absoluutselt mingit mõtet. Olen selle juhendi kokku pannud, et loodetavasti aidata ja juhendada teid lõpuks ehitama