Съдържание:

КОДИРАТЕ ИГРА С ПИТОН (ЗА ДУМИ!): 14 стъпки
КОДИРАТЕ ИГРА С ПИТОН (ЗА ДУМИ!): 14 стъпки

Видео: КОДИРАТЕ ИГРА С ПИТОН (ЗА ДУМИ!): 14 стъпки

Видео: КОДИРАТЕ ИГРА С ПИТОН (ЗА ДУМИ!): 14 стъпки
Видео: Python на практике / Пишем 3 программы на Питон за 5 минут 2024, Юли
Anonim
КОДИРАТЕ ИГРА С ПИТОН (ЗА ДУМИ!)
КОДИРАТЕ ИГРА С ПИТОН (ЗА ДУМИ!)

Добре дошли в Python, третият най-популярен език за програмиране в света! … и може би най-простият! Знаете ли, че и Youtube, и Google имат Python като основен език за своите изпълнени приложения и уебсайтове, които виждате? Е … Сега знаете; и вие също трябва да разберете защо Python е изключително важен и за бъдещето на The 4.0 Modern Technology Era!

Може също да сте наясно, че индустрията за кодиране на игри процъфтява повече от всякога, тъй като все повече хора в наши дни придобиват собствени смартфони. И Python е доста идеален език за кодиране, който може да се използва за прости … но ако са добре програмирани, пристрастяващи игри! Сега може да звучи като адски обезсърчаваща задача, когато думата „кодиране на игра“ви хрумне… Но не се притеснявайте! Чрез тази инструкция ще бъдете настроени на това пътуване с мен за това как да кодирате напълно проста игра, от А до Я, за всички, бързо и кратко, без да плащате!

Ако все още не сте имали Python, щракнете ТУК, за да изтеглите този невероятен език (и животно също! Предполагам …). Това е напълно безплатно. След като приключите, време за малко забавление!

Стъпка 1: Разберете каква игра ще правите

Разберете каква игра ще правите!
Разберете каква игра ще правите!

От решаващо значение е да седнете пред програма на Python, знаейки какво точно да кодирате.

Не забравяйте, че тази инструкция е за ВСИЧКИ! И вие не бихте искали да изберете някаква уморена идея като Asphalt 8 или FIFA Mobile; Разбира се, този Python е способен на всичко, но ще ви отнеме известно време, за да изповядате в Python (вероятно 2 години! Не може да се побере в този Instructable *urgh *). Вместо това бихте искали да се борите с традиционни идеи като Tic-Tac-Toe (които избрах да ви дам за пример!), Hangman и т.н. ах, друг свят, можете да опитате! Но не тук, защото отново, наистина отнема време). Помислете какво ви вдъхновява, игра, към която може да имате някакви специални привързаности, или игра, за която знаете точно как работи.

Стъпка 2: Анализирайте играта си

Анализирайте играта си!
Анализирайте играта си!

След като сте решили на какво ще се посветите за евентуално следващата седмица на кодиране, време е да напишете какво изисква играта, за да имате по -добра представа как е настроена играта!

Например моят 3x3 Tic-Tac-Toe ще се нуждае от 9 празни пространства, където потребителите могат да печатат или в "X", или в "O". След това ще ни трябват още 9 заготовки, за да съответстват и да запазят ходовете на потребителите. Трябва да направя нещо, за да превключвам напред и назад между „X“и „O“всеки път, когато играч прекрати своя мандат. Също така ще трябва да завъртя процеса на превключване и запазване на ходовете, докато по -късно няма победител, като разгледам 3 точно еднакви последователни символа в хоризонтална, вертикална или диагонална посока.

По принцип това е всичко! Не е нужно да правите повече от това … все пак, ако приемем, че нямате предишен опит с много малко познания за Python! Сега … следващата стъпка ще изисква да се питате много за това как да преобразувате анализираното … в код!

Стъпка 3: Оформете своя анализ в „компютърна“граматика

Оформете своя анализ
Оформете своя анализ

Досега трябва да разберете накъде върви играта, в главата ви, на вашия език, с вашата логика! Е … компютърът няма да го разбере; и тъй като имаме много повече интелигентност, трябва да направим първия ход, за да говорим на нейния език.

Назад към моя Tic-Tac-Toe като пример, позовавайки се на Стъпка 2, че това, от което се нуждая първо, са около 9 празни пространства за съхранение на ходовете на потребителите. Един от начините може да бъде да се каже на Python да направи списък, съдържащ 9 -те интервала! И докато потребителите въвеждат ходовете си, вие замествате това пространство с "X" или "O" на свой ред. Мога да използвам някои видове циклични функции в Python, за да помогна за повтарянето на процеса многократно, докато има равенство или … победител! Начинът, по който определям победителя, е да използвам условие, че играта ще продължи в своя цикъл, ако нищо не се случи, или ако всички 9 места са заети или има победител, цикълът се щрака и играта приключва!

Тази стъпка е, няма нужда да спорите, най -трудната стъпка в цялата тази инструкция! Сега трябва да използвате човешката логика, за да видите как можете да преобразувате написаното от вас в Python. Не е нужно да се притеснявате дали Python е способен да се справи с цялото ви въображение, има достатъчно кодиращи материали, за да можете да го задоволите! Ако не можете да намерите пътя (което обикновено би било така), търсачката, която супер препоръчвам, е Stack Overflow, това е малка общност, в която хората обикновено се чудят най -абсурдните въпроси, които съм виждал, а също и там, където има са някои от най -блестящите отговори, които всеки може да спечели от него!

ЗАЛЕПЕТЕ С МЕН ТУК! Следващите 7 стъпки, ще ви покажа 7 метода на Python, които смятах за всички необходими във всяка до най-простата игра с възможност за игра! Нека курсът за катастрофата започне!

Стъпка 4: Отпечатване на изявления, числа или обекти - Print ()

Отпечатване на изявления, числа или обекти - Print ()
Отпечатване на изявления, числа или обекти - Print ()

Това е може би най -фундаменталното нещо някога в Python! Ако не можете да отпечатате нищо, тогава колкото и звездна да е вашата програма, тя е безполезна за света. Начинът, по който работи е: print ([напишете нещо тук]). Например print ('You are smart') ще накара Python да отпечата "You are smart" (ВНИМАНИЕ: Няма значение дали използвате единични кавички или двойни кавички, трябва да използвате един от тях и трябва да започнете и завършите низ със същия цитат!). Продължавайте да играете с функцията print (), накарайте Python да отпечата каквото и да ви накара да се чувствате добре (Това бих направил!). Докато не почувствате, че можете да преминете към следващата стъпка, можете да направите допълнително проучване относно print () за по -задълбочено разбиране, ако желаете, чрез Google или Stack Overflow.

print ("Yayyyy, аз съм тук!")

print ('Аз съм толкова добър omg')

P/S: Можете да поставите двойни кавички в бариерата с единични кавички и обратно, но не поставяйте едно и също нещо един в друг или … ще видите какво имам предвид!

Моят проект Tic-Tac-Toe … разбира се, изисква много печат, от разпечатване на дъската и потребителския интерфейс до потвърждаване на състоянието на играта.

Стъпка 5: Създайте списък, който да съдържа различни обекти -

Създайте списък, който да съдържа различни обекти -
Създайте списък, който да съдържа различни обекти -

Списъкът съдържа всички променливи, в които искате да го поставите, това наистина е подарък, който прави Python! Сега всичко, което трябва да създадете, е да му дадете име, да поставите квадратни скоби, отделни променливи със запетаи или също да го оставите празно (за да можете да ги добавите по -късно) и сте готови! ПРЕДУПРЕЖДЕНИЕ: Не искате да го кръстите след някои методи или ще има синтаксична грешка, ако името се появи в цветове, различни от черни, звънецът ви трябва да бъде включен веднага!

dalist = [5, 7, "аз съм красив", 12 + 1, 3.141592657]

или…

далист =

dalist.append (5) #now dalist има [5] за свой елемент!

Помните ли дъската с 9 пространства, за която ви разказах? Това е мястото, където ще се използва! Първоначално ще съхранява всички "-"; и когато играчът се наклони в хода, техният символ ще замени "-". Всички елементи в списък започват от 0, така че 0 се отнася до 1 -ви елемент, 1 се отнася до 2 -ри елемент и т.н. Идеален пример би бил: моля, поработете усилено, за да си представите това тук, че 3 -те места 0, 1, 2 са първият ред на дъската 3x3. Ако dalist [0] и dalist [1] и dalist [3] всички се отнасят до един и същ символ, тогава имаме победител! Вижте, списъкът може да бъде изключително полезен и по -прост, отколкото си мислите! Повече знания за списъка на Python можете да намерите чрез Google или Stack Overflow.

Стъпка 6: Установете условие (и) за команди - If, Elif & Else

Установете условие (и) за команди - If, Elif & Else
Установете условие (и) за команди - If, Elif & Else

Животът не винаги се случва така, както искате, и понякога ще направите това само ако сценарият отговаря на вашите изисквания. Същото и за Python! Не бихте искали да мине през всички ситуации, защото това е истинска болка! Ето защо условието if е толкова полезно. Работи точно както се интерпретира, командата (ите) вътре, че ако блокът ще се изпълнява само ако отговаря само на това, което искате. Например, ще отпечатате само израза "Yessss" АКО щастливият ви режим е истина (ако идентификаторът вече е деклариран предварително):

щастлив = вярно

ако съм щастлив == вярно:

print ("Yessss")

Ако има IF, обикновено ще има ELSE за останалите сценарии, които не отговарят на условието, посочено по -рано. Кажете, когато сте тъжни, вместо това ще отпечатате „Noooo“(продължение на изявлението if по -горе):

иначе:

print ("Noooo") #Но така или иначе няма да отпечата това, не се притеснявайте!

Има специален тип ако в Python го наричаме ELIF. От самото име вероятно бихте могли да разберете, че това е комбинацията от if и else. Така че, ако имате две или повече условия, elif е човекът, когото бихте повикали (предполагаем резултат е присвоен на някои случайни числа преди това):

резултат = 65

ако резултат> = 90:

print ("Добра работа!")

elif 80 <= резултат <90:

print ("Добро усилие!")

elif 70 <= резултат <80:

print ("Можеше да бъде по -добре!")

иначе:

print ("Ами …….")

ВНИМАНИЕ: Отстъпът има значение тук! Той ще определи командите, към които принадлежи израза if, elif или else. Затова бъдете внимателни при проектирането на вашия код! Можете също така да вложите, ако изявленията заедно трябва да се считат за условие само когато най -външното if е вярно първо. И отново … Отстъп!

В моя проект Tic-Tac-Toe буквално използвах тонове от тях. Играта 3x3 може да звучи достатъчно просто, но ще трябва да обмислите куп сценарии, които биха могли да се случат. В този случай трябва да преценя дали има победител или не, като проверя 3 -те последователни точки във всички посоки. Да… сега не се обърквайте, защото и това не е толкова сложно, това е просто поредица от излишни кодове и всичко, което трябва да направите, е да промените неговата област за проверка и готово! Повече подробни познания по тази тема щракнете върху Препълване на стека.

Стъпка 7: Още условия като цяло - и & Or

Още условия като цяло - и & Or
Още условия като цяло - и & Or

Кой каза, че едно условие винаги може да бъде само условие? Едно единствено условие също може да има множество критерии. Макар и да е вложен, ако операторът може да бъде краткосрочно решение, той прави кода значително по-дълъг. Така че има методите AND & OR. Всички те се използват за комбиниране на условия заедно в един голям договор. Единствената разлика между тях е, че и изисква всички условия в това, ако изявлението if е правилно, преди да продължите; докато или само се нуждае от един от тях, за да е правилен. И двете могат да бъдат много полезни, ако се използват правилно, бъдете мъдри или тези две всъщност могат да се забъркат с мозъчната ви логика!

n = 5

а = 7

ако n == 5 и a == 6:

печат ("Не, не трябва да се отпечатва това")

ако n == 3 или a == 7:

печат ("Yupp трябва да отпечата това")

Аз сериозно използвах и / или драстично съкратих своя Tic-Tac-Toe, тъй като понякога има до 3 условия наведнъж, когато трябва да разгледам и трите позиции на марката, за да определя дали има победител или не. И / или щеше да е супер удобно! За повече подробности посетете Stack Overflow.

Стъпка 8: Цикъл, който повтаря команди, докато не бъдат изпълнени критериите - Докато

Цикъл, който повтаря командите, докато не бъдат изпълнени критериите - Докато
Цикъл, който повтаря командите, докато не бъдат изпълнени критериите - Докато

Разгледахме как да печатаме, обработваме нещата само когато условието е вярно. И така, какво ще кажете … да повторите този блок многократно, чак докато условието не бъде изпълнено? Да, затова Python ви дава ДОКАТО!

n = 1

докато n = 1:

print ("hooooo") #Да, това ще отпечата "hooooo" завинаги … и винаги … всъщност … завинаги … и винаги …

Това може да е проблем, защото не искате вашите команди да се циклират за неопределено време. Така че обикновено, когато използвате while, има техника, при която променяте стойността на условието всеки път, когато се затвори, така че условието се актуализира и докато някога, когато се нуждае от критериите, в крайна сметка ще спре. Например, можете да добавите стойността към себе си една единица в даден момент, след което да настроите времето да работи до някакъв вид стойности, които числото в крайна сметка ще достигне:

n = 1

докато n <5:

print ("Имам" + n + "бири boiiiii!")

n = n + 1 #или можете също да напишете n + = 1

Как това ще работи е n ще продължи да се добавя към 1 в края на всеки кодов блок. Цикълът while ще се върти, докато n все още е по -малък от 5. Сега до един момент (конкретно 4 пъти цикъл), n ще достигне стойност 5 и цикълът ще спре!

щастлив = вярно

докато съм щастлив:

print ("Yayyy I did it!") # Всъщност не правете това, но заслужавате да знаете, че винаги ще стигнете до там!

Въпреки че може да бъде особено полезно в игри като Tic-Tac-Toe, тази за проверка на грешки. Понякога трябва да си позволите пакостни потребители и ако те продължават да бъркат, цикълът while ще ги държи настрана, докато те действително се държат и въведат някои действителни валидни данни! Още информация в Stack Overflow

Стъпка 9: Докато Loop версия 2.0 - За

Докато Loop версия 2.0 - за
Докато Loop версия 2.0 - за

Със сигурност има ситуации, в които FOR ще бъде детрониран от while, но for прави нещо друго за вас, което докато не може … Той държи стойността, в която ще се върти, изисква от потребителя да зададе диапазона на циклиране (Да, за цикъл никога цикъл завинаги и завинаги … всъщност …), и носят стойността на цикъла всеки път, когато се трансформира, също! Сега може да съм твърде многословен, но имайте предвид този пример, кажете, че tm е стойността, която искате да продължите с цикъла for:

за tm в диапазон (1, 5):

print ("Вече съм пил" + tm + "бира urghhh") # Това ще отпечата "Вече имах 1….5 бири urghhh"

Вижте, това ви спестява един ред код, но ще направи живота много по-лесен за кодиране на игри (Повярвайте ми, научих това по трудния начин и вие не искате да знаете за това)! Обикновено трябва да отидете за цикъл FOR, ако сте дефинирали силно в ума си колко пъти искате кодов блок да се повтаря. ПРЕДУПРЕЖДЕНИЕ: Променливата, която е носена заедно с цикъла for, ще съществува само в рамките на самия цикъл for, ако се позовавате на нея навсякъде извън цикъла for, Python ще започне да ви хапе и ще попита „Какво, по дяволите, имате предвид ???"

Tic-Tac-Toe използва много for цикъл. Не можете да си позволите да проверявате всичко при всеки промяна на променлива (истинска болка argh). Но това, което направих, беше да открия правилото на анатомията на Tic-Tac-Toe, да променя стойността в рамките на цикъла for, да проверя всичките 3 колони със символи, като само аз трябва да науча Python как да проверява един! Не забравяйте да проверите Stack Overflow за още въпроси.

Стъпка 10: Попитайте за въвеждане на потребители - Input ()

Поискайте входните данни на потребителите - Input ()
Поискайте входните данни на потребителите - Input ()

Не на последно място, вие сте създателят на играта и някой ще играе вашата игра! И никога не можете да предположите какво правят. Така че това, което можете да направите, е да направите това, което са казали на вашата програма, да им позволите директно да ВХОДЯТ материали! Заедно INPUT и PRINT може би са най-фундаменталните методи във всеки Python, ще ви трябват, за да оцелеете (Те са във всеки код на игра, мога да гарантирам 100.00%)! Това е достатъчно просто, просто задайте променлива и я оставете да бъде такава, каквато потребителят иска:

alo = input ("Въведете щастливия си номер!")

ВНИМАНИЕ: Има много видове входове, повече за Stack Overflow. Те винаги ще работят, ако го оставите само input () така. Но понякога може да искате той да бъде специфичен като целочислено или плаващо въвеждане (по подразбиране е низ).

lucky_day = int (input ("Yessss your lucky day! Въведете число тук:") #Не въвеждайте букви сега, не искате #да се забърквате с Python!

Tic-Tac-Toe се нуждае от куп това! Сигурен съм, че можете да разберете сами, от това как знам къде отиват потребителите и към какво се стремят (Правилно сте разбрали, не знам … но използвах input ()!).

Стъпка 11: Направете допълнителни изследвания за всички методи, от които се нуждаете

Направете допълнителни изследвания за всички методи, от които се нуждаете!
Направете допълнителни изследвания за всички методи, от които се нуждаете!

Да, не е нужно да знаете всичко за Python, за да създадете игра, всъщност трябва само да знаете достатъчно, започвайки с Ultimate 7 (Стъпка 4-10, сигурен съм, че по някакъв начин ще трябва да докоснете всеки от тях за игра) и ако не мислите, че всички тези 7 могат да задоволят това, което правите. Python има много изненади и понякога има някои терминологични методи, които са за тази много специфична употреба, никога не се знае. Затова не забравяйте да ги потърсите с помощта на Google или Stack Overflow!

Моят Tic-Tac-Toe използва всички "Големите седем" и някои малко повече, но не много. Сигурен съм, че всеки може да го направи!

Не забравяйте да ги запишете на хартията и да играете с всичко, от което се нуждаете, за да разберете проблема, преди да се окачите на него. Чувствате ли се достатъчно подготвени? Нека преминем към … последната стъпка !!! ЗАЛЕПЕТЕ С МЕН ТУК, почти сте готови!

Стъпка 12: Изградете скелетна рамка за вашия код, който работи

Изградете скелетна рамка за вашия код, който работи!
Изградете скелетна рамка за вашия код, който работи!

Изобщо не искам да ви обезкуражавам, но ако искате да създадете игра, която да работи за всички, тя първо трябва да работи нормално, като се започне от вас! Съберете всички необходими материали, настройте рамката. Знам, че е по -лесно да се каже, отколкото да се направи, но с всички готови документи (ако сте направили каквото и да е, както ви казах), трябва да сте готови.

Не безпокойте синтаксисните грешки още отначало. Важно е да завършите кода си без прекъсване, само когато стигнете до задънена улица, която трябва да спрете. Ние, хората, сме чувствителни с мисловните потоци, срещал съм ситуация, в която всичко течеше толкова гладко и плавно, отколкото отидох в банята … Следващото нещо, което знаех, бях загубил мисълта. Така че да, не повтаряйте след мен! Оставете всичко в главата си, докато все още е там и първо е свежо.

Процесът Tic-Tac-Toe включва питане за въвеждане от потребителя, използвайки input (), use while само за пречистване на валидните входове. След това се задава набор от if elif else, for and while, за да се проверява всеки път дали има победител. Никой не печели и цикълът while ще продължи играта, докато се заеме едно или всичките 9 места, което води до равенство.

След като се уверите, че това е играта, започвате да стартирате програмата и по -късно търсите синтаксис или семантични грешки. И отново, първо създайте игра за себе си, НЕ се поддавайте на балистично творчество, преди оригиналната ви рамка да е била там. Сега свършете и продължете! Играта ви е там, какво чакате ???

Стъпка 13: Излезте оттам, тествайте и направете себе си ИГРА

Излезте оттам, тествайте и направете себе си ИГРА!
Излезте оттам, тествайте и направете себе си ИГРА!

Това е! Всичко, което трябва да направите сега, е да не губите всичките си предварително усилия, поставете се там! Вярвам, че ако следвате всички тези стъпки, ще бъдете напълно достатъчни, за да създадете игра. Ако не го направите, не се отказвайте, опитайте; Тази инструкция е да помогне на всички, но само вие можете да решите съдбата на вашата ИГРА! Не забравяйте, не се отказвайте, първо изградете скелетните рамки. Ако има някакви странни синтаксични грешки, които не можете да видите, потърсете помощ чрез Stack Overflow, това нещо ми остана дебело и тънко!

Както и да е, в заключение, късмет във вашето пътуване с Python, програмирайте игра, направете ме горд, защото НИЕ СЕ ПРОГРАМИРАМЕ ZZZZZZ !!!!!

P/S: Стъпка 14 за творческо насърчаване!

Стъпка 14: * ДОПЪЛНИТЕЛНО! * След като Вашата версия 1.0 работи, насочена към творчество

* ДОПЪЛНИТЕЛНО!* След като вашата версия 1.0 работи, насочена към творчество!
* ДОПЪЛНИТЕЛНО!* След като вашата версия 1.0 работи, насочена към творчество!

Ако все още четете това, страхотно! Не е нужно, но просто искам да ви уведомя, след като всичко работи безпроблемно за вас, САМО отколкото можете да редактирате, за да могат и други да използват вашата програма; декорирайте го отново за удобство на играчите; или надстройте играта си (надградих моя Tic-Tac-Toe чрез програмиране на AI! Сега това ми отне седмица (или 7/8 от времето ми за нея), за да завърша!). Не забравяйте да използвате и впрегнете Stack Overflow, ако възникне въпрос. Пожелавам ви късмет, завършете играта си, споделете я в коментара по -долу и разпространете движението за кодиране !!!

НИЕ СМЕ ПРОГРАМИРАНЕ !!!!!

Препоръчано: