Читаоци попут вас помажу у подршци МУО. Када обавите куповину користећи везе на нашем сајту, можда ћемо зарадити провизију за партнере. Опширније.

Баттлефиелд2, Ворлд оф Танкс, Тхе Симс4 и Фреедом Форце су неке од хиљада невероватних игара које су развијене уз Питхон.

Ткинтер, стандардни Питхон интерфејс за Тк ГУИ алат, је моћан модул који чини креирање графичких корисничких интерфејса лаким и забавним. Искористите овај модул да бисте развили игру боја која уврће ум. Такође, научите како да користите модул успут.

Шта је игра боја?

У игри боја, програм приказује назив боје на екрану, али у другој боји фонта. На пример, приказује реч Жута користећи црвену боју фонта и играч мора да унесе боју текста.

Ова неусклађеност информација заједно са тајмером ствара мноштво забуне и ствара забавно искуство играња.

Ткинтер и Рандом модул

Да бисте направили игру боја, користићете ткинтер модул и насумично модул. Ткинтер је вишеплатформски, једноставан и прилагођен кориснику ГУИ модул који можете користити за брзо креирање графичких корисничких интерфејса.

Има неке корисне алате као што су виџети за ознаке и унос и менаџери изгледа као што су паковање, мрежа и место. Обезбеђене функције су прилично једноставне, што олакшава програмерима почетнике да дизајнирају апликације без много напора. Да бисте инсталирали ткинтер у свој систем, покрените следећу команду у терминалу:

пип инсталл ткинтер

Рандом модул је уграђена библиотека помоћу које можете генерисати насумичне изборе. Користећи овај модул, можете развити ручне игре крикета, игре погађања бројева, магичне игре са осмом лоптом, генератори случајних лозинки, и још много тога.

Како направити игру боја користећи Питхон

Изворни код игре боја је доступан у а ГитХуб спремиште и бесплатан је за коришћење под МИТ лиценцом.

Почните увозом ткинтер-а и рандом модула. Сачувајте називе боја као листу низова и иницијализујте резултат променљива на 0 и Преостало време до 60.

из ткинтер увоз *
увоз насумично

боје = ['црвено', 'Зелен', 'Плави', 'Црн', 'ружичаста', 'Бео', 'Љубичаста', 'жута', 'браон']
резултат = 0
тиме_ремаининг = 60

Дефинишите функцију под називом бегинГаме() то узима догађај као улазни аргумент. Функција извршава два задатка. Прво, проверава да ли је Преостало време једнако 60. Ако јесте, позива и извршава одбројавање() функција. Друго, то зове нектцолор() функција која насумично меша и приказује боју и резултат када је игра у току.

дефбегинГаме(догађај):
ако тиме_ремаининг == 60:
одбројавање()
нектЦолоур()

Дефинишите функцију под називом нектЦолоур() и референцирати променљиве глобално. Ако је преостало време веће од 0, поставите фокус на поље за унос помоћу фокус_сет() метод на етикети уноса (чува се у променљивој е) дефинисано у другој половини кода.

Користити добити() метод да преузмете тренутни текст уноса као стринг и претворите га у мала слова да бисте избегли неподударање великих и малих слова. Ако је ово једнако боји приказаној на екрану, повећајте резултат за један. Користити делете() функцију од 0 до последњег индекса на виџету за унос да обришете садржај.

дефнектЦолоур():
глобално резултат
глобално Преостало време
ако тиме_ремаининг > 0:
е.фоцус_сет()
ако е.гет().ловер() == боје[1].ловер():
резултат += 1
е.делете(0, КРАЈ)

Користити мешање() функција да промени редослед ставки на листи и прикаже ознаку боје са текстом као првом бојом на листи и бојом фонта као другом бојом на листи. Користити цонфиг() функција укључена сцореЛабел (која тражи да притиснете Ентер) да прикаже резултат док је игра у току.

 рандом.схуффле (боје)
лабел.цонфиг (фг=стр (боје[1]), тект=стр (боје[0]))
сцореЛабел.цонфиг (текст="Резултат: " + стр (резултат))

Дефинишите функцију под називом одбројавање() која упућује на преосталу променљиву времена и смањује је за један. Користити цонфиг() функција на тимеЛабел да прикажете преостало време на екрану и после() функција за повратни позив одбројавање функционише након кашњења од 1000 милисекунди или једне секунде.

дефодбројавање():
глобално Преостало време
ако тиме_ремаининг > 0:
преостало_време -= 1
тимеЛабел.цонфиг (текст="Преостало време: " + стр (преостало време))
тимеЛабел.афтер(1000, одбројавање)

Иницијализујте ткинтер инстанцу и прикажите основни прозор. Подесите наслов, димензије у пикселима и боју позадине прозора.

корен = Тк()
роот.титле("Игра у боји са преокретом")
роот.геометри("750к450")
роот.цонфигуре (бацкгроунд='наранџаста')

Користити Етикета виџет за упутства играча о упутствима за игру. Прихвата родитељски прозор у који бисте га поставили. Текст треба да приказује тип и величину фонта заједно са бојом позадине налепнице. Користити паковање() функција за организовање виџета ознаке у блокове пре него што их поставите у родитељски виџет.

Слично, дефинишите ознаку резултата да бисте наложили кориснику да притисне Ентер за почетак игре као и временску ознаку за приказ преосталог времена. Уверите се да све етикете имају наранџасту боју позадине, тако да се уклапају у позадину. Дефинишите празну ознаку која ће садржати називе боја у нектЦолоур() функција.

упутства = Ознака (роот, тект=„Унесите боју речи, а не текста ;)“, фонт=('Ариал', 24), бг="наранџаста")
упутства.пацк()
сцореЛабел = Ознака (роот, тект=„Притисните Ентер за почетак“, фонт=('Ариал', 24), бг="наранџаста")
сцореЛабел.пацк()
тимеЛабел = Ознака (роот, тект="Преостало време: " + стр (преостало време), фонт=('Ариал', 24), бг="наранџаста")
тимеЛабел.пацк()
лабел = Лабел (роот, фонт=('Ариал', 90), бг="наранџаста")

Као што је раније поменуто, користите виџет за унос да ухватите одговор играча. Важан корак је повезивање тастера Ентер са догађајем у прозору ткинтер, тако да када га играч притисне, одређена функција би се извршила.

Да бисте то постигли, прођете кључ и бегинГаме() функционишу као параметри за бинд() функција. Поред тога, користите паковање() и фокус_сет() методе за организовање и постављање фокуса на улазну ознаку када притиснете тастер Ентер.

е = Унос (фонт=20)
роот.бинд('', почетак игре)
е.пацк()
е.фоцус_сет()

Тхе маинлооп() функција каже Питхон-у да покрене ткинтер петљу догађаја и ослушкује догађаје (као што је притисак на дугме) док не затворите прозор.

роот.маинлооп()

Спојите сав код и имате Игру боја са преокретом спремну за играње на дохват руке.

Излаз игре боја користећи Питхон

Када покренете програм Цолор Гаме, на екрану се појављује прозор. Притиском на Ентер почиње одбројавање и играч треба да почне да куца боју речи. За сваки тачан одговор, резултат се повећава за један, а на крају се приказује коначан резултат.

Развој игара користећи Питхон

Питхон је фантастичан језик за развој игара. Језик није само једноставан за разумевање и коришћење, већ такође омогућава програмерима игара свих нивоа искуства да креирају запањујуће светове игара који су занимљиви и забавни.

Поред тога, креатори имају широк спектар опција када је у питању оживљавање идеја, захваљујући различитим платформама за развој игара доступних на тржишту, као што су ПиГаме или Киви.