Оглавление:

ЗАПИСАТЬ ИГРУ С PYTHON (ДЛЯ ЧАЙНИКОВ!): 14 шагов
ЗАПИСАТЬ ИГРУ С PYTHON (ДЛЯ ЧАЙНИКОВ!): 14 шагов

Видео: ЗАПИСАТЬ ИГРУ С PYTHON (ДЛЯ ЧАЙНИКОВ!): 14 шагов

Видео: ЗАПИСАТЬ ИГРУ С PYTHON (ДЛЯ ЧАЙНИКОВ!): 14 шагов
Видео: Змейка на Python за 5 минут [ Pygame ] 2024, Июль
Anonim
ЗАПИСАТЬ ИГРУ С PYTHON (ДЛЯ ЧАЙНИКОВ!)
ЗАПИСАТЬ ИГРУ С PYTHON (ДЛЯ ЧАЙНИКОВ!)

Добро пожаловать в Python, третий по популярности язык программирования в мире!… И, возможно, самый простой! Знаете ли вы, что Youtube и Google используют Python в качестве основного языка для своих приложений и веб-сайтов, которые вы видите? НУ… Теперь вы знаете; и вы также должны понять, почему Python чрезвычайно важен для будущего эпохи современных технологий 4.0!

Вы также можете знать, что индустрия кодирования игр процветает больше, чем когда-либо, поскольку в наши дни все больше и больше людей приобретают собственные смартфоны. А Python - довольно идеальный язык программирования, который можно использовать для простых… но при этом хорошо запрограммированных, захватывающих игр! Когда слово «кодирование игры» приходит вам в голову, это может показаться чертовски сложной задачей … Но не волнуйтесь! С помощью этого руководства вы вместе со мной отправитесь в путешествие о том, как полностью кодировать простую игру, от А до Я, для всех, быстро и кратко, без оплаты!

Если у вас еще не было Python, нажмите ЗДЕСЬ, чтобы загрузить этот удивительный язык (и животных тоже! Я думаю…). Это совершенно бесплатно. Как только вы закончите, время повеселиться!

Шаг 1. Разберитесь, какую игру вы собираетесь делать

Поймите, какую игру вы собираетесь делать!
Поймите, какую игру вы собираетесь делать!

Крайне важно, чтобы вы сидели перед программой Python, точно зная, что кодировать.

Помните, что это руководство для ВСЕХ! И вы не захотите выбирать какую-нибудь твердую идею, такую как Asphalt 8 или FIFA Mobile; Конечно, этот Python способен на все, но вам потребуется некоторое время, чтобы научиться пользоваться Python (вероятно, 2 года! Не может соответствовать этому Instructable * urgh *). Вместо этого вы захотите бороться с традиционными идеями, такими как крестики-нолики (которые я выбрал в качестве примера для вас!), Палач и т.д. аааа другой мир, вы можете попробовать это! Но не здесь, потому что опять же, это действительно требует времени). Подумайте, что вас вдохновляет: игра, к которой у вас могут быть особые привязанности, или игра, в которой вы точно знаете, как она работает.

Шаг 2: проанализируйте свою игру

Проанализируйте свою игру!
Проанализируйте свою игру!

После того, как вы решили, чему вы, возможно, посвятите следующую неделю кодирования, пора записать, что требует игра, чтобы вы лучше понимали, как она устроена!

Например, для моих крестиков-ноликов 3x3 потребуется 9 пустых мест, где пользователи могут печатать как «X», так и «O». Затем нам понадобятся еще 9 пробелов, чтобы соответствовать и сохранять ходы пользователей. Мне пришлось бы что-то делать, чтобы переключаться между «X» и «O» каждый раз, когда игрок заканчивает свой срок. Мне также пришлось бы зациклить процесс переключения и сохранения ходов до тех пор, пока не будет победителя позже, рассматривая 3 точно таких же последовательных символа в горизонтальном, вертикальном или диагональном направлении.

В основном это все! Вам не нужно делать больше… пока, если у вас нет предыдущего опыта или очень мало знаний о Python! Теперь … следующий шаг потребует от вас много вопросов о том, как преобразовать то, что вы проанализировали … в код!

Шаг 3: Сформируйте свой анализ в компьютерную грамматику

Сформируйте свой анализ
Сформируйте свой анализ

К настоящему времени вы должны понять, к чему ведет игра, в вашей голове, на вашем языке, с вашей логикой! Что ж… компьютер этого не поймет; и поскольку у нас намного больше интеллекта, мы должны сделать первый шаг, чтобы говорить на его языке.

Вернемся к моим крестикам-ноликам в качестве примера, ссылаясь на шаг 2, что мне сначала нужно около 9 пустых мест для хранения движений пользователей. Один из способов - сказать Python составить список из 9 пробелов! И по мере того, как пользователи вводят свои ходы, вы по очереди заменяете это место либо «X», либо «O». Я могу использовать некоторые виды функций цикла в Python, чтобы повторить процесс много раз, пока не будет ничья или … победитель! Я определяю победителя, используя условие, что игра продолжится в своем цикле, если ничего не произойдет, или если все 9 ячеек заняты или есть победитель, цикл оборвется и игра закончится!

Этот шаг, не нужно спорить, самый сложный шаг во всей этой инструкции! Теперь вам нужно использовать человеческую логику, чтобы увидеть, как вы можете преобразовать написанное в Python. Вам не нужно беспокоиться о том, способен ли Python справиться со всем вашим воображением, у него достаточно материалов для кодирования, которые вы можете удовлетворить! Если вы не можете найти способ (что обычно бывает), я очень рекомендую поисковую систему, это Stack Overflow, это небольшое сообщество, где люди обычно задаются самыми абсурдными вопросами, которые я когда-либо видел, а также где это одни из самых блестящих ответов, которые может получить каждый!

ПРИСОЕДИНЯЙТЕСЬ СО МНОЙ ЗДЕСЬ! Следующие 7 шагов, я покажу вам 7 методов Python, которые я счел необходимыми в каждой и даже самой простой игре! Да начнется ускоренный курс!

Шаг 4: Печать отчетов, чисел или объектов - Печать ()

Печать отчетов, чисел или объектов - Печать ()
Печать отчетов, чисел или объектов - Печать ()

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

print («Ура, я здесь!»)

print ('Я такой хороший, боже мой')

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

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

Шаг 5. Создайте список, содержащий различные объекты -

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

Список содержит все переменные, которые вы хотите добавить, это действительно подарок, сделанный Python! Теперь все, что вам нужно создать, - это дать ему имя, поставить квадратные скобки, разделить переменные запятыми или вы также можете оставить его пустым (чтобы вы могли добавить их позже), и все готово! ВНИМАНИЕ: вы не хотите называть его в честь некоторых методов, иначе возникнет синтаксическая ошибка, если имя отображается не в черном цвете, ваш звонок должен быть сразу включен!

dalist = [5, 7, "я красивый", 12 + 1, 3,141592657]

или…

dalist =

dalist.append (5) # теперь dalist имеет [5] в качестве своего элемента!

Помните доску с девятью пробелами, о которой я вам говорил? Вот где он будет использоваться! Сначала он будет хранить все «-»; и когда игрок делает ход косой чертой, его символ заменяет «-». Все элементы в списке начинаются с 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 так полезно. Он работает точно так же, как и интерпретируется: команды внутри этого блока if будут выполняться только ЕСЛИ, только когда они соответствуют тому, что вы просите. Например, вы напечатаете оператор «Yessss», только ЕСЛИ ваш счастливый режим истинен (при условии, что идентификатор уже объявлен заранее):

счастливый = правда

если счастлив == правда:

print ("Дассс")

Если есть IF, обычно будет ELSE для остальных сценариев, которые не соответствуют ранее изложенному условию. Скажем, когда вам грустно, вы вместо этого напечатаете «Noooo» (продолжение оператора if выше):

