Battlefield2, World of Tanks, The Sims4 и Freedom Force са някои от хилядите невероятни игри, разработени с Python.
Tkinter, стандартният Python интерфейс към Tk GUI toolkit, е мощен модул, който прави създаването на графични потребителски интерфейси лесно и забавно. Възползвайте се от този модул, за да разработите умопомрачителна Цветна игра. Освен това научете как да използвате модула по пътя.
Какво представлява играта с цветове?
В Color Game програмата показва името на цвят на екрана, но с различен цвят на шрифта. Например, показва думата Жълто използвайки червен цвят на шрифта и играчът трябва да въведе цвета на текста.
Това несъответствие на информация заедно с таймера създава множество обърквания и създава забавно изживяване при игра.
Модулът Tkinter и Random
За да създадете играта с цветове, ще използвате tkinter модул и случаен модул. Tkinter е междуплатформен, прост и удобен за потребителя GUI модул, който можете да използвате за бързо създаване на графични потребителски интерфейси.
Той има някои полезни инструменти, като джаджи за етикет и въвеждане и мениджъри на оформление, като пакет, решетка и място. Предоставените функции са доста ясни, което улеснява начинаещите програмисти да проектират приложения без много усилия. За да инсталирате tkinter във вашата система, изпълнете следната команда в терминала:
pip инсталирайте tkinter
Случайният модул е вградена библиотека, чрез която можете да генерирате произволни избори. Използвайки този модул, можете да разработите игри за ръчен крикет, игри с отгатване на числа, магически игри с осем топки, генератори на произволни пароли, и много други.
Как да създадете цветна игра с помощта на Python
Изходният код на Цветната игра е достъпен в a GitHub хранилище и е безплатен за използване под лиценза на MIT.
Започнете с импортиране на tkinter и произволния модул. Съхранявайте името на цветовете като списък от низове и инициализирайте резултат променлива до 0 и оставащо време до 60.
от tkinter импортиране *
импортиране случаен
цветове = ['Червен', "зелено", 'Син', "черно", "Розово", "бяло", 'Лилаво', "жълт", "кафяв"]
резултат = 0
оставащо_време = 60
Дефинирайте функция с име beginGame() това отнема събитие като входен аргумент. Функцията изпълнява две задачи. Първо проверява дали оставащо време е равно на 60. Ако да, той извиква и изпълнява обратно броене() функция. Второ, извиква следващ цвят() функция, която произволно разбърква и показва цвета и резултата, когато играта е в ход.
дефbeginGame(събитие):
ако оставащо_време == 60:
обратно броене()
nextColour()
Дефинирайте функция с име nextColour() и реферирайте променливите глобално. Ако оставащото време е по-голямо от 0, задайте фокус върху полето за въвеждане, като използвате focus_set() метод на етикета за въвеждане (съхранен в променлива д), дефинирани в по-късната половина на кода.
Използвай получи() метод за извличане на текущия текст на записа като низ и превръщането му в малки букви, за да се избегне несъответствие на главни и малки букви. Ако това е равно на цвета, показан на екрана, увеличете резултата с едно. Използвай Изтрий() функция от 0 до последния индекс на приспособлението за въвеждане, за да изчистите съдържанието.
дефnextColour():
глобален резултат
глобален оставащо време
ако оставащо_време > 0:
e.focus_set()
ако e.get().lower() == цветове[1].нисък():
резултат += 1
e.delete(0, КРАЙ)
Използвай разбъркване () функция за пренареждане на елементи в списъка и показване на цветния етикет с текста като първи цвят в списъка и цвета на шрифта като втори цвят в списъка. Използвай config() функция включена scoreLabel (което иска да натиснете Enter), за да се покаже резултатът, докато играта е в сесия.
произволно.разбъркване (цветове)
label.config (fg=str (цветове[1]), text=str (цветове[0]))
scoreLabel.config (текст=„Резултат:“ + str (резултат))
Дефинирайте функция с име обратно броене() който препраща към променливата за оставащото време и я намалява с единица. Използвай config() функция на timeLabel за показване на оставащото време на екрана и след() функция за обратно извикване обратно броене функция след закъснение от 1000 милисекунди или една секунда.
дефобратно броене():
глобален оставащо време
ако оставащо_време > 0:
оставащо_време -= 1
timeLabel.config (текст="Оставащо време: " + str (оставащо_време))
timeLabel.after(1000, обратно броене)
Инициализирайте екземпляра на tkinter и покажете основния прозорец. Задайте заглавието, размерите в пиксели и цвета на фона на прозореца.
корен = Tk()
root.title(„Игра на цветове с обрат“)
root.geometry("750x450")
root.configure (background="Портокал")
Използвай Етикет джаджа за инструктиране на играча относно инструкциите на играта. Той приема родителския прозорец, в който бихте го поставили. Текстът трябва да показва вида и размера на шрифта заедно с цвета на фона на етикета. Използвай пакет() функция за организиране на приспособлението за етикети в блокове, преди да ги поставите в приспособлението родител.
По същия начин дефинирайте етикета на резултата, за да инструктирате потребителя да натисне Въведете за започване на играта, както и етикет за време за показване на оставащото време. Уверете се, че всички етикети имат оранжев цвят на фона, така че да се смесват с фона. Дефинирайте празен етикет, който ще съдържа имената на цветовете в nextColour() функция.
инструкции = Етикет (корен, текст=„Въведете цвета на думата, а не на текста ;)“, шрифт=("Arial", 24), bg="портокал")
инструкции.pack()
scoreLabel = Етикет (корен, текст=„Натиснете Enter, за да започнете“, шрифт=("Arial", 24), bg="портокал")
scoreLabel.pack()
timeLabel = Етикет (корен, текст="Оставащо време: " + str (оставащо_време), шрифт=("Arial", 24), bg="портокал")
timeLabel.pack()
етикет = Етикет (корен, шрифт=("Arial", 90), bg="портокал")
Както споменахме по-рано, използвайте приспособлението за въвеждане, за да заснемете отговора на играча. Важна стъпка е обвързването на клавиша Enter със събитие в прозореца на tkinter, така че когато играчът го натисне, да се изпълни определена функция.
За да постигнете това, преминавате ключ и beginGame() функционират като параметри на свързване () функция. Освен това използвайте пакет() и focus_set() методи за организиране и задаване на фокус върху етикета за въвеждане, след като натиснете клавиша Enter.
e = Запис (font=20)
root.bind('' , започнете играта)
e.pack()
e.focus_set()
The mainloop() функцията казва на Python да стартира цикъла на събитията на tkinter и да слуша за събития (като натискания на бутони), докато затворите прозореца.
root.mainloop()
Съберете целия код заедно и имате Цветна игра с обрат, готова за игра на върха на пръстите ви.
Резултат от цветна игра с помощта на Python
При стартиране на програмата Color Game на екрана се появява прозорец. При натискане на Enter започва обратното броене и играчът трябва да започне да въвежда цвета на думата. За всеки верен отговор резултатът се увеличава с единица и накрая се показва крайният резултат.
Разработване на игри с помощта на Python
Python е фантастичен език за разработка на игри. Езикът е не само лесен за разбиране и използване, но също така позволява на разработчиците на игри от всички нива на опит да създават зашеметяващи светове на игри, които са интересни и забавни.
Освен това създателите разполагат с широк набор от възможности, когато става въпрос за реализиране на идеи, благодарение на различните платформи за разработка на игри, налични на пазара, като PyGame или Kivy.