Përmbajtje:

Krijoni lojën tuaj të parë garuese: 10 hapa
Krijoni lojën tuaj të parë garuese: 10 hapa

Video: Krijoni lojën tuaj të parë garuese: 10 hapa

Video: Krijoni lojën tuaj të parë garuese: 10 hapa
Video: Vetëm 0.1% e njerëzve e dinë këtë: Si mund të ndryshoni kiminë e trurit tuaj dhe të arrini gjithçka? 2024, Korrik
Anonim
Image
Image
Imazhi
Imazhi

Nëse keni bërë disa kodime Python dhe keni dashur të shkruani një lojë që mund të keni në Pygame Zero.

Në këtë tutorial ne do të shkruajmë një lojë të thjeshtë garash.

Hapi 1: Vështrim i gjerë

Moduli Pygame shton shumë funksione që ju ndihmojnë të shkruani lojëra në Python.

Pygame Zero shkon një hap më tej për t'ju lejuar të kaloni procesin e rëndë të krijimit të të gjitha atyre sytheve të lojës dhe vendosjen e strukturës tuaj të programit.

Pygame Zero është një zgjedhje e shkëlqyeshme për këdo që dëshiron të fillojë të shkruajë lojëra kompjuterike në Raspberry Pi ose ndonjë makinë Linux.

Ju do të keni nevojë:

  • Makinë që funksionon me Linux OS
  • Redaktor për të shkruar programin python
  • Tastierë
  • Pak imagjinatë

Dosjet:

github.com/AhmNouira/-Racing-Game

Hapi 2: Parakushtet

Së pari unë do të përdor laptopin tim me Ubuntu 18.04 OS. Pastaj ne do ta drejtojmë lojën në Raspberry Pi në hapin 8.

Para se të vazhdoni me këtë mësim, sigurohuni që të jeni regjistruar si përdorues me privilegje sudo.

Instalimi i pipit për Python 3

Filloni duke përditësuar listën e paketave duke përdorur komandën e mëposhtme:

sudo apt përditësim

Përdorni komandën e mëposhtme për të instaluar pip për Python 3:

sudo apt instaloni python3-pip

verifikoni instalimin duke kontrolluar versionin pip:

pip3 -përmbysje

Instalimi i Pygame Zero

pip3 install pgzero -përdorues

Kjo gjithashtu do të instalojë Pygame. Pakot e para-përpiluara të Pygame

Pra, hapi i parë në udhëtimin tuaj do të jetë hapja e Python 3 IDLE ose redaktorit tuaj të preferuar të python.

Hapi 3: "Përshëndetje Botë" në Pygame Zero

Si parazgjedhje, dritarja Pygame Zero hapet në madhësinë 800 piksela të gjerë dhe 600 pikselë të lartë. Mund të personalizoni

madhësia e dritares suaj, ka dy variabla të paracaktuar që mund të vendosni, nëse përfshini WIDTH = 700 HIGH = 800.

Pygame zero siguron funksione të paracaktuara për të trajtuar ciklin e lojës që normalisht kryen:

Funksioni barazim ()

Ne mund ta shkruajmë këtë funksion në programin tonë njësoj siç do të përcaktonim normalisht një funksion në Python.

Pygame Zero ndjek të njëjtat rregulla të formatimit si Python, kështu që do t'ju duhet të kujdeseni që të vendosni kodin tuaj në mënyrë korrekte.

#!/usr/bin/python3 # vendosni përkthyesin

import pgzrun # import modul pgzero WIDTH = 700 # gjerësia e dritares HEIGHT = 800 # lartësia e dritares def draw (): # pygame zero funksioni i vizatimit të ekranit. mbush ((128, 128, 128)) # mbush ekranin me RGB screen.draw.text me ngjyra ("Përshëndetje Botë!", (270, 320), # barazim "Përshëndetje Botë!" color = (255, 255, 255), fontsize = 40) pgzrun.go ()

Para së gjithash ju duhet të ruani skedarin tuaj të programit dhe t'i jepni një emër.

Pastaj hapni një dritare të Terminalit, shkoni te vendndodhja e skedarit tuaj dhe shkruani:

./.py

Hapi 4: Vizatimi i aktorit tuaj

Duke vizatuar aktorin tuaj
Duke vizatuar aktorin tuaj

Tani që kemi vendosur skenën tonë, ne mund të krijojmë Aktorët tanë, ata janë objekte dinamike në Pygame Zero.

Ne mund të ngarkojmë një Aktor duke shtypur në krye të programit:

makinë = Aktor ("makinë garash")

Në Pygame Zero imazhet tona duhet të ruhen në një drejtori të quajtur imazhe, pranë skedarit tonë të programit. Pra, Aktori ynë do të kërkonte një skedar imazhi në dosjen e imazheve të quajtur racecar.png. Mund të jetë një skedar GIF ose një JPG, por rekomandohet që imazhet tuaja të jenë skedarë-p.webp

Mund të vendosni pozicionin e tij në ekran duke shtypur:

makinë.pos = 350, 560

Pas kësaj në funksionin tonë draw () ne mund të shtypim

car.draw () # tërheq makinën tonë të garës në pozicionin e saj të përcaktuar

Programi i plotë do të jetë kështu:

#!/usr/bin/python3

import pgzrun WIDTH = 700 # gjerësia e dritares Lartësia = 800 # lartësia e makinës së dritares = Aktori ("vrapues") car.pos = 350, 560 def barazim (): # pygame zero tërheq funksionin e ekranit. mbush ((128, 128, 128)) # mbush ekranin me makinë.draw () pgzrun.go ()

Provoni programin tuaj për t'u siguruar që kjo po funksionon.

Hapi 5: Kontrolloni Aktorin

Kontrolloni Aktorin
Kontrolloni Aktorin

Pasi të kemi vizatuar makinën tonë në ekran, faza tjetër është të mundësojmë lojtarin ta lëvizë atë.

Ne mund ta bëjmë këtë me shtypjet e tastit. Ne mund të lexojmë gjendjen e këtyre çelësave brenda një funksioni tjetër të paracaktuar të quajtur update ().

Funksioni i azhurnimit ()

Ky funksion kontrollohet vazhdimisht gjatë lojës.

Ne duhet të shkruajmë një kod për të zbuluar shtypjet e tastit të shigjetave dhe gjithashtu për të bërë diçka në lidhje me të.

Pra, ne do ta shtojmë këtë funksion në programin tonë

def update ():

nëse tastiera.majtas: car.x -= 2 nëse tastiera.djathtas: car.x += 2 nëse tastiera.up: car.y -= 2 nëse tastiera. poshtë: car.y += 2

Këto rreshta të kodit do ta lëvizin Aktorin e makinës majtas, djathtas, përpara dhe prapa.

Hapi 6: Ndërtimi i pistës

Ndërtimi i pistës
Ndërtimi i pistës

Tani që kemi një makinë që mund ta drejtojmë, na duhet një pistë që ajo të ecë.

Ne do të ndërtojmë rrugën tonë nga Aktorët, një rresht në një kohë. Do të na duhet të bëjmë disa lista për të mbajtur gjurmët e Aktorëve që krijojmë.

Ne gjithashtu do të duhet të krijojmë disa ndryshore të tjera për rrugën.

Pastaj le të bëjmë një funksion të ri të quajtur makeTrack (), Funksioni do të shtojë një këngë Aktori në të majtë dhe një në të djathtë, të dy duke përdorur imazhin bare-p.webp

trackLeft = # listë për të ruajtur shiritat e majtë

trackRight = # listë për të ruajtur barrierat e djathta trackCount = 0 # numëroni numrin e barrierave trackPosition = 350 trackWidth = 150 # gjerësia midis shiritave të majtë dhe të djathtë def makeTrack (): # funksioni për të bërë një barrie në pikën globale të majtë dhe të djathtë, trackLeft, trackRight, trackPosition, trackWidth trackLeft.append (Aktor ("i zhveshur", pos = (trackPosition-trackWidth, 0))) trackRight.append (Aktor ("i zhveshur", pos = (trackPosition + trackWidth, 0))) trackCount += 1

Gjëja tjetër që duhet të bëjmë është të lëvizim pjesët e pistës poshtë ekranit drejt makinës.

Le të shkruajmë një funksion të ri të quajtur updateTrack (), Ky funksion azhurnohet ku do të shfaqen blloqet e pjesëve. Pjesët e pjesëve krijohen nga numra të rastësishëm kështu që secila lojë është e ndryshme.

trackDriction = E pavërtetë

SPEED = 4 # vendos shpejtësinë e lojës nga importimi i rastësishëm randint # importoni klasën randint nga moduli i rastësishëm def updateTrack (): track global, numërimi i track, Pozicioni, trackDirection, trackWidth, SPEED b = 0 ndërsa b 32: nëse trackDirection == E gabuar: trackPosition += 16 nëse trackDirection == E vërtetë: trackPosition - = 16 nëse randint (0, 4) == 1: trackDirection = nuk trackDirection nëse trackPosition> 700 - trackWidth: trackDirection = E vërtetë nëse trackPosition < trackWidth: trackDirection = False makeTrack () # krijoni një këngë të re në krye të ekranit

Ju lutemi referojuni skedarit zip më poshtë të quajtur "RaceGameDemo".

Nëse drejtojmë kodin tonë për momentin, duhet të shohim një udhë që zvarritet drejt makinës. Problemi i vetëm është se ne mund ta lëvizim makinën mbi barrierat e pistës dhe duam ta mbajmë makinën brenda tyre me një zbulim përplasjeje.

Hapi 7: Përplasja e makinës

Rrëzimi i makinës
Rrëzimi i makinës
Rrëzimi i makinës
Rrëzimi i makinës
Rrëzimi i makinës
Rrëzimi i makinës

Ne duhet të sigurohemi që makina jonë të mos prekë aktorët e pistës.

ne gjithashtu mund të testojmë për përplasje duke përdorur metodën colliderect () në funksionin tonë updateTrack ().

Në këtë lojë do të kemi tre gjendje të ndryshme të lojës të ruajtura në lojën tonë të ndryshueshmeStatus:

  • gameStatus == 0 # loja po funksionon
  • gameStatus == 1 # aksident me makinë
  • gameStatus == 2 # lojë përfundoi

Ne do të duhet të ndryshojmë funksionin tonë të tërheqjes () dhe funksionin tonë të azhurnimit () për t'iu përgjigjur ndryshores gameStatus.

Prekjet përfundimtare

E tëra çfarë duhet të bëjmë tani është të shfaqim diçka nëse gameStatus është vendosur në 1 ose 2, për shembull ne duhet të shfaqim një ngjyrë të kuqe

flamur, nëse makina është përplasur. Ne mund ta bëjmë atë me kodin më poshtë:

ekran.blit ("redflag", (230, 230))

Për të parë nëse makina ka arritur në fund, duhet të numërojmë sa seksione pista janë krijuar dhe pastaj ndoshta kur të arrijmë në 200, vendosim gameStatus në 2. Pastaj shfaqni flamurin me kuadrat:

ekran.blit ("flamuri i mbarimit", (230, 230))

Ne gjithashtu do të shfaqim disa tekste në ekran si rezultati aktual i lojës.

Hidhini një sy listës së plotë të kodeve për të parë se si i përshtatet e gjithë kjo së bashku.

Hapi 8: Drejtoni lojën në Raspberry Pi

Drejtoni lojën në Raspberry Pi
Drejtoni lojën në Raspberry Pi
Drejtoni lojën në Raspberry Pi
Drejtoni lojën në Raspberry Pi

Në Raspberry Pi pgzero është instaluar si parazgjedhje që nga lëshimi i Raspbian Jessie në Shtator 2015.

Thjesht azhurnoni Raspberry Pi tuaj duke përdorur komandën:

përditësim sudo apt-get

Shkoni në vendndodhjen e skedarit tuaj dhe shkruani Terminalin.

pgzrun.py

Hapi 9: A keni fituar?

A Fitove?
A Fitove?

Ju mund ta bëni lojën më të lehtë ose më të vështirë duke ndryshuar variablin trackWidth për ta bërë rrugën një gjerësi të ndryshme. Ju mund të ndryshoni vlerën e SPEED për ta bërë rrugën të lëvizë më shpejt ose më ngadalë.

Hapi 10: Përfundimi

Pygame Zero është një zgjedhje e shkëlqyeshme për këdo që dëshiron të fillojë të shkruajë lojëra kompjuterike.

Nëse keni ndonjë pyetje sigurisht që mund të lini një koment. Për të parë më shumë rreth punimeve të mia, ju lutemi vizitoni kanalin tim:

myYouTube

myTwitter

myLinkedin

Faleminderit që lexuat këtë udhëzues ^^ dhe keni një ditë të bukur. Shihemi. Ahmed Nouira.

Recommended: