Obsah:

KÓDUJTE HRU S PYTHONEM (PRO DUMMY!): 14 kroků
KÓDUJTE HRU S PYTHONEM (PRO DUMMY!): 14 kroků

Video: KÓDUJTE HRU S PYTHONEM (PRO DUMMY!): 14 kroků

Video: KÓDUJTE HRU S PYTHONEM (PRO DUMMY!): 14 kroků
Video: NAUČTE SE POČÍTAČOVÉ PROGRAMOVÁNÍ JAZYK C/C++ | ZÁBAVA VYUČOVÁNÍ ONLINE PŘES ZOOM 2024, Červenec
Anonim
KÓDUJTE HRU S PYTHONEM (PRO DUMMY!)
KÓDUJTE HRU S PYTHONEM (PRO DUMMY!)

Vítejte v Pythonu, třetím nejpopulárnějším programovacím jazyce na světě!… A pravděpodobně nejjednodušší! Věděli jste, že Youtube i Google mají jako hlavní jazyk svých vynikajících aplikací a webů Python? DOBŘE … Nyní víte; a měli byste také přijít na to, proč je Python také nesmírně důležitý pro budoucnost éry moderní technologie 4.0!

Možná si také uvědomujete, že odvětví kódování her se daří více než kdy jindy, protože v dnešní době se stále více lidí dostává k vlastním smartphonům. A Python je docela ideální kódovací jazyk, který lze použít pro jednoduché … přesto, pokud jsou dobře naprogramované, návykové hry! Teď to může znít jako zatraceně skličující úkol, když vás napadne slovo „kódování hry“… Ale nebojte se! Prostřednictvím tohoto Instructable se se mnou dostanete na tuto cestu o tom, jak plně kódovat jednoduchou hru, od A do Z, pro každého, rychle a stručně, bez placení!

Pokud jste ještě neměli Python, klikněte ZDE a stáhněte si tento úžasný jazyk (a také zvíře! Tuším …). Je to zcela zdarma. Jakmile budete hotovi, čas na zábavu!

Krok 1: Pochopte, jakou hru budete dělat

Pochopte, jakou hru budete dělat!
Pochopte, jakou hru budete dělat!

Je důležité, abyste seděli před programem Python a přesně věděli, co kódovat.

Pamatujte, že tento Instructable je pro KAŽDÉHO! A nechtěli byste si vybrat nějaký zarytý nápad, jako je Asphalt 8 nebo FIFA Mobile; Python je samozřejmě schopen všeho, ale vyznat se v Pythonu vám bude nějakou dobu trvat (pravděpodobně 2 roky! Na tento Instructable *urgh *se nevešel). Místo toho byste chtěli bojovat s tradičními nápady, jako je Tic-Tac-Toe (který jsem vám vybral jako příklad!), Hangman atd. Věci, které nevyžadují grafiku (grafika vás přenese do jiného … ohhhh… Ach, jiný svět, můžete to zkusit! Ale ne tady, protože znovu, to opravdu chce čas). Zamyslete se nad tím, co vás inspiruje, hra, ke které k ní můžete mít nějaké zvláštní přílohy, nebo hra, u které přesně víte, jak funguje.

Krok 2: Analyzujte svou hru

Analyzujte svoji hru!
Analyzujte svoji hru!

Poté, co jste se rozhodli, čemu se budete věnovat příští týden kódování, měli byste si napsat, co hra vyžaduje, abyste měli lepší představu o tom, jak je hra nastavena!

Například můj 3x3 Tic-Tac-Toe by potřeboval 9 prázdných míst, kde by uživatelé mohli tisknout buď „X“nebo „O“. Pak bychom potřebovali dalších 9 mezer, které by odpovídaly a ukládaly pohyby uživatelů. Měl bych co dělat, abych přepínal tam a zpět mezi „X“a „O“pokaždé, když hráč skončí své funkční období. Také bych musel opakovat proces přepínání a ukládání tahů, dokud nebude později vítěz, zvážením 3 přesně stejných po sobě jdoucích symbolů v horizontálním, vertikálním nebo diagonálním směru.

V podstatě to je ono! Nemusíte dělat víc než to … zatím za předpokladu, že nemáte žádné předchozí zkušenosti s velmi malými znalostmi o Pythonu! Nyní … další krok bude vyžadovat, abyste se hodně ptali, jak převést to, co jste analyzovali … na kód!

Krok 3: Zformulujte svou analýzu do gramatiky „výpočetní techniky“

Tvarujte svou analýzu do
Tvarujte svou analýzu do

Teď už byste měli pochopit, kam hra směřuje, ve vaší hlavě, ve vašem jazyce, s vaší logikou! No … počítač to nepochopí; a protože máme mnohem více inteligence, měli bychom udělat první krok mluvit v jeho jazyce.

Zpět na můj Tic-Tac-Toe jako příklad, s odkazem na krok 2, že to, co potřebuji jako první, je asi 9 prázdných míst pro uložení tahů uživatelů. Jedním ze způsobů by mohlo být říct Pythonu, aby vytvořil seznam obsahující 9 mezer! A jak uživatelé zadávají své tahy, nahradíte právě toto místo buď „X“nebo „O“. V Pythonu mohu použít několik druhů smyčkových funkcí, které mi pomohou tento proces mnohokrát opakovat, dokud nedojde k remíze nebo … vítězi! Způsob, jakým určuji vítěze, je použít podmínku, že hra bude pokračovat ve své smyčce, pokud se nic nestane, nebo pokud je obsazeno všech 9 polí nebo je vítěz, smyčka praskne a hra končí!

Tento krok je, není třeba se hádat, nejtěžším krokem v celém tomto Instructable! Nyní musíte použít lidskou logiku, abyste zjistili, jak můžete převést to, co jste napsali, do Pythonu. Nemusíte se starat o to, zda je Python schopen zvládnout veškerou vaši představivost, má dostatek kódovacích materiálů, které můžete uspokojit! Pokud nemůžete najít cestu (což by obvykle byl případ), vyhledávač, který doporučuji, je Stack Overflow, je to malá komunita, kde se lidé obvykle ptají na ty nejabsurdnější otázky, jaké jsem kdy viděl, a také kde tam To jsou některé z nejskvělejších odpovědí, které z toho může každý získat!

PŘILIŽTE SE SE MNOU ZDE! V následujících 7 krocích vám ukážu 7 metod Pythonu, které jsem považoval za nezbytné v každé nejjednodušší hratelné hře! Nechte nárazový kurz začít!

Krok 4: Tisk výpisů, čísel nebo objektů - tisk ()

Tisk výpisů, čísel nebo objektů - tisk ()
Tisk výpisů, čísel nebo objektů - tisk ()

Toto je pravděpodobně nejzásadnější věc v Pythonu! Pokud nemůžete tisknout nic, pak bez ohledu na to, jak hvězdný je váš program, je světu k ničemu. Funguje to takto: tisk ([sem něco napište]). Například tisk („Jsi chytrý“) způsobí, že Python vytiskne „Jsi chytrý“(VAROVÁNÍ: Nezáleží na tom, jestli používáte jednoduché uvozovky nebo dvojité uvozovky, musíte použít jeden z nich a musíte začít a ukončit řetězec se stejným citátem!). Hrajte dál s funkcí print (), nechte Python vytisknout cokoli, co vám udělá dobrý pocit (To bych udělal!). Dokud nebudete mít pocit, že můžete přejít k dalšímu kroku, můžete provést další průzkum tisku () pro hlubší porozumění, pokud je to žádoucí, prostřednictvím Google nebo Stack Overflow.

tisk („Ach jo, jsem tady!“)

tisk ('Jsem tak dobrý omg')

P/S: Dvojité uvozovky můžete vložit do bariéry s jednoduchými uvozovkami a naopak, ale nedávejte do sebe to samé, nebo … uvidíte, co tím myslím!

Můj projekt Tic-Tac-Toe… samozřejmě vyžaduje hodně tisku, od vytištění desky a uživatelského rozhraní až po potvrzení stavu hry.

Krok 5: Vytvořte seznam, který bude obsahovat různé objekty -

Vytvořit seznam obsahující různé objekty -
Vytvořit seznam obsahující různé objekty -

Seznam obsahuje všechny proměnné, do kterých ho chcete vložit, je to opravdu dárek, který Python dělá! Nyní vše, co potřebujete k vytvoření, je pojmenovat, dát hranaté závorky, oddělit proměnné čárkami nebo také nechat pole prázdné (abyste je mohli připojit později) a můžete začít! UPOZORNĚNÍ: Nechcete to pojmenovat po některých metodách, jinak dojde k chybě syntaxe, pokud se jméno objeví v jiných barvách než v černé, váš zvonek by měl být zapnut hned!

dalist = [5, 7, "Jsem hezký", 12 + 1, 3.141592657]

nebo…

dalist =

dalist.append (5) #now dalist má jako svůj prvek [5]!

Pamatujete si desku s 9 vesmírnými místy, o které jsem vám řekl? Tady se bude používat! Nejprve bude ukládat všechna „-“; a jak hráč v tahu sekne, jejich symbol nahradí „-“. Všechny prvky v seznamu začínají od 0, takže 0 odkazuje na 1. prvek, 1 odkazuje na 2. prvek atd. Ideálním příkladem by bylo: prosím pracně si představte toto, že 3 místa 0, 1, 2 jsou první řadou desky 3x3. Pokud dalist [0] a dalist [1] a dalist [3] všechny odkazují na stejný symbol, pak máme vítěze! Podívejte se, seznam může být velmi užitečný a jednodušší, než si myslíte! Další informace o seznamu Pythonu lze získat prostřednictvím Google nebo Stack Overflow.

Krok 6: Stanovte podmínky pro příkazy - If, Elif & Else

Stanovte podmínky pro příkazy - If, Elif & Else
Stanovte podmínky pro příkazy - If, Elif & Else

Život se ne vždy odehrává tak, jak byste chtěli, a někdy to uděláte jen tehdy, když scénář splní váš požadavek. Totéž pro Python! Nechtěli byste, aby to prošlo vším a každou situací, protože to je skutečná bolest! Proto je podmínka if tak užitečná. Funguje to přesně tak, jak je interpretováno, příkaz (y) uvnitř, že pokud bude blok proveden pouze IF, pouze pokud splňuje to, co požadujete. Například vytisknete pouze prohlášení „Yessss“, POKUD je váš šťastný režim pravdivý (za předpokladu, že identifikátor je již předem deklarován):

šťastný = pravda

pokud je šťastný == pravda:

tisk ("Yessss")

Pokud existuje IF, obvykle bude existovat JINÝ pro ostatní scénáře, které neodpovídají dříve stanoveným podmínkám. Řekněme, že když jste smutní, místo toho vytisknete „Noooo“(pokračování příkazu if výše):

jiný:

tisk ("Noooo") #Ale to stejně nevytiskne, nebojte se!

V Pythonu existuje speciální typ if, kterému říkáme ELIF. Už ze samotného názvu byste asi mohli vytušit, že jde o kombinaci if a else. Pokud tedy máte dvě nebo více podmínek, elif je ten, kterému zavoláte (předpokládané skóre je před tím přiřazeno některým náhodným číslům):

skóre = 65

pokud skóre> = 90:

tisk („Dobrá práce!“)

elif 80 <= skóre <90:

tisk („Hodně úsilí!“)

elif 70 <= skóre <80:

tisk („Mohlo to být lepší!“)

jiný:

tisk („No ……“)

UPOZORNĚNÍ: Zde záleží na odsazení! Určuje příkazy, ke kterým patří příkaz if, elif nebo else. Buďte tedy při navrhování kódu opatrní! Můžete také vnořit, pokud budou příkazy společně, podmínka by byla považována POUZE za předpokladu, že krajní if je pravdivá. A znovu … Odsazení!

Ve svém projektu Tic-Tac-Toe jsem jich doslova použil tuny. Hra 3x3 může znít dostatečně jednoduše, ale budete muset zvážit spoustu scénářů, které by mohly nastat. V tomto případě musím zvážit, zda je či není vítěz, zaškrtnutím 3 po sobě jdoucích značek ve všech směrech. Ano … teď se nenechte zmást, protože to také není tak složité, je to jen řada nadbytečných kódů a vše, co musíte udělat, je změnit jeho kontrolní oblast a je hotovo! Podrobnější informace o tomto tématu získáte kliknutím na Přetečení zásobníku.

Krok 7: Celkem více podmínek - a & Or

Celkem více podmínek - a & Or
Celkem více podmínek - a & Or

Kdo řekl, že jedna podmínka může být vždy jen podmínkou? Jedna podmínka může mít také více kritérií. Přestože příkaz nested if může být krátkodobým řešením, kód je podstatně delší. Existují tedy metody AND & OR. Všechny jsou použity ke spojení podmínek dohromady do jedné velké smlouvy. Jediným rozdílem mezi nimi je to, že vyžaduje, aby všechny podmínky v tomto příkazu if byly správné, než se pohnete dále; zatímco nebo pouze jeden z nich musí být správný. Oba mohou být velmi užitečné, jsou -li použity správně, jsou moudré, nebo by tyto dva mohly ve skutečnosti narušit logiku vašeho mozku!

n = 5

a = 7

pokud n == 5 a a == 6:

tisk („Ne, toto bych neměl tisknout“)

pokud n == 3 nebo a == 7:

tisk („Ano, toto by měl vytisknout“)

Vážně jsem použil a / nebo dramaticky zkrátil svůj Tic-Tac-Toe, protože někdy existují až 3 podmínky najednou, když musím zvážit všechny 3 pozice značky, abych určil, zda je vítěz nebo ne. A & nebo by se to hodilo! Další podrobnosti naleznete na stránce Přetečení zásobníku.

Krok 8: Smyčka, která se opakuje, dokud nejsou splněna kritéria - zatímco

Smyčka, která opakuje příkazy, dokud nejsou splněna kritéria - zatímco
Smyčka, která opakuje příkazy, dokud nejsou splněna kritéria - zatímco

Prošli jsme si, jak tisknout, zpracovávat věci, jen když je splněna podmínka. Tak co … opakovat ten blok mnohokrát, dokud není splněna podmínka? Ano, proto vám Python dává WHILE!

n = 1

zatímco n = 1:

tisk ("hooooo") #Ano, tohle bude tisknout "hooooo" navždy … a vždy … vlastně … navždy … a vždy …

To může být problém, protože nechcete, aby se vaše příkazy neomezeně opakovaly. Obvykle tedy při použití while existuje technika, kterou změníte hodnotu podmínky pokaždé, když se smyčka změní, takže se podmínka aktualizuje a dokud někdy nebude potřebovat kritéria, nakonec se zastaví. Můžete například přidat hodnotu k sobě po jedné jednotce najednou a poté nastavit, aby fungovala, dokud nebudou nějaké hodnoty, kterých číslo nakonec dosáhne:

n = 1

zatímco n <5:

tisk („Mám“+ n + „pivo boiiiii!“)

n = n + 1 #nebo můžete také napsat n + = 1

Jak to bude fungovat, n se bude stále přidávat k 1 na konci každého bloku kódu. Smyčka while se bude opakovat tak dlouho, dokud bude n stále menší než 5. Nyní až do jednoho okamžiku (konkrétně 4krát do smyčky) n dosáhne hodnoty 5 a smyčka se zastaví!

šťastný = pravda

zatímco šťastný:

tisk („Jé, to jsem udělal!“) # Ve skutečnosti to nedělejte, ale zasloužili jste si vědět, že se tam vždy dostanete!

Zatímco může být obzvláště užitečné ve hrách, jako je Tic-Tac-Toe, kontrola chyb. Někdy si musíte dovolit rozpustilé uživatele, a pokud se budou dál motat, smyčka while je udrží v šachu, dokud se nebudou chovat skutečně sami a zadávat nějaké skutečně platné vstupy! Více informací na Stack Overflow

Krok 9: While Loop verze 2.0 - Pro

While Loop Verze 2.0 - Pro
While Loop Verze 2.0 - Pro

Určitě existují určité situace, kdy FOR bude sesazen z doby, ale pro co pro vás udělá něco jiného, co když nemůže … Drží hodnotu, ve které se bude smyčka opakovat, požaduje, aby uživatel stanovil rozsah opakování (Ano, pro smyčka nikdy smyčka navždy a navždy … vlastně …), a přenášejte hodnotu smyčky pokaždé, když se transformuje! Nyní jsem možná příliš rozvláčný, ale vezměte v úvahu tento příklad, řekněme tm je hodnota, kterou chcete ve smyčce for pokračovat:

pro tm v rozsahu (1, 5):

tisk („Už jsem měl“+ tm + „piva urghhh“) # Tím se vytiskne „Už jsem měl 1… 0,5 piva urghhh“

Podívejte se, ušetří vám to jeden řádek kódu, ale značně usnadní život při kódování her (věřte mi, naučil jsem se to tvrdě a vy o tom nechcete vědět)! Obvykle byste měli jít do smyčky FOR, pokud jste si v mysli jasně definovali, kolikrát chcete, aby se blok kódu opakoval. UPOZORNĚNÍ: Proměnná, která byla přenášena spolu se smyčkou for, bude existovat pouze v samotné smyčce for, pokud se na ni odvoláte kdekoli mimo smyčku for, Python vás začne kousat a zeptat se „Co to sakra máte na mysli ???"

Tic-Tac-Toe používá hodně for smyčky. Nemůžete si dovolit kontrolovat vše pokaždé, když se změní proměnná (skutečná bolest). Ale to, co jsem udělal, bylo objevit pravidlo anatomie Tic-Tac-Toe, změnit hodnotu ve smyčce for a zkontrolovat všechny 3 sloupce symbolů, přičemž musím pouze naučit Python, jak jeden zkontrolovat! Nezapomeňte se podívat na Stack Overflow, kde najdete další otázky.

Krok 10: Požádejte o vstupy uživatelů - vstup ()

Požádat o vstupy uživatelů - vstup ()
Požádat o vstupy uživatelů - vstup ()

V neposlední řadě jste tvůrcem hry a někdo bude hrát vaši hru! A nikdy nemůžete hádat, o co jim jde. Co tedy můžete udělat, je udělat to, co řekli vašemu programu, ať je přímo VSTUPUJE! Společně INPUT a PRINT mohou být pravděpodobně nejzákladnějšími metodami v Pythonu, budete je potřebovat k přežití (Jsou v každém herním kódu, mohu 100,00% záruku)! To je dost jednoduché, stačí přiřadit proměnnou a nechat ji být jakoukoli, kterou si uživatel přeje:

alo = vstup („Zadejte své šťastné číslo!“)

UPOZORNĚNÍ: Existuje mnoho typů vstupů, více o přetečení zásobníku. Budou vždy fungovat, pokud to necháte jen input () takhle. Někdy však můžete chtít, aby byl konkrétní, jako je celočíselný vstup nebo float vstup (výchozí je řetězec).

lucky_day = int (zadejte („Ano, váš šťastný den! Sem zadejte číslo:“) #Nepište nyní písmena, nechcete, #abyste si pohrávali s Pythonem!

Tic-Tac-Toe toho potřebuje spoustu! Jsem si jistý, že to dokážete sami, z toho, jak vím, kam uživatelé jdou a na co se zaměřují (pochopili jste to správně, nevím … ale použil jsem input ()!).

Krok 11: Proveďte další průzkum všech metod, které potřebujete

Proveďte další průzkum všech metod, které potřebujete!
Proveďte další průzkum všech metod, které potřebujete!

Ano, k vytvoření hry nemusíte o Pythonu vědět všechno, ve skutečnosti potřebujete vědět jen dost, počínaje Ultimate 7 (krok 4-10, jsem si jistý, že se nějakým způsobem budete muset dotknout každého hra), a jinak, pokud si nemyslíte, že všech těchto 7 může uspokojit to, co děláte. Python má spoustu překvapení a někdy existují nějaké terminologické metody, které jsou pro toto velmi specifické použití, nikdy nevíte. Určitě je tedy vyhledejte pomocí Google nebo Stack Overflow!

Můj Tic-Tac-Toe použil všechny „velké sedmičky“a ještě něco málo, ale ne moc. Jsem si jistý, že to zvládne každý!

Nezapomeňte si je všechny zapsat na papír a hrát si se vším, co k hraní potřebujete, porozumět problému, než se na něj oběsíte. Cítíte se dostatečně připraveni? Přejděme k … poslednímu kroku !!! PŘILIŽTE SE SE MNOU, jste skoro tam!

Krok 12: Vytvořte kostru rámce pro váš kód, který FUNGUJE

Vytvořte kostru pro svůj kód, který FUNGUJE!
Vytvořte kostru pro svůj kód, který FUNGUJE!

Vůbec vás nechci odradit, ale pokud chcete vytvořit hru, která funguje pro všechny, musí nejprve legitimně fungovat, počínaje vámi! Shromážděte všechny potřebné materiály a vytvořte rámec. Vím, že se to snadněji řekne, než udělá, ale když jsou připraveny všechny papíry (Pokud jste udělali něco, co jsem vám řekl), měli byste být v pořádku.

Neobtěžujte syntaktické chyby hned na začátku. Je důležité, abyste svůj kód dokončili bez přerušení, pouze když dosáhnete slepé uličky, kterou byste měli zastavit. My lidé, jsme citliví na myšlenkové toky, setkal jsem se se situací, kdy vše plynulo tak hladce a plynule, než jsem šel do koupelny … Další věc, kterou jsem věděl, jsem tu myšlenku ztratil. Takže ano, neopakujte to po mně! Odložte vše v hlavě, dokud je stále tam a čerstvé.

Proces Tic-Tac-Toe zahrnuje požadavek na vstup uživatele, pomocí input (), use while vyčistí pouze platné vstupy. Poté je stanovena sada if elif else, for and while, aby se pokaždé zkontrolovalo, zda existuje vítěz. Žádný nevyhrává a smyčka while bude pokračovat ve hře, dokud nebude obsazeno jedno nebo všech 9 polí, což povede k remíze.

Poté, co se ujistíte, že toto JE HRA, spustíte program a později budete hledat syntaxe nebo sémantické chyby. A znovu, nejprve vytvořte hru pro sebe, NEPOUŽÍVEJTE všechny balistické kreativy, dokud tam ještě nebyl váš původní rámec. Nyní to udělejte a pokračujte! Vaše hra je k dispozici, na co čekáte ???

Krok 13: Dostaňte se tam, vyzkoušejte si a udělejte ze sebe HRA

Dostaňte se tam, vyzkoušejte si a udělejte ze sebe HRA!
Dostaňte se tam, vyzkoušejte si a udělejte ze sebe HRA!

A je to! Jediné, co teď musíte udělat, je neztratit veškeré své předchozí úsilí, dát se tam! Věřím, že pokud budete postupovat podle všech těchto kroků, budete naprosto dostačující k vytvoření hry. Pokud ne, nevzdávejte to, zkuste; Tento Instructable má pomoci všem, ale pouze vy můžete rozhodnout o osudu vaší HRY! Pamatujte, nevzdávejte to, nejprve postavte kostrové rámy. Pokud se vyskytnou nějaké podivné chyby syntaxe, které nevidíte, vyhledejte pomoc prostřednictvím Stack Overflow, tato věc se mě držela skrz naskrz!

Každopádně na závěr, hodně štěstí na vaší cestě za Pythonem, naprogramujte hru, buďte na mě hrdí, protože JSME PROGRAMMERZZZZZZZ !!!!!

P/S: Krok 14 pro kreativní povzbuzení!

Krok 14: * EXTRA! * Poté, co vaše verze 1.0 funguje, zaměřená na kreativitu

* EXTRA!* Poté, co vaše verze 1.0 funguje, zaměřená na kreativitu!
* EXTRA!* Poté, co vaše verze 1.0 funguje, zaměřená na kreativitu!

Pokud to stále čtete, skvělé! Nemusíte, ale chci vám dát vědět, až vám vše bude fungovat hladce, POUZE než můžete upravovat, aby váš program mohli používat i ostatní; znovu jej vyzdobte, aby byl pro hráče přívětivý; nebo upgradujte svoji hru (upgradoval jsem svůj Tic-Tac-Toe programováním AI! Nyní mi to trvalo týden (nebo 7/8 mého času))! Pokud nastane nějaká otázka, určitě použijte a využijte Stack Overflow. Popřál jsem vám hodně štěstí, dokončete svou hru, podělte se o ni v níže uvedeném komentáři a rozšířte kódovací hnutí !!!

JSME PROGRAMMERZZZZ !!!!!

Doporučuje: