Vytvorte poctu Excitebike pomocou Pythonu

Vytvorte poctu Excitebike pomocou Pythonu

Excitebike je hra s bočným posúvaním, v ktorej prechádzate motorkou cez skoky, manévrujete okolo prekážok a rýchlo sa blížite k cieľovej čiare.





Nintendo prvýkrát spustilo túto závodnú hru BMX pre NES. Odtiaľ spoločnosť modernizovala Excitebike a vydala ho na N64 a nakoniec aj na Wii.





Už neexistuje veľa konzol NES, čo sťažuje opätovné hranie Excitebike. Vďaka niektorým retro fanúšikom v časopise Wireframe Magazine môže úryvok kódu Python znovu vytvoriť túto klasiku NES pre hodiny zábavy na vašom Raspberry Pi alebo domácom počítači.





môžete zmeniť svoje užívateľské meno pre snapchat
VYUŽITIE VIDEA DŇA

Získanie kódu a nastavenie

Aj keď na úpravu kódu pythonu môžete použiť nano alebo vim, budete chcieť využiť plnohodnotnú textový editor alebo IDE .

Na podporu funkcií zabudovaných do tejto pocty Excitebike si budete musieť nainštalovať Pygame Zero. Pygame Zero obsahuje moduly Python, aby sa tvorcovia hier mohli sústrediť bez toho, aby museli opakovať jednoduché základy.



Ak nemáte v počítači nainštalovaný python3, môžete stiahnite si najnovšiu verziu priamo z Pythonu. Budete tiež chcieť uistite sa, že máte nainštalovaný PIP tiež.

S nainštalovanou najnovšou verziou Pythonu a PIP otvorte svoj PowerShell alebo Linuxový terminál a napíšte:





pip3 install pgzero 

Nakoniec si budete musieť vyzdvihnúť kópiu kódu Python z úložiska GitHub magazínu Wireframe. Do terminálu zadajte nasledujúci príkaz:

git clone https://github.com/Wireframe-Magazine/Wireframe-66.git

Prípadne môžete stiahnite si zazipovaný kód priamo zo stránky Wireframe GitHub.





Prelomenie Kódexu

Aby ste pochopili, čo kód robí, najprv spustite hru Excitebike. Urobte to tak, že prejdete na zdrojový kód a potom ho spustíte pomocou Pygame Zero:

cd Wireframe-66/source-code-excitebike/ 
pgzrun exitebike.py

Potom môžete otvoriť súbor exitebike.py pomocou textového editora a zobraziť kód.

  útržok kódu excitebike python

The kresliť funkcia vykreslí pozadie pri pohybe obrázka bicykla. A ' pobyt '' označuje blok, ktorý je nakreslený na obrazovke. Slovo ' pozadie,' odkazuje na obrázok na pozadí (prepojenie obrázkov s blokom pozadia je vďaka importovaným modulom Pygame Zero).

ako získať Google Play v Kindle Kindle
def draw(): 
screen.blit("background", (0, 0))
drawTrack()
bike.draw()
screen.draw.text("LAP TIME: "+str(int(time.time() - startTime)), (20, 555),color=(255,255,255) , fontsize=50)
screen.draw.text("LAST LAP: "+str(lastLap), topright = (780, 555),color=(255,255,255) , fontsize=50)

Tiež si všimnete výpočty času na kolo a posledného kola (toto je reprezentované počítadlom času v spodnej časti obrazovky). Čas kola neustále počíta rozdiel medzi počiatočným stlačením klávesu so šípkou doprava (čas začiatku) a aktuálnym časom.

Posledné kolo je podobný výpočet. Namiesto času štartu sa čas počíta od okamihu, keď motorka prejde preddefinovanou polohou trate (spomínaná ako trackPos < -4800 v kóde). Nižšie uvedené položky v úvodzovkách predstavujú obrázok.

Tento kód kreslí obrazové bloky na obrazovku v určitých intervaloch a na konkrétnych pozíciách na obrazovke. Dodaný davový obrázok má šírku iba 100 pixelov. Kód uvedený nižšie však počítaču hovorí, kedy má nakresliť obrázok, aby sa zdalo, že za motocyklom je simulovaný dav pri jeho pohybe.

Skalné obrázky sa na obrazovke zobrazujú v dvoch častiach. Druhý a tretí riadok kódu nižšie spolupracujú na simulácii scenérie v usporiadanom štýle.

Po vytvorení záložnej kópie kódu pythonu skúste zmeniť nižšie uvedené čísla, aby ste videli, čo sa stane s kameňmi na obrazovke!

screen.blit("crowd1", ((t*100)+trackOffset-100, 0)) 
screen.blit("rock1", ((t*100)+trackOffset-100, 270))
screen.blit("rock1", ((t*100)+trackOffset-50, 270))

Chcete vymeniť svoju motorku za Monster truck, štvorkolku alebo iné vozidlo? Možno chcete pretekať s jednorožcom až do cieľa?

Všetko, čo musíte urobiť, je nakresliť obrázok 50x50px (s priehľadným pozadím). Potom umiestnite tento súbor (picture.png) do súboru ' snímky ' priečinok (v rámci zdrojový kód-excitebike priečinok). Budete chcieť vytvoriť dva obrázky (jeden s mierne zvýšenou výškou), aby ste pridali trochu realizmu. Všetko, čo musíte urobiť, je zmeniť odkaz na „ urob to tu:

bike = Actor('bike0', center=(150, 350), anchor=('center', 'bottom'))
  excitebike python hra s kamiónom

Nezabudnite tiež vykonať akciu hľadania a nahradenia názvom obrázka (bez prípony obrázka).

telefón sa nepripojí k počítaču, iba sa nabíja

checkBikeRamp() je funkcia, ktorá vypočítava os Y tak, aby vaša motorka (alebo nákladné auto) stúpala po rampe (a poriadne sa nadýchla, ak budete mať šťastie). The klávesnica.vpravo a klávesnica.ľavá parametre sú definované v aktualizovať() funkciu.

Tieto kódové bity informujú počítač, aby spomalil alebo zrýchlil motorku (v závislosti od toho, akú klávesu používateľ stlačí na klávesnici). Preklad: Čím rýchlejšie sa vaša motorka pohybuje, tým vyššie je číslo osi Y (alebo veľmi veľký skok).

Priečne, on_key_down(key) funkcia pošle vašu motorku do priepasti.

if key.name == "DOWN": 
bike.direction = 1
bike.laneY = limit(bike.laneY + 50, 375, 525)
bike.y += bike.direction

The muckLane parameter spomalí vašu motorku pomocou nasledujúceho výpočtu:

muckLane = int((bike.laneY-375)/50)+1

Riadok 66 kódu určuje, kedy sa má na obrazovke zobraziť obraz „muck“. Teraz, keď počítač vie, kedy vaša motorka prejde cez bahno, spomalí rýchlosť vašej motorky na polovicu, keď sa presuniete cez bahno na trati. Zmeňte hodnotu muckLane z /50 na /25 alebo /75, aby ste videli, čo sa stane ďalej.

Pretekári (ehm, programátori Pythonu)! Naštartujte svoje motory!

Aj keď nie ste spokojní s programovaním tejto pocty Excitebike od začiatku, tento kód je stále skvelý základ. Jeho vyladením a uvedomením si vizuálneho dopadu zmien sa môžete veľa naučiť. Skúsite do svojej hry pridať ďalšie funkcie alebo AI pretekárov? Ísť na to!

S trochou praxe v Pythone je ďalším nápadom, ktorý môžete vyskúšať, pridávanie rôznych úrovní, keď prejdete cieľovou čiarou po 4 alebo 5 krát. Možno budete chcieť pridať aj odmeny za prvé, druhé a tretie miesto. Ak ste na prvom mieste, pridajte aj dav povzbudzujúci zvukový súbor! Možností je veľmi veľa.

Keď ste spokojní so svojimi vylepšeniami Excitebike, prečo sa nepustiť do vytvorenia textovej adventúry? Existuje veľa rôznych kúskov, ktoré zaistia, že sa budete učiť niečo vzrušujúce celé hodiny, dni alebo dokonca týždne!