еще:

print ("Noooo") # Но он все равно не напечатает это, не волнуйтесь!

В Python есть особый тип if, который мы называем ELIF. По самому названию вы, вероятно, могли бы понять, что это комбинация if и else. Итак, если у вас есть два или более условий, elif - это парень, которому вы бы позвонили (предполагаемая оценка присваивается некоторым случайным числам до этого):

оценка = 65

если оценка> = 90:

print («Молодец!»)

elif 80 <= оценка <90:

print ("Хорошее усилие!")

elif 70 <= оценка <80:

print («Могло быть лучше!»)

еще:

print ("Ну ……")

ВНИМАНИЕ! Здесь важны отступы! Он определит, к какому оператору if, elif или else относятся команды. Так что будьте осторожны при разработке своего кода! Вы также можете вложить друг в друга операторы if, если условие будет рассматриваться ТОЛЬКО в том случае, если сначала истинно самое внешнее if. И снова… Отступ!

В моем проекте «Крестики-нолики» я буквально использовал их тонны. Игра 3x3 может показаться достаточно простой, но вам придется рассмотреть множество возможных сценариев. В этом случае мне нужно решить, есть ли победитель, проверив 3 последовательных знака во всех направлениях. Да … теперь не запутайтесь, потому что это тоже не так сложно, это просто набор избыточных кодов, и все, что вам нужно сделать, это изменить область проверки и готово! Чтобы получить дополнительные сведения по этой теме, нажмите «Переполнение стека».

Шаг 7. Еще больше условий - и & Или

Еще больше условий в целом - и & Или
Еще больше условий в целом - и & Или

Кто сказал, что одно условие всегда может быть только условием? Одно условие также может иметь несколько критериев. Хотя вложенный оператор if может быть краткосрочным решением, он значительно увеличивает длину кода. Итак, есть методы И и ИЛИ. Там все используется для объединения условий в один большой договор. Единственное различие между ними состоит в том, что и требует, чтобы все условия в этом одном операторе if были правильными, прежде чем двигаться дальше; в то время как или требуется только одно из них, чтобы быть правильным. Оба могут быть очень полезны, если их использовать правильно, будь мудрым, иначе эти двое могут на самом деле испортить логику вашего мозга!

п = 5

а = 7

если n == 5 и a == 6:

print ("Нет, не надо это печатать")

если n == 3 или a == 7:

print ("Yupp должен распечатать это")

Я серьезно использовал и & или, чтобы резко сократить свои крестики-нолики, так как иногда бывает до 3 условий одновременно, когда мне нужно рассматривать все 3 позиции знака, чтобы определить, есть ли победитель или нет. И & или очень пригодились бы! Для получения дополнительной информации посетите Stack Overflow.

Шаг 8: цикл, в котором команды повторяются до тех пор, пока не будут выполнены критерии - пока

Цикл, который повторяет команды до тех пор, пока не будут выполнены критерии - Пока
Цикл, который повторяет команды до тех пор, пока не будут выполнены критерии - Пока

Мы рассмотрели, как печатать, обрабатывать вещи только при выполнении условия. Так как насчет … повторения этого блока много раз, до тех пор, пока условие не будет выполнено? Да, именно поэтому Python дает вам ПОКА!

п = 1

в то время как n = 1:

print ("уууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууу"

Это может быть проблемой, потому что вы не хотите, чтобы ваши команды повторялись бесконечно. Поэтому обычно, когда вы используете while, существует методика, при которой вы меняете значение условия каждый раз, когда оно зацикливается, поэтому условие обновляется, и до тех пор, пока ему не понадобятся критерии, оно в конечном итоге остановится. Например, вы можете прибавлять значение к самому себе по одной единице за раз, а затем настроить время для работы до тех пор, пока не будут достигнуты какие-то значения, которых это число в конечном итоге достигнет:

п = 1

пока n <5:

print ("У меня есть" + n + "пиво boiiiii!")

n = n + 1 # или вы также можете написать n + = 1

Как это будет работать, n будет продолжать добавлять себя к 1 в конце каждого блока кода. Цикл while будет повторяться до тех пор, пока n все еще меньше 5. Теперь до одного момента (а именно четырехкратного цикла) n достигнет значения 5, и цикл остановится!

счастливый = правда

пока счастлив:

print ("Yayyy, я сделал это!") # На самом деле не делайте этого, но вы заслужили знать, что вы всегда добьетесь этого!

Хотя может быть особенно полезно в таких играх, как крестики-нолики, игра с проверкой ошибок. Иногда вы должны позволить себе озорных пользователей, и если они будут продолжать портить, цикл while будет держать их в страхе, пока они не начнут вести себя правильно и не введут какие-то действительные данные! Больше информации на Stack Overflow

Шаг 9: Цикл в то время как версия 2.0 - для

Цикл в то время как версия 2.0 - для
Цикл в то время как версия 2.0 - для

Конечно, есть некоторые ситуации, в которых FOR будет свергнут с помощью while, но for делает для вас что-то еще, чего не может… Он содержит значение, в котором он будет зацикливаться, требует от пользователя установить диапазон цикла (Да, для цикл никогда не зацикливается вечно… на самом деле…), а также переносит значение цикла при каждом преобразовании! Возможно, я слишком многословен, но помните об этом примере, скажем, tm - это значение, которое вы хотите сохранить с помощью цикла for:

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

print ("Я уже выпил" + tm + "пиво urghhh") # Будет напечатано "Я уже выпил 1….5 пива urghhh"

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

Крестики-нолики используют много циклов for. Вы не можете позволить себе проверять все каждый раз, когда изменяется переменная (настоящая боль). Но что я сделал, так это обнаружил правило анатомии крестиков-ноликов, изменил значение в цикле for, чтобы проверить все 3 столбца символов, и мне нужно было только научить Python, как проверять один! Не забудьте проверить Stack Overflow, если у вас возникнут дополнительные вопросы.

Шаг 10. Спросите пользователей о вводе данных - ввод ()

Спрашивать вводимые пользователем данные - Ввод ()
Спрашивать вводимые пользователем данные - Ввод ()

И последнее, но не менее важное: вы - создатель игры, и кто-то будет играть в вашу игру! И никогда не угадаешь, чем они занимаются. Итак, что вы можете сделать, так это делать то, что они сказали вашей программе, позволить им напрямую ВХОДИТЬ! Вместе INPUT и PRINT, вероятно, могут быть самыми фундаментальными методами в Python, они понадобятся вам, чтобы выжить (они есть в каждом игровом коде, я могу гарантировать 100,00%)! Это достаточно просто, просто назначьте переменную и пусть она будет такой, какой хочет пользователь:

alo = input («Введите свой счастливый номер!»)

ВНИМАНИЕ: существует много типов входных данных, подробнее о переполнении стека. Они всегда будут работать, если вы оставите только input () в таком виде. Но иногда вы можете захотеть, чтобы он был конкретным, например, целочисленный ввод или ввод с плавающей запятой (по умолчанию - строка).

lucky_day = int (input («Да, удачный день! Введите здесь число:») # Не набирайте буквы сейчас, вы же не хотите # связываться с Python!

Крестики-нолики нужна куча этого! Я уверен, что вы сами можете понять это, исходя из того, как я знаю, куда идут пользователи и к чему они стремятся (вы все правильно поняли, я не знаю… но я использовал input ()!).

Шаг 11: Проведите дополнительное исследование всех необходимых вам методов

Проведите дополнительное исследование всех необходимых вам методов!
Проведите дополнительное исследование всех необходимых вам методов!

Да, вам не обязательно знать все о Python, чтобы создать игру, вам действительно нужно знать достаточно, начиная с Ultimate 7 (шаги 4-10, я уверен, что вам придется как-то прикоснуться к каждому из них, чтобы game), и еще, если вы не думаете, что все эти 7 могут удовлетворить то, что вы делаете. У Python много сюрпризов, и иногда есть некоторые терминологические методы, которые подходят для этого очень специфического использования, вы никогда не узнаете. Поэтому обязательно ищите их с помощью Google или Stack Overflow!

Мои крестики-нолики использовали всю «Большую семерку» и еще немного, но не много. Я уверен, что это под силу каждому!

Обязательно запишите их все на бумаге и поиграйте со всем, что вам нужно для игры, разберитесь в проблеме, прежде чем вешаться на нее. Чувствуете себя достаточно подготовленным? Переходим к… последнему шагу !!! ПРИСОЕДИНЯЙТЕСЬ СО МНОЙ ЗДЕСЬ, вы почти у цели!

Шаг 12: Создайте каркас для вашего кода, который РАБОТАЕТ

Создайте каркас для вашего кода, который РАБОТАЕТ!
Создайте каркас для вашего кода, который РАБОТАЕТ!

Я вовсе не хочу вас отговаривать, но если вы хотите создать игру, которая будет работать для всех, сначала она должна заработать на законных основаниях, начиная с вас! Соберите все необходимые материалы, установите каркас. Я знаю, что легче сказать, чем сделать, но когда все документы готовы (если вы сделали что-то, как я вам сказал), все будет в порядке.

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

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

Убедившись, что это игра, вы начинаете запускать программу и позже искать синтаксические или семантические ошибки. И опять же, сначала создайте игру для себя, НЕ проявляйте баллистического творчества, пока ваш исходный кадр еще не был там. Теперь сделайте это и двигайтесь дальше! Там твоя игра, чего ты ждешь ???

Шаг 13: Выберитесь, испытайте себя и сделайте себе ИГРУ

Выберитесь, испытайте и сделайте себя ИГРОЙ!
Выберитесь, испытайте и сделайте себя ИГРОЙ!

Вот и все! Все, что вам нужно сделать сейчас, - это не тратить впустую все свои усилия, проявить себя! Я считаю, что если вы выполните все эти шаги, вас будет абсолютно достаточно для создания игры. Если вы этого не сделаете, не сдавайтесь, попробуйте; Это руководство призвано помочь всем, но только вы можете решить судьбу своей ИГРЫ! Помните, не сдавайтесь, сначала постройте каркас каркаса. Если есть какие-то странные синтаксические ошибки, которые вы не можете увидеть, обратитесь за помощью через Stack Overflow, эта штука меня зацепила на всю жизнь!

В любом случае, в заключение, удачи в вашем путешествии по Python, запрограммируйте игру, заставьте меня гордиться, потому что МЫ ПРОГРАММИРОВАТЬZZZZZZZ !!!!!

P / S: Шаг 14 для творческой поддержки!

Шаг 14: * ДОПОЛНИТЕЛЬНО! * После того, как ваша версия 1.0 заработает, для творчества

* ДОПОЛНИТЕЛЬНО! * После того, как ваша версия 1.0 работает, для творчества!
* ДОПОЛНИТЕЛЬНО! * После того, как ваша версия 1.0 работает, для творчества!

Если вы все еще читаете это, отлично! Вы не обязаны, но я просто хочу сообщить вам, что после того, как все будет работать гладко для вас, ТОЛЬКО, чем вы можете редактировать, чтобы другие также могли использовать вашу программу; заново украсить его для удобства игроков; или обновите свою игру (я обновил свои крестики-нолики, запрограммировав ИИ! Теперь это заняло у меня неделю (или 7/8 моего времени), чтобы завершить!). Обязательно используйте Stack Overflow, если возникнут какие-либо вопросы. Я желаю вам удачи, завершите свою игру, поделитесь ею в комментариях ниже и распространите движение за кодирование !!!

МЫ ПРОГРАММИРОВАТЬZZZZ !!!!!

Рекомендуемые: