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, Juli
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 izuzetno 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 koje stvaraju ovisnost! Sada bi moglo zvučati kao prokleto zastrašujući zadatak kada vam riječ "kodiranje igre" padne na pamet … Ali ne brinite! Kroz ovaj Instructable, bit ćete sa mnom upućeni na 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 preuzmete ovaj nevjerovatni 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 sjedite ispred Python programa i znate tačno šta da kodirate.

Upamtite da je ovo uputstvo za SVE! I ne biste htjeli odabrati neku upornu ideju, poput Asphalt 8 ili FIFA Mobile; Naravno, taj Python je sposoban za sve, ali trebat će vam neko vrijeme da ispovjedite u Pythonu (vjerovatno 2 godine! Ne može se uklopiti u ovaj Instructable *urgh *). Umjesto toga, htjeli biste se boriti s tradicionalnim idejama kao što su Tic-Tac-Toe (koje sam izabrao da vam bude primjer!), Vješala itd. Stvari koje ne zahtijevaju grafiku (grafika će vas odvesti na drugu … ohhhh… ahh drugi svijet, možete probati! Ali ne ovdje jer opet, zaista 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 funkcionira.

Korak 2: Analizirajte svoju igru

Analizirajte svoju igru!
Analizirajte svoju igru!

Nakon što ste odlučili čemu ćete se posvetiti za sljedeću sedmicu kodiranja, vrijeme je da napišete šta 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 da pređem naprijed -nazad između "X" i "O" svaki put kada igrač završi svoj mandat. Morao bih također petljati proces prebacivanja i spremanja poteza dok kasnije ne bude pobjednika, uzimajući u obzir 3 potpuno ista uzastopna simbola u vodoravnom, okomitom ili dijagonalnom smjeru.

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

Korak 3: Oblikujte svoju analizu u "kompjutersku" gramatiku

Oblikujte svoju analizu
Oblikujte svoju analizu

Do sada biste trebali razumjeti kuda igra ide, u vašoj glavi, na vašem jeziku, sa vašom logikom! Pa … računar to neće razumeti; a budući da imamo mnogo više inteligencije, trebali bismo napraviti prvi korak da razgovaramo na njenom jeziku.

Nazad na moj Tic-Tac-Toe kao primjer, pozivajući se na korak 2, da mi prvo treba nekih 9 praznih mjesta za pohranu poteza korisnika. Jedan od načina bi mogao biti da kažete Pythonu da napravi listu koja 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 korištenje uvjeta 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 puca i igra se 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 zadovoljite! 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 Ovo su neki od najsjajnijih odgovora koje svako može dobiti!

ZALIŽITE SE SAMO OVDJE! U sljedećih 7 koraka pokazat ću vam 7 metoda Pythona za koje sam smatrao da su potrebni u svakoj do najjednostavnije igre koja se može igrati! Neka kurs sudara počne!

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

Štampanje izjava, brojeva ili objekata - Print ()
Štampanje izjava, brojeva ili objekata - Print ()

Ovo je vjerovatno najosnovnija stvar u Pythonu! Ako ne možete ništa odštampati, bez obzira na to koliko je vaš program star, svijetu je beskoristan. Način funkcioniranja je: print ([upišite nešto ovdje]). Na primjer, ispisom ("Vi ste pametni") Python će ispisati "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 sa istim navodnikom!). Nastavite se igrati s funkcijom print (), natjerajte Python da odštampa 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 štampe, od ispisivanja ploče i korisničkog sučelja do potvrde statusa igre.

Korak 5: Napravite listu koja će sadržavati različite objekte -

Napravite listu koja sadrži različite objekte -
Napravite listu koja sadrži različite objekte -

Lista sadrži sve varijable koje želite staviti, to je zaista dar koji Python čini! Sada sve što trebate uspostaviti je da mu date ime, stavite uglate zagrade, odvojite varijable zarezima ili ga ostavite praznim (tako da ih kasnije možete dodati) i spremni ste za rad! UPOZORENJE: Ne želite ga nazvati prema nekim metodama ili će doći do sintaksne greške. Ako se ime pojavljuje 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 razmaka o kojoj sam vam pričao? Tu će se koristiti! Prvo će pohraniti sve "-"; a kako igrač u pokretu kosi, njihov simbol će zamijeniti "-". Svi elementi na listi 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 poradite na zamišljanju ovoga 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, lista može biti izuzetno korisna i jednostavnija nego što mislite! Više znanja o Python listi možete pronaći putem Google -a ili Stack Overflow -a.

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

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

Život se ne događa uvijek onako kako vi želite, a ponekad ćete to učiniti samo ako scenarij ispuni vaše zahtjeve. Isto i za Python! Ne biste htjeli da prolazi kroz sve situacije, jer to je prava bol! Zbog toga je uslov if toliko koristan. Funkcionira 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 postojati ELSE za ostale scenarije koji ne odgovaraju prethodno postavljenim uvjetima. Recimo, kad ste tužni, umjesto toga ćete ispisati "Noooo" (nastavak gornje if naredbe):

drugo:

print ("Noooo") #Ali ovo ionako neće odštampati, ne brinite!

Postoji posebna vrsta if u Pythonu koju nazivamo ELIF. Iz samog naziva vjerojatno biste mogli zaključiti da je to kombinacija if i else. Dakle, ako imate dva ili više uslova, 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: Uvlačenje je ovdje važno! Odredit će naredbe kojima pripada naredba if, elif ili else. Zato budite oprezni pri dizajniranju koda! Također možete ugniježditi ako će zajedno izrazi biti uslov koji će se smatrati SAMO kada je krajnji if prvi tačan. 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 uslova - i & Or

Više uslova u potpunosti - i & Or
Više uslova u potpunosti - i & Or

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

n = 5

a = 7

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

print ("Ne, ovo ne treba štampati")

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

print ("Yupp bi trebao ovo odštampati")

Ozbiljno sam koristio i / ili dramatično skratio svoj Tic-Tac-Toe, jer ponekad postoje do 3 uslova odjednom, kada moram uzeti u obzir sve 3 pozicije oznake kako bih utvrdio postoji li pobjednik ili ne. I / ili bi nam 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

Pokrili smo kako štampati, obraditi stvari samo ako je uslov ispunjen. Pa kako bi bilo… da ponovite taj blok više puta, sve dok se uvjet ne ispuni? Da, zato vam Python daje DOKUMENT!

n = 1

dok je n = 1:

print ("hooooo") #Da, ovo će odštampati "hooooo" zauvek … i uvek … zapravo … zauvek … i uvek …

To može biti problem jer ne želite da se vaše naredbe petljaju neograničeno dugo. Dakle, obično kada koristite while, postoji tehnika kojom mijenjate vrijednost stanja svaki put kad se petlja, pa se stanje 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 podesiti vrijeme tako da radi do neke vrste vrijednosti koje će taj broj na kraju doseći:

n = 1

dok je n <5:

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

n = n + 1 #ili možete napisati i 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 (posebno 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 raditi, ali zaslužili ste da znate da ćete uvijek stići!

Iako može biti posebno korisno u igrama poput Tic-Tac-Toe, provjere grešaka. Ponekad si morate priuštiti nestašne korisnike, a ako nastave petljati, while petlja će ih držati podalje sve dok se zaista 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 zbačen s vremena na vrijeme, ali for čini nešto drugo za vas što ne može … On sadrži vrijednost u kojoj će se petljati, zahtijeva od korisnika da postavi raspon petlje (Da, za petlja nikada 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 odštampati "Već sam popio 1….5 piva urghhh"

Vidite, štedi vam jednu liniju 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: Promenljiva koja je preneta zajedno sa for petljom postojaće samo unutar for petlje, ako se na nju pozivate bilo gde izvan for petlje, Python će vas početi gristi i pitati "Na šta, dođavola, mislite ???"

Tic-Tac-Toe koristi mnogo 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 sve 3 kolone 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 ()

I na kraju, ali ne najmanje važno, vi ste kreator igre i neko će igrati vašu igru! I nikad ne možete pogoditi šta namjeravaju. Dakle, ono što možete učiniti je učiniti ono što su rekli vašem programu da uradi, dopustite im da direktno ULAZU stvari! Zajedno, INPUT i PRINT bi mogli biti najtemeljnije metode svakog u Pythonu, trebat će vam za preživljavanje (Ima ih u svakom kodu igre, mogu 100.00% garantirati)! Ovo je dovoljno jednostavno, samo dodijelite varijablu i neka bude ono što korisnik želi:

alo = input ("Unesite svoj sretni broj!")

UPOZORENJE: Postoji mnogo vrsta ulaza, više o Stack Overflow -u. Uvijek će raditi ako ostavite samo input () tako. Ali ponekad ćete možda htjeti da bude specifičan poput cjelobrojnog unosa ili float unosa (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 gomilu ovoga! Siguran sam da to možete i sami zaključiti, na osnovu toga što znam kamo korisnici idu i na šta ciljaju (Dobro ste shvatili, ne znam … ali koristio sam input ()!).

Korak 11: Uradite 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 morati nekako dotaknuti 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. Zato ih potražite pomoću Google -a ili Stack Overflow -a!

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

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. Osećate li se dovoljno pripremljeno? Idemo na… posljednji korak !!! ZALIŽITE SE SAMO OVDJE, skoro ste stigli!

Korak 12: Izgradite okvir kostura za svoj kod koji RADI

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

Ne želim vas nimalo 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 greške. Važno je da svoj kôd dovršite bez ikakvih prekida, tek kad dođete do slijepe ulice koju trebate 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 kupatilo … 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 važećih ulaza. Zatim se postavlja skup if elif else, for and while da se svaki put provjeri ima li pobjednika. Nijedan ne pobjeđuje, a while petlja će igru nastaviti dok se ne zauzme jedno ili svih 9 mjesta, što rezultira izjednačenjem.

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

Korak 13: Izvucite se, isprobajte i napravite igru

Izvucite se vani, testirajte i napravite igru!
Izvucite se vani, testirajte i napravite igru!

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

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 ohrabrenje!

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

* EXTRA!* Nakon što vaša verzija 1.0 funkcionira, usmjerena na kreativnost!
* EXTRA!* Nakon što vaša verzija 1.0 funkcionira, usmjerena na kreativnost!

Ako ovo još čitate, odlično! Ne morate, ali samo vas želim obavijestiti nakon što vam sve funkcionira glatko, SAMO nego što možete uređivati kako bi i drugi mogli koristiti vaš program; ponovo ga ukrasite radi prijatnosti igrača; ili nadogradite svoju igru (nadogradio sam svoj Tic-Tac-Toe programiranjem umjetne inteligencije! Sada mi je ovo trebalo sedmicu (ili 7/8 mog vremena za to) da završim!). Budite sigurni da koristite i upregnite 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 !!!

MI SMO PROGRAMMERZZZZ !!!!!

Preporučuje se: