Bralci, kot ste vi, pomagajo podpirati MUO. Ko opravite nakup prek povezav na našem spletnem mestu, lahko zaslužimo partnersko provizijo. Preberi več.

Battlefield2, World of Tanks, The Sims4 in Freedom Force so le nekatere od tisočih neverjetnih iger, ki so bile razvite s Pythonom.

Tkinter, standardni vmesnik Python za komplet orodij Tk GUI, je zmogljiv modul, ki omogoča preprosto in zabavno ustvarjanje grafičnih uporabniških vmesnikov. Uporabite ta modul za razvoj osupljive barvne igre. Na poti se tudi naučite uporabljati modul.

Kaj je igra barv?

V barvni igri program prikaže ime barve na zaslonu, vendar v drugi barvi pisave. Na primer, prikaže besedo Rumena z uporabo rdeče barve pisave in igralec mora vnesti barvo besedila.

To neujemanje informacij skupaj s časovnikom ustvarja množico zmede in ustvarja zabavno izkušnjo igranja.

Tkinter in naključni modul

Če želite zgraditi barvno igro, boste uporabili tkinter modul in naključen modul. Tkinter je večplatformski, preprost in uporabniku prijazen GUI modul, ki ga lahko uporabite za hitro ustvarjanje grafičnih uporabniških vmesnikov.

instagram viewer

Ima nekaj uporabnih orodij, kot so pripomočki za oznake in vnose ter upravitelji postavitev, kot so paket, mreža in mesto. Ponujene funkcije so precej enostavne, kar programerjem začetnikom olajša oblikovanje aplikacij brez posebnega truda. Če želite namestiti tkinter v svoj sistem, zaženite naslednji ukaz v terminalu:

pip namestite tkinter

Naključni modul je vgrajena knjižnica, s katero lahko ustvarite naključne izbire. Z uporabo tega modula lahko razvijete igre ročnega kriketa, igre ugibanja številk, čarobne igre z osmimi žogami, generatorji naključnih gesel, in še veliko več.

Kako zgraditi barvno igro z uporabo Pythona

Izvorna koda Barvne igre je na voljo v a Repozitorij GitHub in je brezplačen za uporabo pod licenco MIT.

Začnite z uvozom tkinterja in naključnega modula. Shranite imena barv kot seznam nizov in inicializirajte rezultat spremenljivko na 0 in Preostali čas do 60.

od tkinter uvoz *
uvoz naključen

barve = ['Rdeča', 'Zelena', 'Modra', 'Črna', 'Roza', 'Bela', 'vijolična', 'Rumena', 'Rjav']
rezultat = 0
preostali_čas = 60

Določite funkcijo z imenom začetiIgro() ki traja dogodek kot vhodni argument. Funkcija izvaja dve nalogi. Najprej preveri, ali je Preostali čas je enako 60. Če da, pokliče in izvede odštevanje () funkcijo. Drugič, pokliče naslednja barva () funkcija, ki naključno premeša ter prikaže barvo in rezultat, ko je igra v teku.

defbeginGame(dogodek):
če preostali_čas == 60:
odštevanje ()
naslednjabarva()

Določite funkcijo z imenom naslednjabarva() in se sklicuje na spremenljivke globalno. Če je preostali čas večji od 0, nastavite fokus na vnosno polje z uporabo focus_set() metoda na vnosni oznaki (shranjena v spremenljivki e), definiran v kasnejši polovici kode.

Uporabi dobiti () metoda za pridobitev trenutnega besedila vnosa kot niza in ga spremeni v male črke, da se izogne ​​neujemanju velikih in malih črk. Če je to enako barvi, prikazani na zaslonu, povečajte rezultat za eno. Uporabi izbrisati() funkcijo od 0 do zadnjega indeksa v pripomočku za vnos, da počistite vsebino.

defnextColour():
globalno rezultat
globalno Preostali čas
če preostali čas > 0:
e.focus_set()
če e.get().lower() == barve[1].spodnji():
ocena += 1
e.delete(0, KONEC)

Uporabi premešaj() funkcijo za prerazporeditev elementov na seznamu in prikaz barvne oznake z besedilom kot prvo barvo na seznamu in barvo pisave kot drugo barvo na seznamu. Uporabi config() funkcija vklopljena scoreLabel (ki zahteva, da pritisnete Enter), da se prikaže rezultat, ko igra poteka.

 random.shuffle (barve)
label.config (fg=str (barve[1]), text=str (barve[0]))
scoreLabel.config (text="Ocena:" + str (rezultat))

Določite funkcijo z imenom odštevanje () ki se sklicuje na spremenljivko preostalega časa in jo zmanjša za eno. Uporabi config() funkcijo na timeLabel za prikaz preostalega časa na zaslonu in po () funkcijo za povratni klic odštevanje deluje po zamiku 1000 milisekund ali ene sekunde.

defodštevanje():
globalno Preostali čas
če preostali čas > 0:
preostali_čas -= 1
timeLabel.config (text="Preostali čas: " + str (preostali_čas))
timeLabel.after(1000, odštevanje)

Inicializirajte primerek tkinter in prikažite korensko okno. Nastavite naslov, dimenzije v slikovnih pikah in barvo ozadja okna.

koren = Tk()
root.title("Igra barv s pridihom")
root.geometry("750x450")
root.configure (background='Oranžna')

Uporabi Oznaka pripomoček za navodila igralca o navodilih za igro. Sprejme nadrejeno okno, v katerega bi ga postavili. Besedilo mora vsebovati vrsto in velikost pisave ter barvo ozadja nalepke. Uporabi paket() funkcijo za organiziranje gradnika oznake v blokih, preden jih postavite v nadrejeni gradnik.

Podobno določite oznako rezultata, da uporabniku naročite, naj pritisne Vnesite za začetek igre ter časovno oznako za prikaz preostalega časa. Prepričajte se, da imajo vse oznake oranžno ozadje, da se zlijejo z ozadjem. Določite prazno oznako, ki bo vsebovala imena barv v naslednjabarva() funkcijo.

navodila = Oznaka (koren, besedilo="Vnesite barvo besede in ne besedila ;)", pisava=('Arial', 24), bg="oranžna")
navodila.pack()
scoreLabel = Oznaka (koren, besedilo="Pritisnite Enter za začetek", pisava=('Arial', 24), bg="oranžna")
scoreLabel.pack()
timeLabel = Oznaka (koren, besedilo="Preostali čas: " + str (preostali čas), pisava=('Arial', 24), bg="oranžna")
timeLabel.pack()
label = Oznaka (koren, pisava=('Arial', 90), bg="oranžna")

Kot smo že omenili, uporabite pripomoček za vnos, da zajamete igralčev odgovor. Pomemben korak je povezovanje tipke Enter z dogodkom v oknu tkinterja, tako da se, ko jo igralec pritisne, izvede določena funkcija.

Če želite to doseči, opravite ključ in začetiIgro() delujejo kot parametri za vezati() funkcijo. Poleg tega uporabite paket() in focus_set() metode za organiziranje in nastavitev fokusa na vnosno oznako, ko pritisnete tipko Enter.

e = vnos (pisava=20)
root.bind('', začni igro)
e.pack()
e.focus_set()

The glavna zanka() funkcija pove Pythonu, naj zažene zanko dogodkov tkinter in posluša dogodke (kot so pritiski gumbov), dokler ne zaprete okna.

root.mainloop()

Združite vso kodo in na dosegu roke boste imeli pripravljeno barvno igro s preobratom.

Izhod barvne igre z uporabo Pythona

Ko zaženete program Color Game, se na zaslonu prikaže okno. Ko pritisnete Enter, se začne odštevanje in igralec mora začeti vnašati barvo besede. Za vsak pravilen odgovor se rezultat poveča za ena in na koncu prikaže končni rezultat.

Razvijanje iger z uporabo Pythona

Python je fantastičen jezik za razvoj iger. Jezik ni le preprost za razumevanje in uporabo, temveč razvijalcem iger vseh ravni izkušenj omogoča ustvarjanje osupljivih igralnih svetov, ki so zanimivi in ​​zabavni.

Poleg tega imajo ustvarjalci široko paleto možnosti, ko gre za uresničitev idej, zahvaljujoč različnim platformam za razvoj iger, ki so na voljo na trgu, kot sta PyGame ali Kivy.