Cuprins:
- Pasul 1: Prezentare generală
- Pasul 2: premise
- Pasul 3: „Hello World” în Pygame Zero
- Pasul 4: Desenează-ți actorul
- Pasul 5: Controlați actorul
- Pasul 6: Construirea pistei
- Pasul 7: Crash auto
- Pasul 8: Rulați jocul pe Raspberry Pi
- Pasul 9: Ai câștigat?
- Pasul 10: Concluzie
Video: Creați-vă primul joc de curse: 10 pași
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:44
Dacă ați făcut unele coduri Python și ați dorit să scrieți un joc, este posibil să aveți în Pygame Zero.
În acest tutorial vom scrie un simplu joc de curse.
Pasul 1: Prezentare generală
Modulul Pygame adaugă multe funcții care vă ajută să scrieți jocuri în Python.
Pygame Zero face un pas mai departe pentru a vă permite să treceți peste procesul greoi de a face toate acele bucle de joc și de a vă configura structura programului.
Pygame Zero este o alegere excelentă pentru oricine dorește să scrie jocuri pe computer pe Raspberry Pi sau pe orice mașină Linux.
O să ai nevoie:
- Mașină care rulează sistemul de operare Linux
- Editor pentru a scrie programul Python
- Tastatură
- Oarecare imaginație
Fișiere:
github.com/AhmNouira/-Racing-Game
Pasul 2: premise
Mai întâi voi folosi laptopul cu sistemul de operare Ubuntu 18.04. Apoi vom rula jocul pe Raspberry Pi la pasul 8.
Înainte de a continua cu acest tutorial, asigurați-vă că sunteți conectat ca utilizator cu privilegii sudo.
Instalarea pip pentru Python 3
Începeți prin actualizarea listei de pachete utilizând următoarea comandă:
actualizare sudo apt
Utilizați următoarea comandă pentru a instala pip pentru Python 3:
sudo apt instalează python3-pip
verificați instalarea verificând versiunea pip:
pip3 --versiune
Instalarea Pygame Zero
pip3 instalează pgzero --user
Aceasta va instala, de asemenea, Pygame. Pachete Pygame precompilate
Deci, primul pas în călătoria dvs. va fi să deschideți Python 3 IDLE sau editorul dvs. preferat de python.
Pasul 3: „Hello World” în Pygame Zero
În mod implicit, fereastra Pygame Zero se deschide la dimensiunea de 800 pixeli lățime cu 600 pixeli înălțime. Puteți personaliza
dimensiunea ferestrei dvs., există două variabile predefinite pe care le puteți seta, dacă includeți LĂȚIME = 700 ÎNALT = 800.
Pygame zero oferă funcții predefinite pentru a gestiona bucla de joc pe care o îndeplinește în mod normal:
Funcția draw ()
Putem scrie această funcție în programul nostru la fel cum am defini în mod normal o funcție în Python.
Pygame Zero respectă aceleași reguli de formatare ca Python, deci va trebui să aveți grijă să vă indentați corect codul.
#! / usr / bin / python3 # setează interpretul
import pgzrun # import pgzero module WIDTH = 700 # lățimea ferestrei HEIGHT = 800 # înălțimea ferestrei def draw (): # pygame zero draw function screen.fill ((128, 128, 128)) # umple ecranul cu RGB color screen.draw.text ("Hello World!", (270, 320), # draw "Hello World!" color = (255, 255, 255), fontsize = 40) pgzrun.go ()
Mai întâi de toate, trebuie să salvați fișierul de program și să-i dați un nume.
Apoi deschideți o fereastră Terminal, accesați locația fișierului și tastați:
./.py
Pasul 4: Desenează-ți actorul
Acum că avem scenariul, ne putem crea actorii, ei sunt obiecte dinamice în Pygame Zero.
Putem încărca un actor tastând în partea de sus a programului:
masina = Actor ("racecar")
În Pygame Zero, imaginile noastre trebuie să fie stocate într-un director numit imagini, lângă fișierul programului nostru. Astfel, Actorul nostru ar căuta un fișier imagine în folderul de imagini numit racecar.png. Poate fi un fișier-g.webp
Puteți seta poziția sa pe ecran tastând:
car.pos = 350, 560
După aceea, în funcția noastră draw () putem tasta
car.draw () # atrageți mașina de curse în poziția definită
Programul complet va fi astfel:
#! / usr / bin / python3
import pgzrun WIDTH = 700 # width of the window HEIGHT = 800 # height of the window car = Actor ("racecar") car.pos = 350, 560 def draw (): # pygame zero draw function screen.fill ((128, 128, 128)) # umpleți ecranul cu car.draw () pgzrun.go ()
Testați-vă programul pentru a vă asigura că funcționează.
Pasul 5: Controlați actorul
Odată ce avem mașina desenată pe ecran, etapa următoare este de a permite jucătorului să o miște.
Putem face acest lucru prin apăsarea tastelor. Putem citi starea acestor taste într-o altă funcție predefinită numită update ().
Funcția update ()
Această funcție este verificată continuu în timp ce jocul rulează.
Trebuie să scriem un cod pentru a detecta apăsarea tastelor săgeților și, de asemenea, pentru a face ceva în legătură cu aceasta.
Deci vom adăuga această funcție la programul nostru
actualizare def ():
dacă tastatură.stânga: mașină.x - = 2 dacă tastatură.dreapta: mașină.x + = 2 dacă tastatură.up: mașină.y - = 2 dacă tastatură. jos: mașină.y + = 2
Aceste linii de cod vor muta mașina Actor la stânga, la dreapta, înainte și înapoi.
Pasul 6: Construirea pistei
Acum, că avem o mașină pe care o putem conduce, avem nevoie de o pistă pentru a merge mai departe.
Vom construi piesa noastră din Actori, rând pe rând. Va trebui să facem câteva liste pentru a ține evidența actorilor pe care îi creăm.
De asemenea, va trebui să configurăm încă câteva variabile pentru pistă.
Apoi, să facem o nouă funcție numită makeTrack (), funcția va adăuga o piesă Actor în stânga și una în dreapta, ambele folosind imaginea bare-p.webp
trackLeft = # listă pentru a stoca bariere din stânga
trackRight = # listă pentru a stoca bariere din dreapta trackCount = 0 # numărați numărul de bariere trackPosition = 350 trackWidth = 150 # lățime între bariile din stânga și din dreapta def makeTrack (): # funcție pentru a face o barrie la stânga și la dreapta trackCount global, trackLeft, trackRight, trackPosition, trackWidth trackLeft.append (Actor ("bare", pos = (trackPosition-trackWidth, 0))) trackRight.append (Actor ("bare", pos = (trackPosition + trackWidth, 0))) trackCount + = 1
Următorul lucru pe care trebuie să-l facem este să mutăm secțiunile de pistă pe ecran spre mașină.
Să scriem o nouă funcție numită updateTrack (), această funcție se actualizează unde vor apărea blocurile de piese. Piesele piesei sunt create prin numere aleatorii, astfel încât fiecare redare este diferită.
trackDriction = False
SPEED = 4 # setează viteza jocului din import aleatoriu randint # import clasa randint din modul aleatoriu def updateTrack (): trackCount global, trackPosition, trackDirection, trackWidth, SPEED b = 0 în timp ce b
Vă rugăm să consultați fișierul zip de mai jos, denumit „RaceGameDemo”.
Dacă rulăm codul nostru în acest moment, ar trebui să vedem o pistă care se strecoară spre mașină. Singura problemă este că putem deplasa mașina peste barierele căii ferate și vrem să păstrăm mașina în interiorul lor cu o detecție a coliziunii.
Pasul 7: Crash auto
Trebuie să ne asigurăm că mașina noastră nu atinge pista Actori.
la fel de bine putem testa pentru coliziuni folosind metoda colliderect () în funcția noastră updateTrack ().
În acest joc vom avea trei stări diferite față de joc stocate în starea noastră variabilă de joc:
- gameStatus == 0 # jocul rulează
- gameStatus == 1 # accident de mașină
- gameStatus == 2 # joc terminat
Va trebui să ne schimbăm funcția draw () și funcția update () pentru a răspunde variabilei gameStatus.
Finisaje
Tot ce trebuie să facem acum este să afișăm ceva dacă gameStatus este setat la 1 sau 2, de exemplu ar trebui să afișăm un roșu
steag, dacă mașina s-a prăbușit. Putem face acest lucru cu codul de mai jos:
screen.blit ("redflag", (230, 230))
Pentru a vedea dacă mașina a ajuns la final, ar trebui să numărăm câte secțiuni de pistă au fost create și apoi, probabil, când ajungem la 200, setați gameStatus la 2. Apoi afișați steagul în carouri:
screen.blit ("finishflag", (230, 230))
De asemenea, vom afișa un anumit text pe ecran, cum ar fi scorul actual al jocului.
Aruncați o privire la lista completă a codului pentru a vedea cum se potrivește totul.
Pasul 8: Rulați jocul pe Raspberry Pi
Pe Raspberry Pi pgzero a fost instalat implicit de la lansarea Raspbian Jessie în septembrie 2015.
Actualizați Raspberry Pi utilizând comanda:
sudo apt-get update
Mergeți la locația fișierului și tastați terminalul.
pgzrun.py
Pasul 9: Ai câștigat?
Puteți face jocul mai ușor sau mai greu modificând variabila trackWidth pentru a face pista cu o lățime diferită. Puteți schimba valoarea SPEED pentru a face pista să se miște mai repede sau mai lent.
Pasul 10: Concluzie
Pygame Zero este o alegere excelentă pentru oricine dorește să înceapă să scrie jocuri pe computer.
Dacă aveți orice întrebare, desigur, puteți lăsa un comentariu. Pentru a vedea mai multe despre lucrările mele, vă rugăm să vizitați canalul meu:
myYouTube
myTwitter
myLinkedin
Vă mulțumim că ați citit acest instructabil ^^ și să aveți o zi plăcută. Ne mai vedem. Ahmed Nouira.
Recomandat:
Cum să creați un joc Microbit: 7 pași
Cum să creați un joc Microbit: Hai prieteni, În această lecție vă voi învăța cum să creați un joc în tinkercad folosind noua componentă specială microbit
SIMULATORUL DE JOC DE CURSE DIY CONSTRUIT PARTEA 1: 6 pași
DIY RACING GAME SIMULATOR BUILD PARTEA 1: Bună ziua tuturor Bine ați venit, Astăzi vă voi arăta cum construiesc un „Simulator de jocuri de curse” " cu ajutorul Arduino UNO. Canal YouTube " asigurați-vă că vă abonați la canalul meu A Builds (Faceți clic aici) " Acesta este blogul de construire, Deci, le
SIMULATOR DE JOC DE CURSE DIY -- SIMULATOR F1: 5 pași
SIMULATOR DE JOC DE CURSE DIY || F1 SIMULATOR: Bună ziua tuturor Bine ați venit pe canalul meu, Astăzi vă voi arăta cum construiesc un "Simulator de jocuri de curse" cu ajutorul Arduino UNO. acesta nu este un blog de construire, ci doar o prezentare generală și un test al simulatorului. Blogul complet de construire va apărea în curând
Joc de arcade de curse de cai de Halloween: 6 pași
Joc de arcade de curse de cai de Halloween: Anul acesta am decis să facem un joc de arcade de curse de cai pentru Halloween. Am fost inspirați de o versiune mecanică numită Roll-a-Ball Horse Racing. Scopul nostru a fost să facem un joc cu controale directe pentru a atrage o gamă largă de jucători. Bazat pe
Realizarea de grafică pentru un joc de curse Scratch: 7 pași
Realizarea de grafică pentru un joc de curse Scratch: Acest tutorial vă va arăta cum să creați un joc de curse în interiorul Scratch