Obsah:
- Krok 1: Široký prehľad
- Krok 2: Predpoklady
- Krok 3: „Hello World“v Pygame Zero
- Krok 4: Nakreslite svojho herca
- Krok 5: Ovládajte herca
- Krok 6: Budovanie trate
- Krok 7: Autonehoda
- Krok 8: Spustite hru na Raspberry Pi
- Krok 9: Vyhrali ste?
- Krok 10: Záver
Video: Vytvorte si svoju prvú závodnú hru: 10 krokov
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 11:59
Ak ste urobili nejaké kódovanie v Pythone a chceli ste napísať hru, možno máte hru Pygame Zero.
V tomto návode napíšeme jednoduchú závodnú hru.
Krok 1: Široký prehľad
Modul Pygame pridáva mnoho funkcií, ktoré vám pomôžu písať hry v Pythone.
Pygame Zero ide ešte o krok ďalej, aby vám umožnilo preskočiť ťažkopádny proces vytvárania všetkých týchto herných slučiek a nastavovania štruktúry programu.
Pygame Zero je skvelou voľbou pre každého, kto chce začať písať počítačové hry na Raspberry Pi alebo na akomkoľvek počítači so systémom Linux.
Budete potrebovať:
- Stroj s operačným systémom Linux
- Editor na písanie programu python
- Klávesnica
- Trochu predstavivosti
Súbory:
github.com/AhmNouira/-Racing-Game
Krok 2: Predpoklady
Najprv použijem svoj laptop s OS Ubuntu 18.04. Potom hru spustíme na Raspberry Pi v kroku 8.
Pred pokračovaním v tomto návode sa uistite, že ste prihlásení ako používateľ s oprávneniami sudo.
Inštalácia pipu pre Python 3
Začnite aktualizáciou zoznamu balíkov pomocou nasledujúceho príkazu:
sudo apt aktualizácia
Na nainštalovanie pipu pre Python 3 použite nasledujúci príkaz:
sudo apt install python3-pip
overte inštaláciu kontrolou verzie pip:
pip3 -verzia
Inštalácia Pygame Zero
pip3 install pgzero --user
Tým sa tiež nainštaluje Pygame. Vopred zostavené balíky Pygame
Prvým krokom na vašej ceste bude teda otvorenie Pythonu 3 IDLE alebo vášho obľúbeného editora pythonu.
Krok 3: „Hello World“v Pygame Zero
Štandardne sa okno Pygame Zero otvára vo veľkosti 800 pixelov na šírku a 600 pixelov na výšku. Môžete prispôsobiť
veľkosť okna, môžete nastaviť dve vopred určené premenné, ak zahrniete ŠÍRKU = 700 HIGH = 800.
Pygame zero poskytuje preddefinované funkcie na zvládnutie herného cyklu, ktorý bežne vykonáva:
Funkcia draw ()
Túto funkciu môžeme do nášho programu zapísať rovnako, ako by sme normálne definovali funkciu v Pythone.
Pygame Zero dodržiava rovnaké pravidlá formátovania ako Python, takže sa budete musieť postarať o správne odsadenie kódu.
#!/usr/bin/python3 # nastavte tlmočníka
import pgzrun # import pgzero modul ŠÍRKA = 700 # šírka okna VÝŠKA = 800 # výška okna def draw (): # pygame nulová kresba funkcie screen.fill ((128, 128, 128)) # vyplňte obrazovku RGB farebná obrazovka.draw.text („Hello World!“, (270, 320), # draw „Hello World!“color = (255, 255, 255), fontsize = 40) pgzrun.go ()
Najprv musíte uložiť programový súbor a pomenovať ho.
Potom otvorte okno Terminál, prejdite na umiestnenie súboru a zadajte:
./.py
Krok 4: Nakreslite svojho herca
Teraz, keď máme fázu, môžeme vytvárať svojich hercov, sú to dynamické objekty v Pygame Zero.
Herca môžeme načítať zadaním v hornej časti programu:
auto = herec („závodné auto“)
V hre Pygame Zero musia byť naše obrázky uložené v adresári s názvom images vedľa súboru nášho programu. Náš herec by teda hľadal súbor s obrázkom v priečinku s obrázkami s názvom racecar.png. Môže to byť súbor-g.webp
Jeho polohu na obrazovke môžete nastaviť zadaním:
car.pos = 350, 560
Potom v našej funkcii draw () môžeme písať
car.draw () # nakreslite naše závodné auto v definovanej polohe
Celý program bude vyzerať takto:
#!/usr/bin/python3
import pgzrun ŠÍRKA = 700 # šírka okna VÝŠKA = 800 # výška okenného auta = Herec („závodné auto“) car.pos = 350, 560 def draw (): # pygame zero draw function screen.fill ((128, 128, 128)) # vyplňte obrazovku car.draw () pgzrun.go ()
Otestujte svoj program, aby ste sa uistili, že funguje.
Krok 5: Ovládajte herca
Keď máme na obrazovke kresbu auta, ďalšou fázou je umožniť hráčovi posunúť ju.
Môžeme to urobiť stlačením klávesov. Stav týchto kľúčov môžeme čítať vo vnútri ďalšej preddefinovanej funkcie s názvom update ().
Funkcia update ()
Táto funkcia je priebežne kontrolovaná počas hry.
Musíme napísať nejaký kód, aby sme zistili stlačenie klávesov so šípkami a tiež s tým niečo urobiť.
Túto funkciu teda pridáme do nášho programu
def aktualizácia ():
if keyboard.left: car.x -= 2 if keyboard.right: car.x += 2 if keyboard.up: car.y -= 2 if keyboard.down: car.y += 2
Tieto riadky kódu posunú herca auta doľava, doprava, dopredu a dozadu.
Krok 6: Budovanie trate
Teraz, keď máme auto, ktoré môžeme riadiť, potrebujeme stopu, po ktorej bude jazdiť.
Postavíme našu trať z hercov, jeden po druhom. Budeme musieť vytvoriť niekoľko zoznamov, aby sme mali prehľad o hercoch, ktorých vytvoríme.
Tiež budeme musieť pre trať nastaviť niekoľko ďalších premenných.
Potom urobme novú funkciu s názvom makeTrack (). Funkcia pridá jednu stopu herca vľavo a jednu vpravo, pričom obidva použijú obrázok bare-p.webp
trackLeft = # zoznam na uloženie ľavých barries
trackRight = # zoznam na ukladanie pravých barries trackCount = 0 # spočítať počet barries trackPosition = 350 trackWidth = 150 # šírka medzi ľavými a pravými barries def makeTrack (): # funkcia na vytvorenie jedného barrie v ľavom a pravom globálnom trackCount, trackLeft, trackRight, trackPosition, trackWidth trackLeft.append (Actor ("bare", pos = (trackPosition-trackWidth, 0))) trackRight.append (Actor ("bare", pos = (trackPosition + trackWidth, 0))) trackCount += 1
Ďalšia vec, ktorú musíme urobiť, je presunúť časti trate po obrazovke smerom k autu.
Napíšeme novú funkciu s názvom updateTrack (), Táto funkcia aktualizuje miesto, kde sa objavia bloky skladieb. Skladby sú vytvárané náhodnými číslami, takže každá hra je iná.
trackDriction = False
SPEED = 4 # nastavuje rýchlosť hry z náhodného importu randint # importujte triedu randint z náhodného modulu def updateTrack (): global trackCount, trackPosition, trackDirection, trackWidth, SPEED b = 0 while b
Pozrite si nižšie uvedený súbor zip s názvom „RaceGameDemo“.
Ak v súčasnosti spustíme kód, mali by sme vidieť stopu, ktorá sa krúti dole k autu. Jediným problémom je, že dokážeme presunúť auto cez zvodidlá a chceme v nich udržať auto s nejakou detekciou kolízie.
Krok 7: Autonehoda
Musíme zaistiť, aby sa naše auto nedotýkalo hercov dráhy.
môžeme tiež testovať zrážky pomocou metódy colliderect () v našej funkcii updateTrack ().
V tejto hre budeme mať tri rôzne stavy hry uložené v našom variabilnom stave hry:
- gameStatus == 0 # hra je spustená
- gameStatus == 1 # autonehoda
- gameStatus == 2 # hra je dokončená
Aby sme reagovali na premennú gameStatus, budeme musieť zmeniť našu funkciu draw () a našu funkciu update ().
Dokončovacie dotyky
Všetko, čo musíme teraz urobiť, je niečo zobraziť, ak je stav hry nastavený na 1 alebo 2, napríklad by sme mali zobraziť červenú
vlajka, ak auto havarovalo. Môžeme to urobiť pomocou nižšie uvedeného kódu:
screen.blit ("redflag", (230, 230))
Aby sme zistili, či auto dorazilo do cieľa, mali by sme spočítať, koľko úsekov trate bolo vytvorených, a potom možno, keď sa dostaneme na 200, nastavte gameStatus na 2. Potom zobrazte šachovnicovú vlajku:
screen.blit ("finishflag", (230, 230))
Na obrazovke tiež zobrazíme nejaký text, ako je aktuálne skóre hry.
Pozrite sa na úplný zoznam kódov a zistite, ako to všetko do seba zapadá.
Krok 8: Spustite hru na Raspberry Pi
Na Raspberry Pi bol pgzero štandardne nainštalovaný od vydania Raspbian Jessie v septembri 2015.
Aktualizujte svoj Raspberry Pi pomocou príkazu:
sudo apt-get aktualizácia
Prejdite na umiestnenie súboru a zadajte Terminál.
pgzrun.py
Krok 9: Vyhrali ste?
Hru si môžete uľahčiť alebo sťažiť zmenou premennej trackWidth, aby bola stopa odlišná. Môžete zmeniť hodnotu SPEED, aby sa trasa pohybovala rýchlejšie alebo pomalšie.
Krok 10: Záver
Pygame Zero je skvelou voľbou pre každého, kto chce začať písať počítačové hry.
Ak máte akékoľvek otázky, môžete zanechať komentár. Ak sa chcete dozvedieť viac o mojej tvorbe, navštívte môj kanál:
myYouTube
myTwitter
myLinkedin
Ďakujem, že ste si prečítali tento návod ^^ a prajem pekný deň. Uvidíme sa. Ahmed Nouira.
Odporúča:
Vytvorte si vlastnú hru 1D Pong: 5 krokov (s obrázkami)
Vytvorte si vlastnú hru 1D Pong: V tomto projekte vám ukážem, ako som skombinoval dosku MDF s tlačidlami bzučiaka, diódami LED a Arduino Nano, aby som vytvoril hru 1D Pong, ktorú je skutočne zábavné hrať. Po ceste vám ukážem, ako vytvoriť elektronický obvod a ako sa líšia
Ako vybudovať svoju prvú akciu pre domovskú stránku Google (za 10 minút), časť 1: 10 krokov
Ako vytvoriť svoju prvú akciu pre domovskú stránku Google (za 10 minút) Časť 1: Dobrý deň, toto je prvý zo série článkov, ktoré napíšem, v ktorých sa naučíme vyvíjať a implementovať akcie na Googli. V skutočnosti pracujem na „akciách na Googli“za posledných niekoľko mesiacov. Prešiel som mnoho článkov dostupných na
Digital Chess - sledujte svoju šachovú hru online: 5 krokov
Digitálne šachy - sledujte svoju šachovú hru online: Odmalička som hrával veľa šachov a keďže na internete je obrovské množstvo webových stránok, na ktorých je možné hrať šach proti počítačom alebo živým súperom, nikdy som nenašiel webovú stránku. ktorá sleduje vašu šachovú hru, v ktorej skutočne hráte
Napíšte svoju vlastnú hru Tic Tac Toe v Jave: 6 krokov
Napíšte vlastnú hru Tic Tac Toe v Jave: Som si istý, že všetci poznáte klasickú hru Tic Tic Toe. Tic Tac Toe bola populárna hra, ktorú som hrával so svojimi priateľmi už od základnej školy. Vždy ma fascinovala jednoduchosť hry. V prvom ročníku môj
Tvorba grafiky pre závodnú hru Scratch: 7 krokov
Tvorba grafiky pre závodnú hru Scratch: Tento tutoriál vám ukáže, ako vytvoriť závodnú hru v programe Scratch