Sisällysluettelo:
- Vaihe 1: Yleiskatsaus
- Vaihe 2: Edellytykset
- Vaihe 3: "Hello World" Pygame Zerossa
- Vaihe 4: Näyttelijän piirtäminen
- Vaihe 5: Hallitse näyttelijää
- Vaihe 6: Radan rakentaminen
- Vaihe 7: Auto -onnettomuus
- Vaihe 8: Suorita peli Raspberry Pi: llä
- Vaihe 9: Voititko?
- Vaihe 10: Johtopäätös
Video: Luo ensimmäinen kilpapeli: 10 vaihetta
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:02
Jos olet tehnyt joitain Python -koodauksia ja halusit kirjoittaa pelin, saatat kokea Pygame Zeron.
Tässä opetusohjelmassa kirjoitamme yksinkertaisen ajopelin.
Vaihe 1: Yleiskatsaus
Pygame -moduuli lisää monia toimintoja, joiden avulla voit kirjoittaa pelejä Pythonissa.
Pygame Zero menee askeleen pidemmälle, jotta voit ohittaa kaikkien näiden pelisilmukoiden tekemisen ja ohjelmarakenteen määrittämisen.
Pygame Zero on loistava valinta kaikille, jotka haluavat alkaa kirjoittaa tietokonepelejä Raspberry Pi: llä tai millä tahansa Linux -koneella.
Sinä tulet tarvitsemaan:
- Kone, joka käyttää Linux -käyttöjärjestelmää
- Toimittaja kirjoittaa python -ohjelman
- Näppäimistö
- Jotain mielikuvitusta
Tiedostot:
github.com/AhmNouira/-Racing-Game
Vaihe 2: Edellytykset
Ensin käytän kannettavaa tietokonettani Ubuntu 18.04 -käyttöjärjestelmän kanssa. Sitten suoritamme pelin Raspberry Pi: llä vaiheessa 8.
Ennen kuin jatkat tämän opetusohjelman kanssa, varmista, että olet kirjautunut sisään sudo -oikeuksilla.
Piphonin asennusta varten Python 3
Aloita päivittämällä pakettiluettelo käyttämällä seuraavaa komentoa:
sudo apt päivitys
Asenna pip Python 3: lle seuraavalla komennolla:
sudo apt asentaa python3-pip
Tarkista asennus tarkistamalla pip -versio:
pip3 -versio
Pygame Zero asennetaan
pip3 asenna pgzero --user
Tämä asentaa myös Pygamen. Valmiiksi kootut Pygame-paketit
Joten ensimmäinen askel matkallasi on avata Python 3 IDLE tai suosikki python -editori.
Vaihe 3: "Hello World" Pygame Zerossa
Pygame Zero -ikkuna avautuu oletuksena 800 pikseliä leveänä ja 600 pikseliä korkeana. Voit muokata
ikkunasi koon mukaan voit asettaa kaksi ennalta määritettyä muuttujaa, jos lisäät WIDTH = 700 HIGH = 800.
Pygame zero tarjoaa ennalta määritettyjä toimintoja pelisilmukan normaalisti suorittamiseksi:
Draw () -toiminto
Voimme kirjoittaa tämän funktion ohjelmaan samalla tavalla kuin normaalisti määrittäisimme funktion Pythonissa.
Pygame Zero noudattaa samoja muotoilusääntöjä kuin Python, joten sinun on huolehdittava koodin sisennyksestä oikein.
#!/usr/bin/python3 # aseta tulkki
tuoda pgzrun # tuoda pgzero -moduuli WIDTH = 700 # ikkunan leveys HEIGHT = 800 # ikkunan korkeus def draw (): # pygame zero draw function screen.fill ((128, 128, 128)) # täytä näyttö RGB: llä color screen.draw.text ("Hello World!", (270, 320), # piirtää "Hello World!" color = (255, 255, 255), fontsize = 40) pgzrun.go ()
Ensinnäkin sinun on tallennettava ohjelmatiedosto ja annettava sille nimi.
Avaa sitten pääteikkuna, siirry tiedoston sijaintiin ja kirjoita:
./.py
Vaihe 4: Näyttelijän piirtäminen
Nyt kun meillä on lavasarja, voimme luoda näyttelijöitämme, he ovat dynaamisia esineitä Pygame Zerossa.
Voimme ladata näyttelijän kirjoittamalla ohjelman alkuun:
auto = Näyttelijä ("kilpa -auto")
Pygame Zerossa kuvat on tallennettava hakemistoon nimeltä images, ohjelmatiedostomme viereen, joten näyttelijämme etsisi kuvatiedostoa racecar-p.webp
Voit asettaa sen sijainnin näytöllä kirjoittamalla:
auto.pos = 350, 560
Tämän jälkeen voimme piirtää () -funktiossamme
car.draw () # piirrä kilpa -automme määritettyyn paikkaan
Koko ohjelma tulee olemaan seuraavanlainen:
#!/usr/bin/python3
tuonti pgzrun WIDTH = 700 # ikkunan leveys HEIGHT = 800 # ikkunan korkeus = näyttelijä ("kilpa -auto") auto. pos = 350, 560 def draw (): # pygame zero draw function screen.fill ((128, 128, 128)) # täytä näyttö car.draw () pgzrun.go ()
Testaa ohjelma varmistaaksesi, että se toimii.
Vaihe 5: Hallitse näyttelijää
Kun olemme saaneet auton piirustuksen näytölle, seuraava vaihe on antaa pelaajalle mahdollisuus siirtää sitä.
Voimme tehdä tämän näppäinpainalluksilla. Voimme lukea näiden näppäinten tilan toisesta ennalta määritellystä toiminnosta päivitys ().
Päivitys () -toiminto
Tämä toiminto tarkistetaan jatkuvasti pelin ollessa käynnissä.
Meidän on kirjoitettava jokin koodi havaitaksesi nuolinäppäinten painallukset ja tehdäksemme asialle jotain.
Joten lisäämme tämän toiminnon ohjelmaan
def päivitys ():
jos näppäimistö. vasen: auto. x -= 2 jos näppäimistö. oikea: auto. x += 2 jos näppäimistö. ylös: auto. y -= 2 jos näppäimistö. alas: auto. y += 2
Nämä koodirivit siirtävät auton näyttelijää vasemmalle, oikealle, eteenpäin ja taaksepäin.
Vaihe 6: Radan rakentaminen
Nyt kun meillä on auto, jota voimme ohjata, tarvitsemme radan, jolla se voi ajaa.
Rakennamme radan näyttelijöistä yksi rivi kerrallaan. Meidän on tehtävä joitain luetteloita seurataksemme luomiamme näyttelijöitä.
Meidän on myös määritettävä muutama muuttuja radalle.
Tehdään sitten uusi funktio nimeltä makeTrack (). Toiminto lisää yhden kappaleen Näyttelijä vasemmalle ja toisen oikealle, molemmat käyttämällä kuvia kansiossamme olevaa bare-p.webp
trackLeft = # luettelo vasemmanpuoleisten esteiden tallentamiseen
trackRight = # luettelo oikeanpuoleisten esteiden tallentamiseen trackCount = 0 # laske barrien lukumäärä trackPosition = 350 trackWidth = 150 # leveys vasemman ja oikean esteen välissä def makeTrack (): # -toiminto, joka muodostaa yhden palkin vasemmalle ja oikealle globaalille trackCount, trackLeft, trackRight, trackPosition, trackWidth trackLeft.append (Näyttelijä ("paljas", pos = (trackPosition-trackWidth, 0))) trackRight.append (Näyttelijä ("paljas", pos = (trackPosition + trackWidth, 0))) trackCount += 1
Seuraava asia, joka meidän on tehtävä, on siirtää radan osat näytössä alaspäin kohti autoa.
Kirjoitetaan uusi toiminto nimeltä updateTrack (), Tämä toiminto päivittää kappaleen lohkot. Kappaleet luodaan satunnaisluvuilla, joten jokainen toisto on erilainen.
trackDriction = Väärä
SPEED = 4 # asettaa pelin nopeuden satunnaisesta tuonnista randint # tuo randint -luokka satunnaisesta moduulista def updateTrack (): global trackCount, trackPosition, trackDirection, trackWidth, SPEED b = 0 while b
Katso alla oleva zip -tiedosto nimeltä "RaceGameDemo".
Jos käytämme koodiamme tällä hetkellä, meidän pitäisi nähdä raita, joka käärisi alas kohti autoa. Ainoa ongelma on, että voimme siirtää auton radan esteiden yli ja haluamme pitää auton niiden sisällä jonkin verran törmäystunnistuksella.
Vaihe 7: Auto -onnettomuus
Meidän on varmistettava, että auto ei kosketa näyttelijöitä.
voimme myös testata törmäyksiä käyttämällä updateTrack () -funktion menetelmää colliderect ().
Tässä pelissä meillä on kolme eri tilaa peliin, joka on tallennettu muuttuvaan pelimme tilaan:
- gameStatus == 0 # peli on käynnissä
- gameStatus == 1 # auto -onnettomuus
- gameStatus == 2 # peli valmis
Meidän on muutettava draw () -toimintoamme ja update () -toimintoamme vastaamaan gameStatus -muuttujaan.
Viimeistelyt
Meidän tarvitsee vain näyttää jotain, jos gameStatus on asetettu arvoon 1 tai 2, esimerkiksi meidän pitäisi näyttää punainen
lippu, jos auto kaatui. Voimme tehdä sen alla olevalla koodilla:
screen.blit ("punalippu", (230, 230))
Jos haluat nähdä, onko auto päässyt maaliin, meidän on laskettava, kuinka monta rataosuutta on luotu, ja sitten, kun saavumme 200: een, aseta gameStatus arvoon 2. Näytä sitten ruudullinen lippu:
screen.blit ("finishflag", (230, 230))
Näytämme myös tekstiä näytöllä, kuten pelin nykyinen tulos.
Katso koko koodiluettelo nähdäksesi kuinka tämä kaikki sopii yhteen.
Vaihe 8: Suorita peli Raspberry Pi: llä
Raspberry Pi -laitteeseen pgzero on asennettu oletusarvoisesti Raspbian Jessien julkaisun jälkeen syyskuussa 2015.
Päivitä vain Raspberry Pi komennolla:
sudo apt-get päivitys
Siirry tiedoston sijaintiin ja kirjoita päätelaitteeseen.
pgzrun.py
Vaihe 9: Voititko?
Voit tehdä pelistä helpompaa tai vaikeampaa muuttamalla trackWidth -muuttujaa, jotta raidasta tulee eri leveys. Voit muuttaa SPEED -arvoa nopeuttaaksesi tai hidastaaksesi raitaa.
Vaihe 10: Johtopäätös
Pygame Zero on loistava valinta kaikille, jotka haluavat aloittaa tietokonepelien kirjoittamisen.
Jos sinulla on kysyttävää, voit tietysti jättää kommentin. Jos haluat nähdä lisää teoksistani, käy kanavallani:
myYouTube
myTwitter
myLinkedin
Kiitos, että luit tämän ohjeen ^^ ja mukavaa päivää. Nähdään. Ahmed Nouira.
Suositeltava:
NodeMcu ESP8266 Ensimmäinen käyttöönotto Arduino IDE: llä: 10 vaihetta
NodeMcu ESP8266 Ensimmäinen asennus Arduino IDE: llä: Teen Twitch -ohjattuja laitteita; mukautetut konsolit, ohjaimet ja muut tapahtumat! Suoratoistot ovat joka keskiviikko ja lauantai klo 21.00 EST osoitteessa https://www.twitch.tv/noycebru, kohokohdat TikTokissa @noycebru ja voit katsella opetusohjelmia YouTubessa
Kuinka tehdä ensimmäinen yksinkertainen ohjelmisto Pythonin avulla: 6 vaihetta
Kuinka tehdä ensimmäinen yksinkertainen ohjelmisto Pythonin avulla: Hei, tervetuloa tähän ohjekirjaan. Tässä kerron kuinka tehdä oma ohjelmisto. Kyllä, jos sinulla on idea … mutta tiedät toteuttaa tai olet kiinnostunut uusien asioiden luomisesta, se on sinua varten …… Edellytys: Pitäisi olla perustiedot P
Ensimmäinen synteesini: 29 vaihetta (kuvilla)
Ensimmäinen syntetisaattorini: Lapsen syntetisaattori syntyi, kun istuin kyyristyneenä syntetisaattorijohtojen sotkuisen sotkun yli. Ystäväni Oliver tuli, arvioi tilannetta ja sanoi: "Tiedät, että olet onnistunut tekemään maailman monimutkaisimman lasten lelun." Vaikka ensimmäinen r
Maailman ensimmäinen kuituoptinen kynttiläkello: 14 vaihetta (kuvilla)
Maailman ensimmäinen kuituoptinen kynttiläkello: Päätin tehdä vaimolleni lahjan ja halusin keksiä alkuperäisen idean. Pidin ajatuksesta liikkuvasta veistoksesta ja pitkän harkinnan jälkeen keksin mekaanisen kellon käsitteen, joka välkkyi ja välkkyi kiteiden, kynttilöiden ja
Taaperoiden ensimmäinen kello - valo -ajastimella: 16 vaihetta (kuvilla)
Taaperoiden ensimmäinen kello - valoa sytyttävällä ajastimella: Tässä oppaassa kerrotaan, miten voit tehdä vaihdettavia kellotauluja - joissa voi olla lapsesi kuvia, perhe-/lemmikkikuvia - tai mitä tahansa muuta - mitä luulisi olevan hyvä vaihtaa säännöllisesti. Kiinnitä vain kirkas perspex halutun