Tādi lasītāji kā jūs palīdz atbalstīt MUO. Veicot pirkumu, izmantojot saites mūsu vietnē, mēs varam nopelnīt filiāles komisiju. Lasīt vairāk.

Battlefield2, World of Tanks, The Sims4 un Freedom Force ir dažas no tūkstošiem pārsteidzošo spēļu, kas tika izstrādātas ar Python.

Tkinter, standarta Python interfeiss Tk GUI rīkkopai, ir spēcīgs modulis, kas padara grafisko lietotāja saskarņu izveidi vienkāršu un jautru. Izmantojiet šo moduli, lai izstrādātu prātu grozošu krāsu spēli. Tāpat uzziniet, kā izmantot moduli.

Kas ir krāsu spēle?

Krāsu spēlē programma ekrānā parāda krāsas nosaukumu, bet citā fonta krāsā. Piemēram, tas parāda vārdu Dzeltens izmantojot sarkanu fonta krāsu, un spēlētājam ir jāievada teksta krāsa.

Šī informācijas nesakritība ar taimeri rada daudz neskaidrību un rada izklaidējošu spēles pieredzi.

Tkintera un izlases modulis

Lai izveidotu krāsu spēli, jūs izmantosit tkinter modulis un nejauši modulis. Tkinter ir vairāku platformu, vienkāršs un lietotājam draudzīgs GUI modulis, ko varat izmantot, lai ātri izveidotu grafiskas lietotāja saskarnes.

instagram viewer

Tam ir daži noderīgi rīki, piemēram, etiķetes un ievades logrīki un izkārtojuma pārvaldnieki, piemēram, pakotne, režģis un vieta. Nodrošinātās funkcijas ir diezgan vienkāršas, ļaujot iesācējiem programmētājiem viegli izstrādāt lietotnes bez lielām pūlēm. Lai instalētu tkinter savā sistēmā, terminālī palaidiet šādu komandu:

pip instalēt tkinter

Nejaušais modulis ir iebūvēta bibliotēka, kurā varat ģenerēt nejaušas izvēles. Izmantojot šo moduli, jūs varat izstrādāt roku kriketa spēles, skaitļu minēšanas spēles, burvju astoņu bumbu spēles, izlases paroļu ģeneratori, un vēl daudz vairāk.

Kā izveidot krāsu spēli, izmantojot Python

Krāsu spēles avota kods ir pieejams a GitHub repozitorijs un to varat izmantot bez maksas saskaņā ar MIT licenci.

Sāciet, importējot tkinter un izlases moduli. Saglabājiet krāsu nosaukumus kā virkņu sarakstu un inicializējiet to rezultāts mainīgs līdz 0 un atlikušais laiks līdz 60.

no tkinter imports *
imports nejauši

krāsas = ['Sarkans', 'zaļa', "Zils", 'melns', 'rozā', 'balts', 'Violets', 'dzeltens', 'brūns']
rezultāts = 0
laiks_atlikušais = 60

Definējiet funkciju ar nosaukumu sākt spēli () tas aizņem notikumu kā ievada argumentu. Funkcija izpilda divus uzdevumus. Pirmkārt, tā pārbauda, ​​vai atlikušais laiks vienāds ar 60. Ja jā, tas izsauc un izpilda atpakaļskaitīšana () funkciju. Otrkārt, tas izsauc nākamā krāsa () funkcija, kas nejauši sajauc un parāda krāsu un rezultātu spēles laikā.

defsākt spēli(pasākums):
ja laiks_atlicis == 60:
atpakaļskaitīšana ()
nākamā krāsa()

Definējiet funkciju ar nosaukumu nākamā krāsa() un atsauces uz mainīgajiem lielumiem globāli. Ja atlikušais laiks ir lielāks par 0, iestatiet fokusu uz ievades lauku, izmantojot fokusa_iestatījums() metode ieraksta etiķetē (saglabāta mainīgā e) definēts koda pēdējā pusē.

Izmantojiet gūt() metode, lai izgūtu ieraksta pašreizējo tekstu kā virkni un pārvērstu to par mazajiem burtiem, lai izvairītos no reģistru nesakritības. Ja tas ir vienāds ar ekrānā redzamo krāsu, palieliniet rezultātu par vienu. Izmantojiet dzēst() funkciju no 0 līdz pēdējam ieraksta logrīka rādītājam, lai notīrītu saturu.

defnākamāKrāsa():
globāli rezultāts
globāli atlikušais laiks
ja laiks_atlicis > 0:
e.focus_set()
ja e.get().lower() == krāsas[1].lower():
rezultāts += 1
e.delete(0, END)

Izmantojiet jaukt () funkcija, lai pārkārtotu vienumus sarakstā un parādītu krāsu etiķeti ar tekstu kā pirmo krāsu sarakstā un fonta krāsu kā otro krāsu sarakstā. Izmantojiet config () funkcija ieslēgta scoreLabel (kas prasa nospiest Enter), lai parādītu rezultātu spēles sesijas laikā.

 random.shuffle (krāsas)
label.config (fg=str (krāsas[1]), text=str (krāsas[0]))
scoreLabel.config (text="Rezultāts:" + str (rezultāts))

Definējiet funkciju ar nosaukumu atpakaļskaitīšana () kas atsaucas uz atlikušā laika mainīgo un samazina to par vienu. Izmantojiet config () funkcija uz timeLabel lai parādītu ekrānā atlikušo laiku un pēc() funkcija, lai atzvanītu atpakaļskaitīšana funkcija pēc 1000 milisekundes vai vienas sekundes aizkaves.

defatpakaļskaitīšana():
globāli atlikušais laiks
ja laiks_atlicis > 0:
laiks_atlicis -= 1
timeLabel.config (text="Atlikušais laiks: " + str (atlikušais_laiks))
timeLabel.after(1000, atpakaļskaitīšana)

Inicializējiet tkinter gadījumu un parādiet saknes logu. Iestatiet loga nosaukumu, izmērus pikseļos un fona krāsu.

sakne = Tk()
root.title("Krāsu spēle ar pagriezienu")
root.geometry("750x450")
root.configure (background='Apelsīns')

Izmantojiet Etiķete logrīks, lai instruētu spēlētāju par spēles norādījumiem. Tas pieņem vecāku logu, kurā jūs to ievietotu. Tekstā ir jānorāda fonta veids un izmērs, kā arī etiķetes fona krāsa. Izmantojiet komplekts() funkciju, lai sakārtotu etiķetes logrīku blokos pirms to ievietošanas vecāklogrīkā.

Līdzīgi definējiet rezultātu etiķeti, lai norādītu lietotājam nospiest Ievadiet lai sāktu spēli, kā arī laika etiķete, lai parādītu atlikušo laiku. Pārliecinieties, vai visām etiķetēm ir oranža fona krāsa, lai tās saplūstu ar fonu. Definējiet tukšu etiķeti, kurā būs ietverti krāsu nosaukumi nākamā krāsa() funkciju.

instrukcijas = Etiķete (sakne, teksts="Ierakstiet vārda krāsu, nevis tekstu ;)", font=("Arial", 24), bg="apelsīns")
instrukcijas.pack()
scoreLabel = etiķete (sakne, teksts="Nospiediet Enter, lai sāktu", font=("Arial", 24), bg="apelsīns")
scoreLabel.pack()
timeLabel = etiķete (sakne, teksts="Atlikušais laiks: " + str (atlikušais_laiks), fonts=("Arial", 24), bg="apelsīns")
timeLabel.pack()
etiķete = etiķete (sakne, fonts=("Arial", 90), bg="apelsīns")

Kā minēts iepriekš, izmantojiet ievades logrīku, lai tvertu spēlētāja atbildi. Svarīgs solis ir saistīt taustiņu Enter ar notikumu tkinter logā, lai, atskaņotājam to nospiežot, tiktu izpildīta noteikta funkcija.

Lai to sasniegtu, jūs nokārtojat atslēga un sākt spēli () darbojas kā parametri saistīt() funkciju. Turklāt izmantojiet komplekts() un fokusa_iestatījums() metodes, lai sakārtotu un iestatītu fokusu uz ievades etiķeti, tiklīdz nospiežat taustiņu Enter.

e = ieraksts (fonts =20)
root.bind('', sākt spēli)
e.pack()
e.focus_set()

The mainloop() funkcija liek Python palaist tkinter notikumu cilpu un klausīties notikumus (piemēram, pogas nospiešanu), līdz aizverat logu.

root.mainloop()

Salieciet visu kodu kopā, un jums ir pieejama Krāsu spēle ar pagriezienu, kas ir gatava spēlēšanai jūsu rokai.

Krāsu spēles izvade, izmantojot Python

Palaižot programmu Color Game, ekrānā parādās logs. Nospiežot taustiņu Enter, sākas atpakaļskaitīšana, un spēlētājam jāsāk rakstīt vārda krāsu. Par katru pareizo atbildi rezultāts palielinās par vienu, un beigās tiek parādīts gala rezultāts.

Spēļu izstrāde, izmantojot Python

Python ir fantastiska valoda spēļu izstrādei. Valoda ir ne tikai vienkārši saprotama un lietojama, bet arī ļauj visu līmeņu spēļu izstrādātājiem izveidot satriecošas spēļu pasaules, kas ir interesantas un izklaidējošas.

Turklāt, pateicoties dažādām tirgū pieejamajām spēļu izstrādes platformām, piemēram, PyGame vai Kivy, radītājiem ir plašs iespēju klāsts, lai idejas īstenotu dzīvē.