Lesere som deg er med på å støtte MUO. Når du foretar et kjøp ved å bruke lenker på nettstedet vårt, kan vi tjene en tilknyttet provisjon. Les mer.

Hvis du leter etter en morsom distraksjon, er ordblanding et godt alternativ, både å spille og programmere. Drevet av Pythons Tkinter-modul kan du bygge og spille dette barndomsspillet i en praktisk GUI-app.

Programmet viser et rotete ord som du må omorganisere til sin opprinnelige form. Hvis du sitter fast, kan du klikke på Hint-knappen for å avsløre én bokstav om gangen. Gjett ordet riktig og vinn stort!

Random og Tkinter-modulen

Random-modulen er en innebygd Python-modul som brukes til å generere pseudo-tilfeldige tall. Med dette kan du generere tilfeldige tall, velge tilfeldige elementer fra en liste, blande innholdet i en liste og mer.

Denne modulen kan hjelpe deg med å bygge flere typer apper, inkludert en terningkastsimulering, en liste-shuffler eller en tilfeldig passordgenerator. Du kan også bruke den til å lage spill som hånd cricket og tallgjetting.

Tkinter lar deg lage skrivebordsapplikasjoner. Den tilbyr en rekke widgets som knapper, etiketter og tekstbokser som gjør det enklere å utvikle apper. For å installere Tkinter, åpne en terminal og kjør:

pip installer tkinter

Hvordan bygge Word Jumble-spill ved hjelp av Python

Du kan finne kildekoden til Word Jumble Game ved å bruke Python i denne GitHub-depot.

Importer modulene Tkinter og Random. Initialiser Tkinter-forekomsten og vis rotvinduet. Angi dimensjonene i piksler, tittelen og bakgrunnsfargen til vinduet.

fra tkinter import *
fra tilfeldig import valg
fra tilfeldig import tilfeldig rekkefølge

root = Tk()
root.title("Word Jumble Game")
root.geometry("700x500")
root.configure (bakgrunn='aqua')

Definer en etikett-widget for å vise det rotete ordet. Spesifiser det overordnede vinduet du vil plassere det i, teksten det skal vise, skriftstilen og bakgrunnsfargen. Organiser widgeten og legg til litt polstring i den.

Definer en funksjon, shuffler. Konfigurer hintetiketten til å vise en tom streng først og sett den globale hintvariabelen til null. Slett alt innhold på grunn av programmets kjøring tidligere og vis en oppføringsstreng i stedet.

my_label = Etikett (root, text="", font=("Arial", 48), bg='aqua')
my_label.pack (pady=20)

defshuffler():
hint_label.config (tekst='')
global hint_count
hint_count = 0
oppføring_answer.delete(0, SLUTT)
answer_label.config (text='', bg='aqua')

Definer en liste over ord som skal fungere som datasettet for ordvirvarspillet. Velg et tilfeldig ord fra listen og lag en liste over dets individuelle bokstaver. Bland listen og reformer ordet ved å iterere over det og lagre det i en streng. Vis det rotete ordet via etiketten på skjermen.

 frukt = ['eple', 'banan', 'jordbær', 'vannmelon', "kiwi"]
global ord
ord = valg (frukt)
break_apart_word = liste (ord)
shuffle (break_apart_word)
global shuffled_word
shuffled_word = ''

til brev i break_apart_word:
shuffled_word += bokstav

my_label.config (text=shuffled_word)

Prøv å laste et sett med ord fra en fil som en utvidelse til dette prosjektet. Ordbokfilen—/usr/share/dict/words på Linux/macOS—er en utmerket kilde til ord.

Definer en funksjon, svar. Hvis ordet tilsvarer brukerens input, så vis en vinnermelding i grønn farge. Vis ellers at det var feil svar i rød farge.

defsvar():
hvis word == oppføring_answer.get():
answer_label.config (text="Korrekt svar!", bg='aqua', fg='grønn')
ellers:
answer_label.config (text="Feil svar, prøv igjen.", bg='aqua', fg='rød')

Definer en funksjon, hint, for å inspisere den globale hint_count. Hvis antallet er mindre enn ordets lengde, viser du neste bokstav i det riktige svaret. Øk antallet av hintbokstaven slik at neste gang funksjonen kjører, vil programmet vise neste bokstav.

defhint(telle):
global hint_count
hint_count = telle
word_length = len (ord)

hvis telle < word_length:
hint_label.config (tekst=f'{hint_label["tekst"]}{ordtelling]}', bg='aqua')
hint_count += 1

Definer en Entry-widget for å ta innspill fra brukeren. Spesifiser det overordnede vinduet du vil plassere denne widgeten i, sammen med skriftstilen, og organiser det ved å gi litt utfylling for god plass.

Definer en ramme for knappene. En ramme fungerer som en beholder som styrer plasseringen av andre widgets. Den ordner oppsettet og gir polstring ved hjelp av rektangulære seksjoner på skjermen. Angi det overordnede vinduet du vil plassere rammen i, sammen med bakgrunnsfargen.

entry_answer = Entry (root, font=("Arial", 24))
entry_answer.pack (pady=20)

button_frame = Ramme (root, bg='aqua')
button_frame.pack (pady=20)

Angi tre knapper: en for å vise riktig svar, en for å velge et annet ord, og den andre for å vise hint. Spesifiser rammen du vil plassere hver knapp i, og teksten den skal vise. Send også funksjonen som skal kjøres når brukeren klikker på den, bakgrunnsfarge, bredde og skriftstørrelse.

Bruke Nett() manager for å plassere disse knappene i én rad og tre forskjellige kolonner. Du kan angi utfylling for å legge til mellomrom mellom knappene.

answer_button = Knapp (knappramme, tekst="Svar", kommando=svar, bg='oransje', bredde=8, font=10)
answer_button.grid (rad=0, kolonne=0, padx=10)

my_button = Knapp (knappramme, tekst="Velg et annet ord", kommando=shuffler, bg='oransje', bredde=15, font=10)
my_button.grid (rad=0, kolonne=1, padx=10)

hint_button = Knapp (knappramme, tekst="Hint", kommando=lambda: hint (hint_count), bg='oransje', bredde=5, font=10)
hint_button.grid (rad=0, kolonne=2, padx=10)

Lag etiketter for svaret og hintet. Spesifiser det overordnede vinduet du vil plassere etikettene i, teksten den skal vise og skriftstilen, og organiser den ved å bruke pakke(). Send en utfyllingsverdi, pady, for bedre plassering av etikettene.

answer_label = Etikett (root, text='', font=("Arial", 22))
answer_label.pack (pady=20)

hint_label = Etikett (root, text='', font=("Arial", 22), bg='aqua')
hint_label.pack (pady=10)

Kall opp shuffler()-funksjonen for å sette opp spillet. Så ring mainloop() for å kjøre Tkinter-hendelsesløkken og lytte etter hendelser (som knappetrykk) til du lukker vinduet.

shuffler()
root.mainloop()

Sett sammen all koden og spill Word Jumble-spillet når som helst og hvor som helst.

Eksempel på utdata fra Word Jumble Game

Når du kjører programmet, viser det et blandet ord sammen med knappene Svar, Velg et annet ord og Hint. Ved å klikke på Hint knappen viser programmet bokstavene til det riktige svaret én etter én. Hvis du skriver inn riktig svar, viser programmet vinnermeldingen i grønt.

Hvis du gjetter feil svar, ber programmet deg prøve igjen i rød farge.

Ordspill med Python

Ved å bruke Python kan du utvikle et bredt og spennende utvalg av ordspill. Eksempler inkluderer Scrabble, Hangman, kryssord, Mad Libs og anagrammer. Disse ordspillene kan være terminalbaserte eller GUI-baserte, som du har sett her.

Med Tkinter kan du lage GUI-spill veldig enkelt. Alt du trenger å gjøre er å importere modulen, generere et vindu, legge til widgets og kjøre hendelsesløkken. For mer avanserte spill kan du utforske Pygame, Kivy og Panda 3D-moduler.