Sadržaj:

KODIRAJTE IGRU S PITONOM (ZA DUMIJE!): 14 koraka
KODIRAJTE IGRU S PITONOM (ZA DUMIJE!): 14 koraka

Video: KODIRAJTE IGRU S PITONOM (ZA DUMIJE!): 14 koraka

Video: KODIRAJTE IGRU S PITONOM (ZA DUMIJE!): 14 koraka
Video: Как создать Android игру за 10 минут на языке Python! 2024, Srpanj
Anonim
KODIRAJTE IGRU S PITONOM (ZA DUMIJE!)
KODIRAJTE IGRU S PITONOM (ZA DUMIJE!)

Dobrodošli u Python, treći najpopularniji programski jezik u svijetu! … i vjerojatno najjednostavniji! Jeste li znali da Youtube i Google imaju Python kao glavni jezik za svoje uspješne aplikacije i web stranice koje vidite? DOBRO … Sada znate; trebali biste također shvatiti zašto je Python iznimno važan i za budućnost ere moderne tehnologije 4.0!

Možda ste također svjesni da industrija kodiranja igara napreduje više nego ikad, jer sve više ljudi danas posjeduje pametne telefone. A Python je prilično idealan jezik za kodiranje koji se može koristiti za jednostavne … ali ako je dobro programiran, igre ovisnosti! Sada bi vam moglo zvučati kao prokleto zastrašujući zadatak kad vam na pamet padne riječ "kodiranje igre" … Ali ne brinite! Kroz ovaj Instructable bit ćete sa mnom upućeni u to kako potpuno i jednostavno kodirati jednostavnu igru, od A do Ž, za sve, brzo i kratko, bez plaćanja!

Ako još niste imali Python, kliknite OVDJE da biste preuzeli ovaj nevjerojatni jezik (i životinjski, pretpostavljam …). Potpuno je besplatno. Kad završite, vrijeme je za zabavu!

Korak 1: Shvatite koju igru namjeravate raditi

Shvatite koju igru namjeravate raditi!
Shvatite koju igru namjeravate raditi!

Od ključne je važnosti da sjednete ispred Python programa i znate točno što kodirati.

Upamtite da je ovaj Instructable namijenjen SVIMA! I ne biste htjeli odabrati neku tvrdoglavu ideju poput Asphalt 8 ili FIFA Mobile; Naravno, taj Python je sposoban za sve, ali trebat će vam neko vrijeme da ispovjedite u Pythonu (vjerojatno 2 godine! Ne mogu stati u ovaj Instructable *urgh *). Umjesto toga, htjeli biste se boriti s tradicionalnim idejama kao što su Tic-Tac-Toe (koje sam odabrao da vam bude primjer!), Vješala itd. Stvari koje ne zahtijevaju grafiku (grafika će vas odvesti na drugu … ohhhh… ahh drugi svijet, možete isprobati! Ali ne ovdje jer opet, stvarno treba vremena). Razmislite o tome što vas inspirira, o igri za koju možda imate neke posebne priloge ili o igri za koju znate da točno radi.

Korak 2: Analizirajte svoju igru

Analizirajte svoju igru!
Analizirajte svoju igru!

Nakon što ste odlučili čemu ćete se posvetiti za sljedeći tjedan kodiranja, vrijeme je da zapišete što igra zahtijeva kako biste imali bolju viziju kako je igra postavljena!

Na primjer, mom 3x3 Tic-Tac-Toe-u bi trebalo 9 praznih mjesta na kojima korisnici mogu ispisivati u "X" ili "O". Zatim bi nam bilo potrebno još 9 praznina koje odgovaraju i spremaju poteze korisnika. Morao bih učiniti nešto za prebacivanje naprijed -natrag između "X" i "O" svaki put kada igrač završi svoj mandat. Također bih morao zaokružiti proces prebacivanja i spremanja poteza dok kasnije ne bude pobjednika, razmatrajući 3 potpuno ista uzastopna simbola u vodoravnom, okomitom ili dijagonalnom smjeru.

U osnovi to je to! Ne morate učiniti više od toga … još, pod pretpostavkom da nemate iskustva s vrlo malo znanja o Pythonu! Sada … sljedeći korak od vas će zahtijevati da se preispitujete o tome kako ono što ste analizirali pretvoriti u kod!

Korak 3: Oblikujte svoju analizu u "računalnu" gramatiku

Oblikujte svoju analizu
Oblikujte svoju analizu

Do sada biste trebali razumjeti kamo igra ide, u vašoj glavi, na vašem jeziku, s vašom logikom! Pa … računalo to neće razumjeti; a budući da imamo toliko više inteligencije, trebali bismo napraviti prvi korak da razgovaramo na njezinu jeziku.

Nazad na moj Tic-Tac-Toe kao primjer, pozivajući se na korak 2, da mi je prvo potrebno nekih 9 praznih mjesta za spremanje poteza korisnika. Jedan način bi mogao biti reći Pythonu da napravi popis koji sadrži 9 razmaka! I dok korisnici upisuju svoje poteze, zamjenjujete taj prostor s "X" ili "O". Mogu koristiti neke vrste funkcija petlje u Pythonu kako bih pomogao ponoviti proces više puta sve dok ne bude neriješeno ili … pobjednika! Način na koji određujem pobjednika je upotrijebiti uvjet da će se igra nastaviti u svojoj petlji ako se ništa ne dogodi, ili ako je svih 9 mjesta zauzeto ili ima pobjednika, petlja se prekida i igra završava!

Ovaj korak je, nema potrebe raspravljati, najteži korak u cijelom ovom Instructable! Morate sada koristiti ljudsku logiku da vidite kako možete pretvoriti ono što ste napisali u Python. Ne morate brinuti o tome je li Python sposoban obraditi svu vašu maštu, ima dovoljno materijala za kodiranje da ga možete zadovoljiti! Ako ne možete pronaći način (što bi obično bio slučaj), tražilicu koju super preporučujem je Stack Overflow, to je mala zajednica u kojoj se ljudi obično pitaju najapsurdnija pitanja koja sam ikada vidio, a također i tamo gdje postoji 'Neki su od najsjajnijih odgovora koje svatko može dobiti iz toga!

ZALIJEPITE SE SAMOM OVDJE! Sljedećih 7 koraka pokazat ću vam 7 metoda Pythona koje sam smatrao potrebnima u svakoj do najjednostavnije igre koja se može igrati! Neka tečaj sudara počne!

Korak 4: Ispis izjava, brojeva ili objekata - Ispis ()

Ispis izjava, brojeva ili objekata - Ispis ()
Ispis izjava, brojeva ili objekata - Ispis ()

Ovo je vjerojatno najtemeljnija stvar ikada u Pythonu! Ako ne možete ništa ispisati, bez obzira na to koliko je vaš program zvjezdan, svijetu je beskoristan. Način rada je: print ([upišite nešto ovdje]). Na primjer, ispis ('Vi ste pametni') učinit će da Python ispiše "Vi ste pametni" (UPOZORENJE: Nije važno koristite li pojedinačne ili dvostruke navodnike, morate koristiti jedan od njih i morate započeti i završiti niz s istim navodnikom!). Nastavite se igrati s funkcijom print (), učinite da Python ispiše sve ono što vam čini da se osjećate dobro (to bih ja učinio!). Dok ne osjetite da možete prijeći na sljedeći korak, možete napraviti dodatno istraživanje o print () radi dubljeg razumijevanja ako želite, putem Googlea ili Stack Overflowa.

print ("Yayyyy ovdje sam!")

print ('Tako sam dobar omg')

P/S: Možete staviti dvostruke navodnike unutar barijere jednostrukih navodnika i obrnuto, ali nemojte stavljati istu stvar jedno u drugo ili … vidjet ćete na što mislim!

Moj projekt Tic-Tac-Toe … naravno, zahtijeva mnogo ispisa, od ispisa ploče i korisničkog sučelja do potvrde statusa igre.

Korak 5: Napravite popis koji će sadržavati različite objekte -

Napravite popis koji sadrži različite objekte -
Napravite popis koji sadrži različite objekte -

Popis sadrži sve varijable u koje ga želite staviti, to je zaista dar koji Python čini! Sada je sve što trebate uspostaviti jest dati mu ime, staviti uglate zagrade, odvojiti varijable zarezima ili ga ostaviti praznim (da biste ga kasnije mogli dodati) i spremni ste za rad! UPOZORENJE: Ne želite ga nazvati prema nekim metodama ili će doći do sintaksne pogreške. Ako se ime pojavi u bojama koje nisu crne, zvonce bi trebalo odmah uključiti!

dalist = [5, 7, "ja sam zgodan", 12 + 1, 3.141592657]

ili…

dalist =

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

Sjećate li se ploče s 9 mjesta o kojoj sam vam govorio? Ovdje će se koristiti! Prvo će pohraniti sve "-"; a kako igrač u pokretu kosi, njihov simbol zamijenit će "-". Svi elementi na popisu počinju od 0, pa se 0 odnosi na prvi element, 1 se odnosi na 2. element itd. Idealan primjer bio bi: molimo vas da dobro zamislite ovo ovdje, da su 3 mjesta 0, 1, 2 prvi red ploče 3x3. Ako se dalist [0] i dalist [1] i dalist [3] odnose na isti simbol, onda imamo pobjednika! Vidite, popis može biti izuzetno koristan i jednostavniji nego što mislite! Više znanja o popisu Python možete pronaći putem Googlea ili Stack Overflowa.

Korak 6: Uspostavite uvjete za naredbe - If, Elif & Else

Uspostavite uvjete za naredbe - If, Elif & Else
Uspostavite uvjete za naredbe - If, Elif & Else

Život se ne događa uvijek onako kako vi želite, a ponekad ćete to učiniti samo ako scenarij zadovolji vaše zahtjeve. Isto i za Python! Ne biste htjeli da prolazi kroz sve situacije, jer to je prava bol! Zbog toga je uvjet if toliko koristan. Djeluje točno onako kako se tumači, naredba (e) unutar da će se blok if izvesti samo ako zadovolji ono što tražite. Na primjer, ispisat ćete samo izraz "Yessss" AKO je vaš sretni način rada istinit (pod pretpostavkom da je identifikator već prethodno deklariran):

sretan = istina

ako je sretno == istina:

print ("Yessss")

Ako postoji IF, obično će za ostale scenarije postojati ELSE koji ne odgovaraju prethodno postavljenim uvjetima. Recimo, kad ste tužni, umjesto toga ćete ispisati "Noooo" (nastavak gornje naredbe if):

drugo:

print ("Noooo") #Ali ovo ionako neće ispisati, ne brinite!

Postoji posebna vrsta ako u Pythonu zovemo ELIF. Iz samog naziva vjerojatno biste mogli zaključiti da se radi o kombinaciji if i else. Dakle, ako imate dva ili više uvjeta, elif je tip kojeg biste pozvali (pretpostavljeni rezultat se dodjeljuje nekim nasumičnim brojevima prije toga):

rezultat = 65

ako je rezultat> = 90:

print ("Dobar posao!")

elif 80 <= rezultat <90:

print ("Dobar trud!")

elif 70 <= rezultat <80:

print ("Moglo je biti bolje!")

drugo:

print ("Pa …….")

UPOZORENJE: Ovdje je uvlačenje važno! Odredit će naredbe kojima pripada naredba if, elif ili else. Zato budite oprezni pri osmišljavanju koda! Također možete ugniježditi ako će zajedno izrazi biti uvjet koji će se smatrati SAMO kada je najudaljeniji if prvi istinit. I opet … Uvlačenje!

U svom projektu Tic-Tac-Toe doslovno sam koristio tone ovih. Igra 3x3 može zvučati dovoljno jednostavno, ali morat ćete razmotriti hrpu scenarija koji bi se mogli dogoditi. U ovom slučaju moram razmotriti postoji li pobjednik ili ne provjeravajući 3 uzastopne ocjene u svim smjerovima. Da … sada se nemojte zbuniti jer ni to nije tako komplicirano, to je samo niz suvišnih kodova, a sve što trebate učiniti je promijeniti područje provjere i gotovo! Da biste saznali više o ovoj temi, kliknite Stack Overflow.

Korak 7: Ukupno više uvjeta - i & Or

Više uvjeta ukupno - i & Or
Više uvjeta ukupno - i & Or

Tko je rekao da jedan uvjet uvijek može biti samo uvjet? Jedan jedini uvjet također može imati više kriterija. Iako je ugniježđena naredba if može biti kratkoročno rješenje, čini kod znatno duljim. Dakle, postoje metode AND & OR. Svi se oni koriste za kombiniranje uvjeta u jedan veliki sporazum. Jedina razlika između njih je ta što zahtijeva da svi uvjeti u toj izjavi if budu točni prije nego što krenete dalje; dok je ili samo jedan od njih potreban da bi bio točan. Oboje može biti vrlo korisno ako se koristi ispravno, pametno ili bi ovo dvoje zapravo moglo petljati u vašu logiku mozga!

n = 5

a = 7

ako je n == 5 i a == 6:

print ("Ne, ovo ne smije biti ispisano")

ako je n == 3 ili a == 7:

print ("Yupp bi trebao ovo ispisati")

Ozbiljno sam koristio i / ili dramatično skratio svoj Tic-Tac-Toe, jer ponekad postoje do 3 uvjeta odjednom, kada moram uzeti u obzir sve 3 pozicije oznake kako bih utvrdio postoji li pobjednik ili ne. I & ili bi mi jako dobro došlo! Za više detalja posjetite Stack Overflow.

Korak 8: Petlja koja ponavlja naredbe dok se ne ispune kriteriji - Dok

Petlja koja ponavlja naredbe dok se ne ispune kriteriji - Dok
Petlja koja ponavlja naredbe dok se ne ispune kriteriji - Dok

Opisali smo kako ispisivati, obrađivati stvari samo ako je uvjet ispunjen. Što kažete na … ponoviti taj blok mnogo puta, sve dok se uvjet ne ispuni? Da, zato vam Python daje DOKUMENT!

n = 1

dok je n = 1:

print ("hooooo") #Da, ovo će ispisati "hooooo" zauvijek … i uvijek … zapravo … zauvijek … i uvijek …

To može biti problem jer ne želite da se vaše naredbe ponavljaju beskonačno. Dakle, obično kada koristite while, postoji tehnika kojom mijenjate vrijednost stanja svaki put kad se petlja, pa se uvjet ažurira i sve dok ne zatreba kriterije, na kraju će prestati. Na primjer, možete sebi dodati vrijednost jednu po jednu jedinicu, a zatim namjestiti vrijeme tako da radi do neke vrste vrijednosti do koje će taj broj u konačnici doći:

n = 1

dok je n <5:

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

n = n + 1 #ili također možete napisati n + = 1

Kako će to funkcionirati, n će se stalno dodavati u 1 na kraju svakog bloka koda. Dok će petlja petljati sve dok je n još uvijek manje od 5. Sada će do jednog trenutka (točnije 4 puta petlje), n doseći vrijednost 5 i petlja će se zaustaviti!

sretan = istina

dok si sretan:

print ("Yayyy Učinio sam to!") # Nemojte to zapravo raditi, ali zaslužili ste znati da ćete uvijek stići!

Iako može biti osobito korisno u igrama poput Tic-Tac-Toe, provjere pogrešaka. Ponekad si morate priuštiti nestašne korisnike, a ako nastave petljati, while petlja će ih držati podalje sve dok se zapravo ne ponašaju i unesu neke stvarne valjane podatke! Više informacija na stranici Stack Overflow

Korak 9: Dok je verzija petlje 2.0 - za

Dok je verzija petlje 2.0 - za
Dok je verzija petlje 2.0 - za

Sigurno postoje neke situacije u kojima će FOR biti srušen do nekog vremena, ali for čini nešto drugo za vas što ne može … Sadrži vrijednost u kojoj će se petljati, zahtijeva od korisnika da postavi raspon petlje (Da, za petlja nikad ne kruži zauvijek i zauvijek … zapravo …), i nosi vrijednost petlje svaki put kad se transformira! Možda sam previše složen, ali uzmite u obzir ovaj primjer, recite da je tm vrijednost koju želite nastaviti s for petljom:

za tm u rasponu (1, 5):

print ("Već sam popio" + tm + "piva urghhh") # Ovo će ispisati "Već sam popio 1 ….5 piva urghhh"

Vidite, štedi vam jedan redak koda, ali će vam znatno olakšati kodiranje igara (vjerujte mi, ovo sam naučio na teži način, a vi ne želite znati za to)! Obično biste trebali ići na FOR petlju ako ste u svom umu jasno definirali koliko puta želite da se kodni blok ponovi. UPOZORENJE: Varijabla koja se nosila zajedno s for petljom postojat će samo unutar for petlje, ako se na nju pozivate bilo gdje izvan for petlje, Python će vas početi gristi i pitati "Na što, dovraga, mislite ???"

Tic-Tac-Toe koristi puno for petlje. Ne možete si priuštiti da provjeravate sve pri svakoj promjeni varijable (prava muka). Ali ono što sam učinio je da sam otkrio pravilo anatomije Tic-Tac-Toe, promijenio vrijednost unutar for petlje, provjerio sva 3 stupca simbola, samo sam morao naučiti Python kako provjeriti jedan! Za dodatna pitanja provjerite Stack Overflow.

Korak 10: Pitajte za unose korisnika - Input ()

Pitajte za unose korisnika - Input ()
Pitajte za unose korisnika - Input ()

Na kraju, ali ne i najmanje važno, vi ste kreator igre i netko će igrati vašu igru! I nikad ne možete pogoditi što namjeravaju. Dakle, ono što možete učiniti je učiniti ono što su vam rekli u programu, dopustite im da izravno unose stvari! Zajedno, INPUT i PRINT vjerojatno bi mogli biti najtemeljnije metode u svakom Pythonu, trebat će vam za preživljavanje (Ima ih u svakom kodu igre, mogu jamčiti 100,00%)! Ovo je dovoljno jednostavno, samo dodijelite varijablu i neka bude što god korisnik želi:

alo = input ("Upišite svoj sretni broj!")

UPOZORENJE: Postoji mnogo vrsta ulaza, više o Stacku Overflow. Uvijek će raditi ako ostavite samo ulaz () tako. No ponekad ćete možda htjeti da bude specifičan poput cjelobrojnog unosa ili unosa s plutanjem (zadani je niz).

lucky_day = int (input ("Da, vaš sretan dan! Ovdje upišite broj:") #Nemojte sada upisivati slova, ne želite #da se petljate s Pythonom!

Tic-Tac-Toe treba hrpu ovoga! Siguran sam da to možete i sami zaključiti, na osnovu toga što znam kamo korisnici idu i na što ciljaju (Dobro ste shvatili, ne znam … ali koristio sam input ()!).

11. korak: Učinite dodatno istraživanje za sve potrebne metode

Uradite dodatno istraživanje za sve potrebne metode!
Uradite dodatno istraživanje za sve potrebne metode!

Da, ne morate znati sve o Pythonu da biste stvorili igru, zapravo morate znati samo dovoljno, počevši od Ultimate 7 (korak 4-10, siguran sam da ćete nekako morati dodirnuti svaku od njih za igra), i ako mislite da svih ovih 7 ne može zadovoljiti ono što radite. Python ima mnogo iznenađenja, a ponekad postoje neke terminološke metode koje su za tu vrlo specifičnu upotrebu, nikad se ne zna. Stoga ih potražite pomoću Googlea ili Stack Overflowa!

Moj Tic-Tac-Toe koristio je svih "velikih sedam" i nešto malo više, ali ne puno. Siguran sam da to može svatko!

Zapišite ih sve na papir i igrajte se sa svime što vam je potrebno za igru, shvatite problem prije nego što se objesite na njega. Osjećate li se dovoljno pripremljeno? Idemo na… zadnji korak !!! ZALIŠI SE SAMO OVDJE, skoro si stigao!

Korak 12: Izradite okvir kostura za svoj kôd koji RADI

Napravite okvir kostura za svoj kod koji RADI!
Napravite okvir kostura za svoj kod koji RADI!

Uopće vas ne želim obeshrabriti, ali ako želite stvoriti igru koja radi za sve, mora prvo legalno raditi, počevši od vas! Prikupite sve potrebne materijale, postavite okvir. Znam da je lakše reći nego učiniti, ali sa svim papirologijama spremnim (ako ste učinili sve kako sam vam rekao), trebali biste biti spremni.

Nemojte odmah gnjaviti sintaksičke pogreške. Važno je da svoj kôd dovršite bez ikakvih prekida, tek kad dođete u slijepu ulicu koju biste trebali zaustaviti. Mi ljudi, osjetljivi smo na tok misli, naišao sam na situaciju da je sve teklo tako glatko i tečno, nego sam otišao u kupaonicu … Sljedeće što sam znao, izgubio sam misao. Pa da, ne ponavljaj za mnom! Spusti sve u glavu dok je još tamo i prvo je svježe.

Proces Tic-Tac-Toe uključuje traženje korisničkog unosa, pomoću input (), use while za pročišćavanje samo valjanih ulaza. Zatim se postavlja skup if elif else, for and while kako bi se svaki put provjerilo postoji li pobjednik. Nitko ne pobjeđuje, a while petlja će igru nastaviti dok se ne zauzme jedno ili svih 9 mjesta, što rezultira izjednačenjem.

Nakon što se uvjerite da je ovo igra, počinjete pokretati program i kasnije tražiti sintaksu ili semantičke pogreške. I opet, najprije napravite igru za sebe, NE budite balistički kreativni prije nego što je vaš izvorni okvir još bio tamo. Sada to obavite i krenite dalje! Vaša igra je tu, što čekate ???

Korak 13: Izvucite se, isprobajte i napravite igru

Izađite vani, isprobajte i napravite igru!
Izađite vani, isprobajte i napravite igru!

To je to! Sve što trebate učiniti je ne potrošiti sve svoje unaprijed trude, već se potrudite! Vjerujem da ako slijedite sve ove korake, bit ćete apsolutno dovoljni za stvaranje igre. Ako ne, ne odustajte, pokušajte; Ovaj Instructable će pomoći svima, ali samo vi možete odlučiti o sudbini vaše IGRE! Zapamtite, ne odustajte, prvo izgradite okvire kostura. Ako postoje neke čudne sintaksne greške koje ne možete vidjeti, potražite pomoć putem Stack Overflow -a, ova stvar mi je ostala debela i tanka!

U svakom slučaju, sretno na vašem Python putovanju, programirajte igru, učinite me ponosnim, jer MI PROGRAMMERZZZZZZZ !!!!!

P/S: Korak 14 za kreativno poticanje!

Korak 14: * DODATNO! * Nakon što vaša verzija 1.0 radi, usmjerena na kreativnost

* DODATNO!* Nakon što vaša verzija 1.0 radi, usmjerena na kreativnost!
* DODATNO!* Nakon što vaša verzija 1.0 radi, usmjerena na kreativnost!

Ako ovo još čitate, odlično! Ne morate, ali samo vas želim obavijestiti nakon što vam sve radi glatko, SAMO nego što možete uređivati kako bi i drugi mogli koristiti vaš program; ponovno ga ukrasite radi prijatnosti igrača; ili nadogradite svoju igru (nadogradio sam svoj Tic-Tac-Toe programiranjem umjetne inteligencije! Sada mi je ovo trebalo tjedan dana (ili 7/8 mog vremena za to)). Svakako upotrijebite i iskoristite Stack Overflow ako se pojavi pitanje. Poželio sam vam svu sreću, dovršite igru, podijelite je u komentaru ispod i proširite pokret kodiranja !!!

PROGRAMIRAMO ZZZ !!!!!

Preporučeni: