ఎక్సైట్బైక్ అనేది సైడ్-స్క్రోలర్ గేమ్, ఇక్కడ మీరు మోటర్బైక్ను జంప్ల మీదుగా నావిగేట్ చేస్తారు, అడ్డంకులను అధిగమించవచ్చు మరియు ముగింపు రేఖ వైపు వేగంగా వెళతారు.
నింటెండో మొదట NES కోసం ఈ BMX రేసింగ్ గేమ్ను ప్రారంభించింది. అక్కడ నుండి, కంపెనీ Excitebikeని ఆధునికీకరించింది మరియు N64 మరియు చివరికి Wiiలో విడుదల చేసింది.
ఇప్పుడు చాలా NES కన్సోల్లు లేవు, దీని వలన Excitebike ప్లే చేయడం మళ్లీ కష్టమవుతుంది. Wireframe మ్యాగజైన్లోని కొంతమంది రెట్రో అభిమానులకు ధన్యవాదాలు, పైథాన్ కోడ్ యొక్క స్నిప్పెట్ మీ రాస్ప్బెర్రీ పై లేదా హోమ్ PCలో గంటల కొద్దీ వినోదం కోసం ఈ NES క్లాసిక్ని మళ్లీ సృష్టించగలదు.
రోజు యొక్క వీడియోను తయారు చేయండి
కోడ్ పొందడం మరియు సెటప్ చేయడం
మీరు మీ పైథాన్ కోడ్ని సవరించడానికి నానో లేదా విమ్ని ఉపయోగించగలిగినప్పటికీ, మీరు పూర్తి ఫీచర్తో ప్రయోజనాన్ని పొందాలనుకుంటున్నారు టెక్స్ట్ ఎడిటర్ లేదా IDE .
Excitebikeకి ఈ నివాళిలో నిర్మించిన ఫీచర్లకు మద్దతు ఇవ్వడానికి మీరు Pygame Zeroని ఇన్స్టాల్ చేయాలి. Pygame Zero సాధారణ పునాదులను పునరావృతం చేయకుండానే ఫోకస్ చేయడానికి గేమ్ సృష్టికర్తల కోసం పైథాన్ మాడ్యూల్లను కలిగి ఉంది.
మీరు మీ PCలో python3ని ఇన్స్టాల్ చేయకుంటే, మీరు చేయవచ్చు తాజా సంస్కరణను డౌన్లోడ్ చేయండి నేరుగా పైథాన్ నుండి. మీరు కూడా కోరుకుంటారు మీరు PIP ఇన్స్టాల్ చేసినట్లు నిర్ధారించుకోండి చాలా.
నా అమెజాన్ ఫైర్ స్టిక్ ఎందుకు నెమ్మదిగా ఉంది
పైథాన్ మరియు PIP యొక్క తాజా వెర్షన్ ఇన్స్టాల్ చేయబడినప్పుడు, మీ PowerShell లేదా Linux టెర్మినల్ని తెరిచి టైప్ చేయండి:
pip3 install pgzero
చివరగా, మీరు వైర్ఫ్రేమ్ మ్యాగజైన్ యొక్క గిట్హబ్ రిపోజిటరీ నుండి పైథాన్ కోడ్ కాపీని తీసుకోవాలి. కింది ఆదేశాన్ని టెర్మినల్లో టైప్ చేయండి:
git clone https://github.com/Wireframe-Magazine/Wireframe-66.git
ప్రత్యామ్నాయంగా, మీరు చేయవచ్చు జిప్-అప్ కోడ్ను డౌన్లోడ్ చేయండి నేరుగా Wireframe GitHub పేజీ నుండి.
కోడ్ను విచ్ఛిన్నం చేయడం
కోడ్ ఏమి చేస్తుందో అర్థం చేసుకోవడానికి, ముందుగా Excitebike గేమ్ని అమలు చేయండి. సోర్స్ కోడ్కి నావిగేట్ చేసి, పైగేమ్ జీరోని ఉపయోగించి దాన్ని అమలు చేయడం ద్వారా అలా చేయండి:
cd Wireframe-66/source-code-excitebike/
pgzrun exitebike.py
మీరు కోడ్ను వీక్షించడానికి exitebike.py ఫైల్ని టెక్స్ట్ ఎడిటర్తో తెరవవచ్చు.
ది డ్రా బైక్ చిత్రం కదులుతున్నప్పుడు ఫంక్షన్ నేపథ్యాన్ని గీస్తుంది. ఎ' ఉండు ' తెరపై గీసిన బ్లాక్ని సూచిస్తుంది. పదం, ' నేపథ్య,' బ్యాక్గ్రౌండ్ ఇమేజ్ని సూచిస్తుంది (ఇమేజ్లను బ్యాక్గ్రౌండ్ బ్లాక్కి లింక్ చేయడం దిగుమతి చేసుకున్న పైగేమ్ జీరో మాడ్యూల్స్కు ధన్యవాదాలు).
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)
మీరు ల్యాప్ సమయం మరియు చివరి ల్యాప్ కోసం గణనలను కూడా గమనించవచ్చు (ఇది స్క్రీన్ దిగువన ఉన్న టైమ్ కౌంటర్ ద్వారా సూచించబడుతుంది). ప్రారంభ కుడి బాణం కీ ప్రెస్ (ప్రారంభ సమయం) మరియు ప్రస్తుత సమయం మధ్య వ్యత్యాసాన్ని ల్యాప్ సమయం నిరంతరం గణిస్తూ ఉంటుంది.
చివరి ల్యాప్ కూడా ఇదే లెక్క. ప్రారంభ సమయానికి బదులుగా, మోటర్బైక్ ముందే నిర్వచించబడిన ట్రాక్ పొజిషన్ను దాటినప్పుడు సమయం లెక్కించబడుతుంది (ప్రస్తావించబడింది ట్రాక్పోస్ కోడ్లో < -4800). కోట్లలోని దిగువ అంశాలు చిత్రాన్ని సూచిస్తాయి.
ఈ కోడ్ స్క్రీన్పై నిర్దిష్ట వ్యవధిలో మరియు నిర్దిష్ట స్థానాల్లో ఇమేజ్ బ్లాక్లను గీస్తుంది. సరఫరా చేయబడిన ప్రేక్షకుల చిత్రం 100px వెడల్పు మాత్రమే. అయినప్పటికీ, దిగువన ఉన్న కోడ్, చిత్రాన్ని ఎప్పుడు గీయాలి అని కంప్యూటర్కు చెబుతుంది, తద్వారా మోటార్సైకిల్ కదులుతున్నప్పుడు దాని వెనుక అనుకరణ జనసమూహం ఉన్నట్లు కనిపిస్తుంది.
రాక్ చిత్రాలు రెండు భాగాలుగా తెరపై ప్రదర్శించబడతాయి. కోడ్ యొక్క రెండవ మరియు మూడవ పంక్తులు, దిగువన, దృశ్యాలను చక్కని పద్ధతిలో అనుకరించడానికి కలిసి పని చేస్తాయి.
మీరు పైథాన్ కోడ్ యొక్క బ్యాకప్ కాపీని సృష్టించిన తర్వాత, స్క్రీన్పై రాళ్లకు ఏమి జరుగుతుందో చూడటానికి క్రింది నంబర్లను మార్చడానికి ప్రయత్నించండి!
ఇమెయిల్ ఎక్కడ నుండి వచ్చిందో తెలుసుకోవడం ఎలా
screen.blit("crowd1", ((t*100)+trackOffset-100, 0))
screen.blit("rock1", ((t*100)+trackOffset-100, 270))
screen.blit("rock1", ((t*100)+trackOffset-50, 270))
మీరు మీ మోటర్బైక్ను మాన్స్టర్ ట్రక్, ఫోర్-వీలర్ లేదా మరొక వాహనంతో భర్తీ చేయాలనుకుంటున్నారా? బహుశా మీరు యునికార్న్ను ముగింపు రేఖకు రేసు చేయాలనుకుంటున్నారా?
మీరు చేయాల్సిందల్లా 50x50px చిత్రాన్ని గీయడం (పారదర్శక నేపథ్యంతో). అప్పుడు, ఈ ఫైల్ను (picture.png) 'లో ఉంచండి చిత్రాలు ఫోల్డర్ (లోపల సోర్స్-కోడ్-ఎక్సైట్బైక్ ఫోల్డర్). మీరు కొంత వాస్తవికతను జోడించడానికి రెండు చిత్రాలను (కొంచెం పెరిగిన ఎత్తుతో ఒకటి) సృష్టించాలనుకుంటున్నారు. మీరు చేయాల్సిందల్లా సూచనను 'కి మార్చడమే. చేయి ఇక్కడ:
bike = Actor('bike0', center=(150, 350), anchor=('center', 'bottom'))
అలాగే చిత్రం పేరుతో (చిత్రం పొడిగింపు లేకుండా) చర్యను కనుగొని భర్తీ చేయాలని నిర్ధారించుకోండి.
చెక్బైక్రాంప్() మీ మోటర్బైక్ (లేదా ట్రక్) ర్యాంప్ పైకి వెళ్లేలా Y అక్షాన్ని లెక్కించే పనిని చేసే పని (మరియు మీరు అదృష్టవంతులైతే కొంత తీవ్రమైన గాలిని పొందుతుంది). ది కీబోర్డ్.కుడి మరియు కీబోర్డ్.ఎడమ పారామితులు నిర్వచించబడ్డాయి నవీకరణ () ఫంక్షన్.
ఈ కోడ్ బిట్లు మోటర్బైక్ను స్లో చేయమని లేదా వేగాన్ని పెంచమని కంప్యూటర్కు చెబుతాయి (కీబోర్డుపై వినియోగదారు ఏ కీని నొక్కిన దాన్ని బట్టి). అనువాదం: మీ మోటార్బైక్ ఎంత వేగంగా కదులుతుందో, Y అక్షం (లేదా చాలా పెద్ద జంప్) సంఖ్య అంత ఎక్కువగా ఉంటుంది.
అడ్డంగా, ది ఆన్_కీ_డౌన్(కీ) ఫంక్షన్ మీ మోటర్బైక్ను ముక్కుపుడకలోకి పంపుతుంది.
if key.name == "DOWN":
bike.direction = 1
bike.laneY = limit(bike.laneY + 50, 375, 525)
bike.y += bike.direction
ది muckLane కింది గణనను ఉపయోగించి పరామితి మీ మోటర్బైక్ను నెమ్మదిస్తుంది:
ల్యాప్టాప్లో సినిమాలను డౌన్లోడ్ చేయడం ఎలా
muckLane = int((bike.laneY-375)/50)+1
స్క్రీన్పై 'మక్' చిత్రాన్ని ఎప్పుడు ప్రదర్శించాలో కోడ్లోని 66వ పంక్తి నిర్ణయిస్తుంది. ఇప్పుడు మీ మోటర్బైక్ ఎప్పుడు చెత్త మీదుగా వెళ్తుందో కంప్యూటర్కు తెలుసు, మీరు ట్రాక్పై ఉన్న మట్టిపై కదులుతున్నప్పుడు అది మీ మోటర్బైక్ వేగాన్ని సగానికి తగ్గిస్తుంది. తర్వాత ఏమి జరుగుతుందో చూడటానికి muckLane విలువను /50 నుండి /25 లేదా /75కి మార్చండి.
రేసర్లు (అహెమ్, పైథాన్ ప్రోగ్రామర్లు)! మీ ఇంజిన్లను ప్రారంభించండి!
మీరు మొదటి నుండి Excitebikeకి ఈ నివాళిని ప్రోగ్రామ్ చేయడం సౌకర్యంగా లేకపోయినా, ఈ కోడ్ ఇప్పటికీ గొప్ప ప్రైమర్. దాన్ని సర్దుబాటు చేయడం ద్వారా మరియు మార్పుల యొక్క దృశ్య ప్రభావాన్ని గ్రహించడం ద్వారా, మీరు చాలా నేర్చుకోవచ్చు. మీరు మీ గేమ్లో మరిన్ని ఫీచర్లు లేదా AI రేసర్లను జోడించడానికి ప్రయత్నిస్తారా? దానికి వెళ్ళు!
మీ బెల్ట్ కింద కొద్దిగా పైథాన్ ప్రాక్టీస్తో, మీరు 4 లేదా 5 సార్లు ముగింపు రేఖను దాటిన తర్వాత వివిధ స్థాయిలను జోడించడం మీరు ప్రయత్నించే మరో ఆలోచన. అలాగే, మీరు మొదటి, రెండవ మరియు మూడవ స్థానాలకు రివార్డ్లను జోడించాలనుకోవచ్చు. మీరు మొదటి స్థానంలో ఉన్నట్లయితే, ప్రేక్షకులను ఉత్సాహపరిచే ఆడియో ఫైల్ను కూడా జోడించండి! చాలా అవకాశాలు ఉన్నాయి.
మీరు మీ Excitebike మెరుగుదలలతో సంతోషంగా ఉన్నప్పుడు, టెక్స్ట్ అడ్వెంచర్ గేమ్ని ఎందుకు రూపొందించకూడదు? మీరు గంటలు, రోజులు లేదా వారాలపాటు ఉత్తేజకరమైనదాన్ని నేర్చుకుంటున్నారని నిర్ధారించే విభిన్న భాగాలు చాలా ఉన్నాయి!