Kazalo:

KODIRAJ IGRO S PITONOM (ZA DUMMIJE!): 14 korakov
KODIRAJ IGRO S PITONOM (ZA DUMMIJE!): 14 korakov

Video: KODIRAJ IGRO S PITONOM (ZA DUMMIJE!): 14 korakov

Video: KODIRAJ IGRO S PITONOM (ZA DUMMIJE!): 14 korakov
Video: Учим Python за 1 час! #От Профессионала 2024, November
Anonim
KODIRAJ IGRO S PITONOM (ZA DUMMIJE!)
KODIRAJ IGRO S PITONOM (ZA DUMMIJE!)

Dobrodošli v Pythonu, tretjem najbolj priljubljenem programskem jeziku na svetu! … in verjetno najpreprostejšem! Ali ste vedeli, da imata YouTube in Google Python kot glavni jezik za svoje uspešne aplikacije in spletna mesta, ki jih vidite? PA … Zdaj veste; Prav tako bi morali ugotoviti, zakaj je Python izjemno pomemben tudi za prihodnost obdobja moderne tehnologije 4.0!

Morda se tudi zavedate, da industrija kodiranja iger uspeva bolj kot kdaj koli prej, saj dandanes vse več ljudi pride do lastnih pametnih telefonov. In Python je precej idealen jezik za kodiranje, ki ga je mogoče uporabiti za preproste … a vseeno dobro programirane, zasvojene igre! Zdaj se morda sliši kot prekleto zastrašujoča naloga, ko vam na pamet pride beseda "kodiranje iger" … Ampak ne skrbite! S tem Instructable -om se boste skupaj z mano podali na to, kako v celoti kodirati preprosto igro, od A do Ž, za vse, hitro in na kratko, brez plačila!

Če še niste imeli Pythona, kliknite TUKAJ, da prenesete ta neverjeten jezik (in tudi žival! Mislim …). To je popolnoma brezplačno. Ko končate, je čas za zabavo!

1. korak: Razumejte, s katero igro se boste lotili

Razumeti, kakšno igro boste počeli!
Razumeti, kakšno igro boste počeli!

Ključno je, da sedite pred programom Python in natančno veste, kaj kodirati.

Ne pozabite, da je ta Instructable za VSE! In ne bi želeli izbrati neke trmaste ideje, kot sta Asphalt 8 ali FIFA Mobile; Seveda je ta Python zmožen vsega, vendar boste potrebovali nekaj časa, da izpoveste v Pythonu (verjetno 2 leti! Ne morem ustrezati temu Instructable *urgh *). Namesto tega bi se radi borili s tradicionalnimi idejami, kot so Tic-Tac-Toe (ki sem si jih izbral kot primer za vas!), Hangman itd. Stvari, ki ne zahtevajo grafike (grafika vas bo popeljala na drugo … ohhhh… ahh drug svet, lahko poskusiš! Ampak ne tukaj, ker spet, res traja čas). Pomislite, kaj vas navdihuje, igra, na katero imate morda kakšne posebne naveze, ali igra, za katero natančno veste, kako deluje.

2. korak: Analizirajte svojo igro

Analizirajte svojo igro!
Analizirajte svojo igro!

Potem ko ste se odločili, čemu se boste posvetili za naslednji teden kodiranja, je čas, da zapišete, kaj igra potrebuje, da boste imeli boljšo predstavo o tem, kako je igra nastavljena!

Na primer, moj 3x3 Tic-Tac-Toe bi potreboval 9 praznih mest, kjer lahko uporabniki tiskajo v "X" ali "O". Nato bi potrebovali še 9 praznih mest, ki ustrezajo in shranijo poteze uporabnikov. Moral bi narediti nekaj, da bi preklapljal med "X" in "O" vsakič, ko igralec konča svoj mandat. Moral bi tudi zaokrožiti postopek preklapljanja in shranjevanja potez, dokler pozneje ne bo zmagovalca, in sicer tako, da bom upošteval 3 popolnoma enake zaporedne simbole v vodoravni, navpični ali diagonalni smeri.

V bistvu je to to! Ni vam treba storiti več kot to … ob predpostavki, da nimate predhodnih izkušenj z zelo malo znanja o Pythonu! Zdaj … naslednji korak bo zahteval, da se veliko sprašujete, kako pretvoriti analizirano … v kodo!

3. korak: Oblikujte svojo analizo v "računalniško" slovnico

Oblikujte svojo analizo
Oblikujte svojo analizo

Doslej bi morali razumeti, kam gre igra, v vaši glavi, v vašem jeziku, z vašo logiko! No … računalnik tega ne bo razumel; in ker imamo toliko več inteligence, bi morali narediti prvi korak k pogovoru v njenem jeziku.

Nazaj na primer mojega Tic-Tac-Toeja, ki se nanaša na 2. korak, da najprej potrebujem 9 praznih mest za shranjevanje potez uporabnikov. Eden od načinov je lahko povedati Pythonu, da naredi seznam, ki vsebuje 9 presledkov! Ko uporabniki vnašajo svoje poteze, ta prostor zamenjate z "X" ali "O". V Pythonu lahko uporabim nekatere vrste funkcij zanke, s katerimi lahko večkrat ponovim postopek, dokler ne pride do izenačenja ali … zmagovalca! Način, kako določim zmagovalca, je, da uporabim pogoj, da se igra nadaljuje v svoji zanki, če se nič ne zgodi, ali če je vseh 9 mest zasedenih ali je zmagovalec, se zanka zaskoči in igra se konča!

Ta korak je, ni treba trditi, najtežji korak v tem celotnem Instructable! Zdaj morate uporabiti človeško logiko, da vidite, kako lahko pretvorite to, kar ste napisali v Python. Ni vam treba skrbeti, ali je Python sposoben obvladati vso vašo domišljijo, saj ima dovolj materialov za kodiranje, da ga lahko zadovoljite! Če ne najdete poti (kar običajno velja), je iskalnik, ki ga zelo priporočam, Stack Overflow, to je majhna skupnost, kjer se ljudje običajno sprašujejo o najbolj absurdnih vprašanjih, kar sem jih kdaj videl, in tudi tam, kjer obstaja so nekateri najbolj briljantni odgovori, ki jih lahko kdorkoli pridobi!

TUKAJ SE ZMENI TUKAJ! V naslednjih 7 korakih vam bom pokazal 7 metod Pythona, za katere sem menil, da so vse potrebne v vsaki do najpreprostejše igre, ki jo je mogoče igrati! Naj se tečaj nesreče začne!

4. korak: Tiskanje izjav, številk ali predmetov - Print ()

Tiskanje izjav, številk ali predmetov - Print ()
Tiskanje izjav, številk ali predmetov - Print ()

To je verjetno najbolj temeljna stvar doslej v Pythonu! Če ne morete nič natisniti, je ne glede na to, kako zvezdniški je vaš program, svetu neuporaben. Način delovanja je: print ([vnesite nekaj tukaj]). Na primer, print ('You are smart') bo Python natisnil "You are smart" (OPOZORILO: Ni važno, če uporabljate enojne ali dvojne narekovaje, morate uporabiti enega od njih in začeti in končati niz z isto vrsto narekovaja!). Igrajte se še naprej s funkcijo print (), naredite, da bo Python natisnil vse tisto, zaradi česar se boste počutili dobro (to bi jaz naredil!). Dokler ne začutite, da lahko preidete na naslednji korak, lahko opravite kakršno koli dodatno raziskavo o print () za globlje razumevanje, če želite, prek Googla ali Stack Overflow.

print ("Yayyyy sem tukaj!")

print ('Tako sem dober omg')

P/S: Dvojne narekovaje lahko postavite znotraj pregrade z enojnimi narekovaji in obratno, vendar ne postavljajte iste stvari med seboj ali … boste videli, kaj mislim!

Moj projekt Tic-Tac-Toe … seveda zahteva veliko tiskanja, od tiskanja plošče in uporabniškega vmesnika do potrditve statusa igre.

5. korak: Ustvarite seznam, ki vsebuje različne predmete -

Ustvarite seznam, ki vsebuje različne predmete -
Ustvarite seznam, ki vsebuje različne predmete -

Seznam vsebuje vse spremenljivke, ki jih želite vnesti, to je resnično darilo, ki ga naredi Python! Zdaj morate samo vzpostaviti eno, ji dati ime, postaviti oglate oklepaje, ločiti spremenljivke z vejicami ali pa jo pustiti prazno (da jih lahko kasneje dodate) in pripravljeni! OPOZORILO: Ne želite ga poimenovati po nekaterih metodah, sicer bo prišlo do sintaktične napake. Če je ime prikazano v drugih barvah, razen v črni, morate zvonec vklopiti takoj!

dalist = [5, 7, "jaz sem čeden", 12 + 1, 3.141592657]

ali…

dalist =

dalist.append (5) #now dalist ima [5] kot svoj element!

Se spomnite deskarske plošče, o kateri sem vam govoril? Tu se bo uporabljal! Sprva bo shranil vse "-"; in ko igralec v potezi poševnico, bo njihov simbol nadomestil "-". Vsi elementi na seznamu se začnejo od 0, zato se 0 nanaša na 1. element, 1 na 2. element itd. Idealen primer bi bil: prosim, potrudite se, da si to predstavljate tukaj, da so tri točke 0, 1, 2 prva vrstica plošče 3x3. Če se dalist [0] in dalist [1] ter dalist [3] nanašata na isti simbol, potem imamo zmagovalca! Glejte, seznam je lahko izredno uporaben in bolj preprost, kot si mislite! Več informacij o seznamu Python lahko najdete pri Googlu ali Stack Overflowu.

Korak 6: Vzpostavite pogoje za ukaze - Če, Elif in drugo

Vzpostavite pogoje za ukaze - Če, Elif in drugo
Vzpostavite pogoje za ukaze - Če, Elif in drugo

Življenje se ne zgodi vedno tako, kot si želite, včasih pa to storite le, če scenarij ustreza vašim zahtevam. Enako za Python! Ne bi želeli, da gre skozi vse situacije, saj je to prava bolečina! Zato je pogoj if tako uporaben. Deluje natanko tako, kot je razloženo, ukazi v notranjosti, da bo blok if izveden le, če ustreza tistemu, kar zahtevate. Na primer, natisnili boste samo stavek "Yessss" ČE je vaš srečni način resničen (ob predpostavki, da je identifikator že vnaprej deklariran):

srečen = res

če je srečno == res:

print ("Yessss")

Če obstaja IF, običajno za preostale scenarije ostane ELSE, ki ne ustrezajo predhodno določenim pogojem. Recimo, ko ste žalostni, boste namesto tega natisnili "Noooo" (nadaljevanje zgornje izjave if):

drugače:

print ("Noooo") #Ampak tega vseeno ne bo natisnilo, ne skrbite!

V Pythonu obstaja posebna vrsta if, čemur pravimo ELIF. Že iz imena samega bi verjetno lahko razbrali, da gre za kombinacijo če in drugega. Torej, če imate dva ali več pogojev, je elif fant, ki bi ga poklicali (pred tem je ocena dodeljena nekaterim naključnim številkam):

rezultat = 65

če je rezultat> = 90:

print ("Dobro opravljeno!")

elif 80 <= rezultat <90:

print ("Dober trud!")

elif 70 <= rezultat <80:

print ("Lahko bi bilo bolje!")

drugače:

print ("No ……")

OPOZORILO: Tu je vdolbina pomembna! Ugotovil bo, da ukazi pripadajo stavku if, elif ali else. Zato bodite previdni pri oblikovanju kode! Prav tako lahko ugnezdite, če so izjave skupaj pogoj, ki bi se upošteval SAMO, ko je najbolj oddaljeno if prvo. In spet … Vdolbina!

V svojem projektu Tic-Tac-Toe sem dobesedno uporabil tone teh. Igra 3x3 se morda sliši dovolj preprosto, vendar boste morali razmisliti o številnih scenarijih, ki bi se lahko zgodili. V tem primeru moram razmisliti, ali je zmagovalec ali ne, tako da preverim 3 zaporedne ocene v vse smeri. Ja … zdaj se ne zmešajte, ker tudi ni tako zapleteno, gre le za vrsto odvečnih kod in vse, kar morate storiti, je, da spremenite območje preverjanja in končate! Če želite več informacij o tej temi, kliknite Stack Overflow.

7. korak: Skupaj več pogojev - in & Or

Več pogojev skupaj - in & Or
Več pogojev skupaj - in & Or

Kdo je rekel, da je en pogoj vedno lahko le pogoj? En sam pogoj bi lahko imel tudi več meril. Čeprav je stavek ugnezden, če je lahko kratkoročna rešitev, naredi kodo bistveno daljšo. Torej obstajajo metode AND & OR. Vsi se uporabljajo za združevanje pogojev v eno veliko pogodbo. Edina razlika med njima je v tem, da zahteva, da so vsi pogoji v tem pravilni, preden gre naprej; medtem ko ali samo eden od njih potrebuje pravilnost. Oboje je lahko zelo koristno, če se uporablja pravilno, bodite pametni ali pa bi se ti dve dejansko zapletli v vašo možgansko logiko!

n = 5

a = 7

če je n == 5 in a == 6:

print ("Ne, tega ne bi smel natisniti")

če je n == 3 ali a == 7:

print ("Yupp bi moral natisniti to")

Resno sem uporabil in / ali sem dramatično skrajšal svoj Tic-Tac-Toe, saj včasih obstajajo do 3 pogoji hkrati, ko moram upoštevati vse 3 položaje znamke, da ugotovim, ali je zmagovalec ali ne. In & ali bi mi prišel zelo prav! Za več podrobnosti obiščite Stack Overflow.

8. korak: Zank, ki ponavlja ukaze, dokler niso izpolnjena merila - medtem ko

Zanka, ki ponavlja ukaze, dokler niso izpolnjena merila - medtem ko
Zanka, ki ponavlja ukaze, dokler niso izpolnjena merila - medtem ko

Opisali smo, kako tiskati, obdelovati stvari le, če je pogoj resničen. Kaj pa … bi ponovil ta blok večkrat, vse dokler pogoj ni izpolnjen? Da, zato vam Python ponuja KAJ!

n = 1

medtem ko je n = 1:

print ("hooooo") #Da, to bo natisnilo "hooooo" za vedno … in vedno … pravzaprav … večno … in vedno …

To je lahko težava, ker ne želite, da se vaši ukazi ponavljajo v nedogled. Tako običajno, ko uporabljate while, obstaja tehnika, pri kateri vsakič, ko se ponovi, spremenite vrednost pogoja, zato se pogoj posodobi in dokler se kdaj ne bodo pojavila merila, se bo sčasoma ustavil. Na primer, lahko dodate vrednost zase eno enoto naenkrat, nato pa nastavite čas, da deluje, dokler ne pride do neke vrste vrednosti, ki jih bo število na koncu doseglo:

n = 1

medtem ko je n <5:

print ("Imam" + n + "piva boiiiii!")

n = n + 1 #ali pa lahko napišete tudi n + = 1

Kako bo to delovalo, se bo n še naprej dodajal k 1 na koncu vsakega kodnega bloka. Zanka while se bo zankala, dokler je n še vedno manjše od 5. Zdaj bo do enega trenutka (natančneje 4 -kratne zanke) n dosegel vrednost 5 in zanka se bo ustavila!

srečen = res

medtem ko sem srečen:

print ("Yayyy I did it!") # Ne delaj tega v resnici, vendar si zaslužil vedeti, da boš vedno prišel!

Čeprav je lahko še posebej uporaben pri igrah, kot je Tic-Tac-Toe, pri preverjanju napak. Včasih si morate privoščiti nagajive uporabnike in če ti še naprej motijo, jih zanka while zadrži, dokler se dejansko ne obnašajo in vnesejo nekaj veljavnih vnosov! Več informacij na naslovu Stack Overflow

9. korak: Medtem ko je zanka različice 2.0 - za

Medtem ko je zanka različice 2.0 - za
Medtem ko je zanka različice 2.0 - za

Zagotovo obstajajo situacije, v katerih bo FOR do nekega trenutka odstranjen, toda for naredi za vas kaj drugega, kar pa ne more … Ima vrednost, v kateri se bo zankalo, od uporabnika zahteva, da določi obseg zanke (Da, za zanka nikoli ne kroži za vedno in za vedno … pravzaprav …), in nosi vrednost zanke vsakič, ko se preoblikuje! Morda sem preveč beseden, vendar upoštevajte ta primer, recimo, da je tm vrednost, ki jo želite nadaljevati z zanko for:

za tm v območju (1, 5):

print ("Sem že imel" + tm + "piva urghhh") # To bo natisnilo "Sem že imel 1….5 piva urghhh"

Glejte, prihrani vam eno vrstico kode, vendar bo življenje pri kodiranju iger precej olajšalo (Verjemite mi, tega sem se naučil na težji način in nočete vedeti o tem)! Običajno bi morali uporabiti zanko FOR, če ste v mislih natančno opredelili, kolikokrat želite, da se kodni blok ponovi. OPOZORILO: Spremenljivka, ki je bila prenesena skupaj z zanko for, bo obstajala samo v sami zanki for, če se nanjo sklicujete kjer koli zunaj zanke for, vas bo Python začel gristi in vprašati: "Kaj za vraga misliš ???"

Tic-Tac-Toe uporablja veliko for zanke. Ne morete si privoščiti, da bi vse preverili vsakič, ko se spremenljivka spremeni (prava bolečina). Toda odkril sem pravilo anatomije Tic-Tac-Toe, spremenil vrednost v zanki for, preveril vse 3 stolpce simbolov, pri čemer sem moral Python naučiti, kako preveriti enega! Če želite več vprašanj, preverite Stack Overflow.

10. korak: Vprašajte uporabnikove vnose - Input ()

Vprašajte za vnose uporabnikov - Input ()
Vprašajte za vnose uporabnikov - Input ()

Nenazadnje ste ustvarjalec igre in nekdo bo igral vašo igro! In nikoli ne morete uganiti, kaj nameravajo. Torej, kar lahko storite, je, da naredite, kar so naročili vašemu programu, in jim dovolite, da neposredno vnesejo vsebine! Skupaj sta INPUT in PRINT verjetno najbolj temeljni metodi vsakega v Pythonu, potrebovali ga boste za preživetje (sta v vsaki kodi igre, lahko 100,00% jamčim)! To je dovolj preprosto, samo dodelite spremenljivko in naj bo, kar želi uporabnik:

alo = input ("Vnesite svojo srečno številko!")

OPOZORILO: Obstaja veliko vrst vhodov, več o Stack Overflow. Vedno bodo delovali, če pustite samo tako (). Včasih pa boste morda želeli, da je specifičen, na primer celoštevilčni ali plavajoči vnos (privzeto je niz).

lucky_day = int (input ("Da, vaš srečen dan! Vnesite številko tukaj:") #Ne vtipkajte črk zdaj, ne želite, da se #pogovarjate s Pythonom!

Tic-Tac-Toe potrebuje kup tega! Prepričan sem, da lahko sami ugotovite, kako vem, kam gredo uporabniki in na kaj ciljajo (prav ste razumeli, ne vem … vendar sem uporabil input ()!).

11. korak: Naredite dodatne raziskave za vse metode, ki jih potrebujete

Naredite dodatne raziskave za vse metode, ki jih potrebujete!
Naredite dodatne raziskave za vse metode, ki jih potrebujete!

Ja, za ustvarjanje igre vam ni treba vedeti vse o Pythonu, pravzaprav morate vedeti le dovolj, začenši z Ultimate 7 (korak 4-10, prepričan sem, da se boste morali nekako dotakniti vsakega od njih igra), in če ne mislite, da lahko vseh teh 7 zadovolji to, kar počnete. Python ima veliko presenečenj, včasih pa obstajajo nekatere terminološke metode, ki so za tako posebno uporabo, nikoli ne veš. Zato jih poiščite z Googlom ali Stack Overflowom!

Moj Tic-Tac-Toe je uporabil vseh "velikih sedem" in nekaj malo več, vendar ne veliko. Prepričan sem, da to zmore vsak!

Vse napišite na papir in se igrajte z vsem, kar potrebujete, da razumete težavo, preden se obesite nanjo. Se počutite dovolj pripravljeni? Gremo na … zadnji korak !!! TUKAJ Z MENO TUKAJ, skoraj si že tam!

12. korak: Zgradite ogrodje ogrodja za svojo kodo, ki DELUJE

Zgradite okvirni okvir za svojo kodo, ki DELUJE!
Zgradite okvirni okvir za svojo kodo, ki DELUJE!

Sploh vas ne želim odvrniti, če pa želite ustvariti igro, ki bo delovala za vse, mora najprej zakonito delo, začenši z vami! Zberite vse materiale, ki jih potrebujete, postavite okvir. Vem, da je lažje reči kot narediti, toda z vsemi pripravljenimi papirji (če ste naredili kaj takega, kot sem vam rekel), bi morali biti pripravljeni.

Najprej ne motite sintaktičnih napak. Pomembno je, da kodo dokončate brez prekinitev, šele ko pridete v slepo ulico, ki jo morate ustaviti. Ljudje, občutljivi smo na miselne tokove, naletel sem na situacijo, ko je vse teklo tako gladko in tekoče, kot da sem šel v kopalnico … Naslednje, kar sem vedel, sem izgubil misel. Tako da, ne ponavljaj za mano! Odložite vse v glavo, dokler je še tam in najprej sveža.

Postopek Tic-Tac-Toe vključuje povpraševanje po uporabnikovem vnosu, z uporabo input (), use while za čiščenje samo veljavnih vhodov. Nato se določi niz if elif else, za in medtem, da se vsakič preveri, če je zmagovalec. Noben ne zmaga, zanka while pa bo nadaljevala igro, dokler ne bo zasedenih enega ali vseh 9 mest, kar bo povzročilo neodločeno število izidov.

Ko se prepričate, da je to igra, začnete zagnati program in pozneje poiščite skladnje ali pomenske napake. In spet, najprej zgradite igro zase, NE bodite balistično ustvarjalni, še preden je bil vaš prvotni okvir še tam. Zdaj pa to naredi in pojdi naprej! Vaša igra je tam, kaj še čakate ???

Korak: Pojdite ven, preizkusite se in si naredite igro

Pojdite ven, preizkusite se in naredite IGRO!
Pojdite ven, preizkusite se in naredite IGRO!

To je to! Vse, kar morate storiti, je, da ne zapravite vseh svojih predhodnih naporov, dajte se ven! Verjamem, da če sledite vsem tem korakom, boste zagotovo zadostovali za ustvarjanje igre. Če ne, ne obupajte, poskusite; Ta Instructable je v pomoč vsem, vendar samo vi lahko odločite o usodi vaše IGRE! Ne pozabite, ne obupajte, najprej zgradite okvirje okostja. Če obstajajo kakšne čudne sintaktične napake, ki jih ne vidite, poiščite pomoč prek Stack Overflow, ta stvar se mi je zataknila na debelo in tanko!

Kakorkoli, za konec, veliko sreče na vašem potovanju po Pythonu, programirajte igro, naredite me ponosnega, ker MI PROGRAMMERZZZZZZZ !!!!!

P/S: 14. korak za ustvarjalno spodbudo!

Korak 14: * DODATNO! * Ko bo vaša različica 1.0 delovala, namenjeno ustvarjalnosti

* DODATNO!* Ko vaša različica 1.0 deluje, namenjena ustvarjalnosti!
* DODATNO!* Ko vaša različica 1.0 deluje, namenjena ustvarjalnosti!

Če to še berete, super! Ni vam treba, vendar vas želim samo obvestiti, potem ko bo vse delovalo brez težav, SAMO, kot lahko uredite, da bodo lahko tudi drugi uporabljali vaš program; ponovno ga okrasite, da bo prijazen do igralcev; ali nadgradite svojo igro (svoj Tic-Tac-Toe sem nadgradil s programiranjem AI! Zdaj je to trajalo teden (ali 7/8 mojega časa), da sem ga dokončal!). Če se pojavijo kakršna koli vprašanja, obvezno uporabite in uporabite Stack Overflow. Zaželel sem vam vso srečo, dokončajte igro, jo delite v spodnjem komentarju in razširite gibanje kodiranja !!!

PROGRAMIRAMO ZZZ !!!!!

Priporočena: