Sisällysluettelo:

Luo ensimmäinen kilpapeli: 10 vaihetta
Luo ensimmäinen kilpapeli: 10 vaihetta

Video: Luo ensimmäinen kilpapeli: 10 vaihetta

Video: Luo ensimmäinen kilpapeli: 10 vaihetta
Video: Miten pyörän rengas vaihdetaan vaivattomasti | 10 vinkkiä 2024, Marraskuu
Anonim
Image
Image
Kuva
Kuva

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

Näyttelijän piirtäminen
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ää

Hallitse näyttelijää
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

Radan rakentaminen
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 32: if trackDirection == False: trackPosition += 16 if trackDirection == True: trackPosition - = 16 if randint (0, 4) == 1: trackDirection = not trackDirection if trackPosition> 700 - trackWidth: trackDirection = True if trackPosition < trackWidth: trackDirection = False makeTrack () # luo uusi raita näytön yläreunaan

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

Auto-onnettomuus
Auto-onnettomuus
Auto-onnettomuus
Auto-onnettomuus
Auto-onnettomuus
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ä

Suorita peli Raspberry Pi: llä
Suorita peli Raspberry Pi: llä
Suorita peli Raspberry Pi: llä
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?

Voititko?
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: