Kazalo:
- 1. korak: širši pregled
- 2. korak: Predpogoji
- 3. korak: "Hello World" v Pygame Zero
- 4. korak: Narišite svojega igralca
- 5. korak: Nadzirajte igralca
- Korak 6: Gradnja proge
- 7. korak: Avtomobilska nesreča
- 8. korak: Zaženite igro na Raspberry Pi
- 9. korak: Ste zmagali?
- 10. korak: Zaključek
Video: Ustvarite svojo prvo dirkaško igro: 10 korakov
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:05
Če ste naredili nekaj kodiranja Python in želite napisati igro, ki jo imate morda v Pygame Zero.
V tej vadnici bomo pisali preprosto dirkalno igro.
1. korak: širši pregled
Modul Pygame dodaja številne funkcije, ki vam pomagajo pri pisanju iger v Pythonu.
Pygame Zero gre še korak dlje, da vam omogoči preskok okornega postopka izdelave vseh teh iger in nastavitve programske strukture.
Pygame Zero je odlična izbira za vse, ki želijo začeti pisati računalniške igre na Raspberry Pi ali katerem koli drugem sistemu Linux.
Potrebovali boste:
- Stroj z operacijskim sistemom Linux
- Urejevalnik za pisanje programa python
- Tipkovnica
- Nekaj domišljije
Datoteke:
github.com/AhmNouira/-Racing-Game
2. korak: Predpogoji
Najprej bom uporabil svoj prenosnik z operacijskim sistemom Ubuntu 18.04. Nato bomo igro zagnali na Raspberry Pi v 8. koraku.
Preden nadaljujete s to vadnico, se prepričajte, da ste prijavljeni kot uporabnik s privilegiji sudo.
Namestitev pipa za Python 3
Začnite tako, da posodobite seznam paketov z naslednjim ukazom:
sudo apt posodobitev
Za namestitev pipa za Python 3 uporabite naslednji ukaz:
sudo apt namestite python3-pip
namestitev preverite tako, da preverite različico pip:
pip3 --verzija
Namestitev programa Pygame Zero
pip3 namestite pgzero --user
S tem boste namestili tudi Pygame. Vnaprej sestavljeni paketi Pygame
Prvi korak na vaši poti bo torej odpiranje Python 3 IDLE ali vašega najljubšega urejevalnika python.
3. korak: "Hello World" v Pygame Zero
Privzeto se odpre okno Pygame Zero v velikosti 800 slikovnih pik v širino in 600 pik v višino. Lahko prilagodite
velikost vašega okna lahko nastavite dve vnaprej določeni spremenljivki, če vključite WIDTH = 700 HIGH = 800.
Pygame zero ponuja vnaprej določene funkcije za ravnanje z igro, ki običajno deluje:
Funkcija draw ()
To funkcijo lahko vpišemo v naš program enako, kot bi običajno definirali funkcijo v Pythonu.
Pygame Zero sledi istim pravilom oblikovanja kot Python, zato boste morali paziti, da svojo kodo pravilno zamaknete.
#!/usr/bin/python3 # nastavite tolmača
import pgzrun # import pgzero module WIDTH = 700 # širina okna HEIGHT = 800 # višina okna def draw (): # pygame zero draw function screen.fill ((128, 128, 128)) # zapolni zaslon z RGB barvni zaslon.draw.text ("Hello World!", (270, 320), # draw "Hello World!" color = (255, 255, 255), font = 40) pgzrun.go ()
Najprej morate shraniti programsko datoteko in ji dati ime.
Nato odprite okno terminala, pojdite na mesto datoteke in vnesite:
./.py
4. korak: Narišite svojega igralca
Zdaj, ko imamo postavljen oder, lahko ustvarimo svoje igralce, ki so dinamični objekti v Pygame Zero.
Igralca lahko naložimo tako, da na vrhu programa vnesemo:
avto = igralec ("dirkalnik")
V Pygame Zero morajo biti naše slike shranjene v imeniku, ki se imenuje slike, poleg programske datoteke, zato bi naš igralec iskal slikovno datoteko v mapi s slikami, imenovano racecar.png. Lahko je datoteka-g.webp
Njegov položaj na zaslonu lahko nastavite tako, da vnesete:
avto.pos = 350, 560
Po tem lahko v funkcijo draw () vtipkamo
car.draw () # narišite naš dirkalnik na določeno mesto
Celoten program bo tak:
#!/usr/bin/python3
import pgzrun WIDTH = 700 # širina okna HEIGHT = 800 # height of the window car = Actor ("racecar") car.pos = 350, 560 def draw (): # pygame zero draw function screen.fill ((128, 128, 128)) # napolnite zaslon z car.draw () pgzrun.go ()
Preverite, ali program deluje.
5. korak: Nadzirajte igralca
Ko imamo na zaslonu risbo avtomobila, je naslednja faza, da igralcu omogočimo premikanje.
To lahko storimo s pritiskom na tipke. Stanje teh ključev lahko preberemo v drugi vnaprej določeni funkciji, imenovani update ().
Funkcija update ()
Ta funkcija se med izvajanjem igre neprestano preverja.
Napisati moramo neko kodo, da zaznamo pritiske tipk s puščicami in tudi naredimo nekaj glede tega.
Zato bomo to funkcijo dodali v naš program
def update ():
if keyboard.left: car.x -= 2 if keyboard.right: car.x += 2 if keyboard.up: car.y -= 2 if keyboard.down: car.y += 2
Te vrstice kode bodo premikale igralca avtomobila levo, desno, naprej in nazaj.
Korak 6: Gradnja proge
Zdaj, ko imamo avto, s katerim lahko upravljamo, potrebujemo stezo, po kateri se lahko pelje.
Svojo skladbo bomo gradili iz igralcev, eno za drugo. Za spremljanje igralcev, ki jih ustvarimo, bomo morali narediti nekaj seznamov.
Za skladbo bomo morali nastaviti tudi nekaj spremenljivk.
Nato naredimo novo funkcijo, imenovano makeTrack (), Funkcija bo dodala eno skladbo Actor na levi in eno na desno, oba s sliko bare-p.webp
trackLeft = # seznam za shranjevanje levih prepadov
trackRight = # seznam za shranjevanje desnih prečk trackCount = 0 # šteje število prečk trackPosition = 350 trackWidth = 150 # širina med levo in desno zaporo def makeTrack (): # funkcija, da naredite eno barrie na levi in desni globalni slediCount, trackLeft, trackRight, trackPosition, trackWidth trackLeft.append (Actor ("bare", pos = (trackPosition-trackWidth, 0))) trackRight.append (Actor ("bare", pos = (trackPosition + trackWidth, 0))) trackCount += 1
Naslednja stvar, ki jo moramo storiti, je, da odseke poti premaknemo navzdol po zaslonu proti avtomobilu.
Napišemo novo funkcijo, imenovano updateTrack (), Ta funkcija se posodobi, kjer se bodo pojavili bloki skladb. Kosi skladb so ustvarjeni z naključnimi številkami, tako da je vsako predvajanje drugačno.
trackDriction = False
SPEED = 4 # nastavi hitrost igre iz naključnega uvoza randint # uvozite razred randint iz naključnega modula def updateTrack (): globalna trackCount, trackPosition, trackDirection, trackWidth, SPEED b = 0 medtem ko b
Prosimo, poglejte spodnjo datoteko zip z imenom "RaceGameDemo".
Če trenutno zaženemo svojo kodo, bi morali videti sledi, ki se spuščajo proti avtomobilu. Edina težava je, da lahko avto premaknemo čez ovire in želimo avto obdržati v njih z zaznavanjem trkov.
7. korak: Avtomobilska nesreča
Poskrbeti moramo, da se naš avto ne dotakne skladbe Actors.
lahko tudi preskusimo trke z uporabo metode colliderect () v naši funkciji updateTrack ().
V tej igri bomo imeli tri različna stanja igre, shranjene v naši spremenljivi igri Status:
- gameStatus == 0 # igra teče
- gameStatus == 1 # prometna nesreča
- gameStatus == 2 # igra končana
Za odziv na spremenljivko gameStatus bomo morali spremeniti funkcijo draw () in update ().
Zaključni dotiki
Zdaj moramo le prikazati nekaj, če je gameStatus nastavljen na 1 ali 2, na primer bi morali prikazati rdečo
zastavo, če je avto trčil. To lahko storimo s spodnjo kodo:
screen.blit ("rdeča zastava", (230, 230))
Če želimo preveriti, ali je avto prišel do cilja, bi morali prešteti, koliko odsekov sledi je bilo ustvarjenih, nato pa morda, ko pridemo do 200, nastavimo gameStatus na 2. Nato prikažemo karirano zastavico:
screen.blit ("finishflag", (230, 230))
Na zaslonu bomo prikazali tudi nekaj besedila, kot je trenutni rezultat igre.
Oglejte si celoten seznam kod, da vidite, kako se vse to ujema.
8. korak: Zaženite igro na Raspberry Pi
Na Raspberry Pi je pgzero privzeto nameščen od izdaje Raspbian Jessie septembra 2015.
Posodobite Raspberry Pi z ukazom:
sudo apt-get posodobitev
Pojdite na mesto datoteke in vnesite Terminal.
pgzrun.py
9. korak: Ste zmagali?
Igro lahko olajšate ali otežite tako, da spremenite spremenljivko trackWidth, da bo skladba drugačne širine. Vrednost SPEED lahko spremenite, da se skladba premika hitreje ali počasneje.
10. korak: Zaključek
Pygame Zero je odlična izbira za vse, ki želite začeti pisati računalniške igre.
Če imate kakršno koli vprašanje, lahko pustite komentar. Če si želite ogledati več o mojih delih, obiščite moj kanal:
myYouTube
myTwitter
myLinkedin
Hvala, ker ste prebrali ta navodila ^^ in lep dan želim. Se vidiva. Ahmed Nouira.
Priporočena:
Programirajte svojo igro 2048 W/Java !: 8 korakov
Programiraj svojo igro 2048 W/Java!: Všeč mi je igra 2048. Zato sem se odločil, da bom programiral svojo različico. Je zelo podobna dejanski igri, vendar mi programiranje sam daje svobodo, da kadar koli želim spremeniti karkoli želim. Če želim igro 5x5 namesto tipičnih 4x4, s
Naredite svojo 1D pong igro: 5 korakov (s slikami)
Naredite svojo 1D pong igro: Za ta projekt vam bom pokazal, kako sem združil ploščo MDF z gumbi za zvonjenje, LED in Arduino Nano, da bi ustvaril 1D pong igro, ki jo je res zabavno igrati. Med potjo vam bom pokazal, kako ustvariti elektronsko vezje in kako se razlikuje
Uvedite svojo prvo aplikacijo seznama opravil: 8 korakov
Uvedite svojo prvo aplikacijo seznama opravil: Če ste kodiranje popolnoma novi ali imate kodiranje v ozadju, se morda sprašujete, kje začeti z učenjem. Morate se naučiti, kako, kaj, kje kodirati in nato, ko je koda pripravljena, kako jo uvesti, da si jo lahko ogledate v celoti. No, dobra novica
Napišite svojo prvo kodo C# (za Windows)!: 7 korakov
Napišite svojo prvo kodo C# (za Windows) !: V tem navodilu vas bom vljudno naučil, kako ustvariti svojo lastno kodo v jeziku C#! Vse, kar boste potrebovali, je računalnik/prenosni računalnik in malo potrpljenja. Poleg časa prenosa vam bo to vzelo le približno
Napišite svojo igro Tic Tac Toe v Javi: 6 korakov
Napišite svojo igro Tic Tac Toe v Javi: Prepričan sem, da vsi veste o klasični igri Tic Tic Toe. Tic Tac Toe je bil že od osnovnošolskih let priljubljena igra, s katero sem se igral s prijatelji. Vedno sem bil navdušen nad preprostostjo igre. V prvem letniku sem