Huskespill

Huskespill

I denne oppgaven skal du lage et huskespill hvor spilleren skal huske flest mulig ord i riktig rekkefølge. Spilleren skal få opp en liste med ord, deretter skal listen forsvinne og spilleren skal så skrive inn ordene i riktig rekkefølge. Skrives ordene inn i riktig rekkefølge, vil listen utvides med et nytt ord som må huskes. Programmet holder på slik helt til spilleren gjetter feil. Når spillet er ferdig får spilleren vite hvor mange ord han eller hun klarte å huske etter hverandre.

Vi vil bygge programmet gradvis steg for steg. I hvert steg vil det gis viktige tips som ligner på slik en bør løse steget.

**Eksempel på hvordan programmet skal fungere: **

Steg 1: Utvid en liste med tilfeldige element

Tips: Lister

Hva: En liste er en variabel som kan lagre flere verdier på en gang.

Hvordan lage lister:

liste = ['sau', 'gris', 'menneske']
tom_liste = []
print(liste)
print(tom_liste)

Hvordan hente ut verdier fra en liste:

print(liste[2])

Husk at vi begynner å telle på 0, så første posisjon i lista er posisjon 0. Deretter teller vi oppover 0,1,2,3...

Hvordan finne lengden til liste:

lengde = len(liste)
print(lengde)

Hvordan legge til ny verdi på slutten av liste:

print(liste)
liste.append('nils')
print(liste)

Prøv ut eksemplene for å forstå hvordan du kan bruke dem til å løse oppgaven.

Tips: Velge et tilfeldig element i en liste

For å hente et tilfeldig element i en liste kan man bruke choice() i random-biblioteket.

Eksempel:

import random
liste = ['asdf', 'qwerty', 'nils']

tilfeldig = random.choice(liste)
print(tilfeldig)

Prøv å kjør denne koden mange ganger!

Steg 2: Hent inn tekst og lag liste av den

Tips: Hente innputt

For å hente innputt og lagre det til en variabel kan vi bruke input().

Eksempel:

tekst = input('Skriv noe')

Det som brukeren skriver inn vil lagres i variabelen tekst.

Tips: Splitte tekst til en liste

Siden spilleren ikke kan skrive inn en liste, men kun tekst, må vi forandre teksten til en liste. Dette kan vi gjøre med split(). Hvis vi skiller ordene som skal være i lista med et bestemt tegn, kan split() hente ut alle ordene og legge dem i en liste.

Eksempel:

tekst = 'giraff-neshorn-bjørn-pelikan'
liste = tekst.split('-')
print(liste)

Merk '-' som står i parentesen split('-'). Denne forteller hvilket tegn som skiller ordene fra hverandre.

Test ut eksempelet for å se hva som skjer.

Steg 3: Lag spillet

Sjekkliste for oppgaven

Forbedre denne siden

Funnet en feil? Kunne noe vært bedre? Hvis ja, vennligst gi oss tilbakemelding ved å lage en sak på Github eller fiks feilen selv om du kan. Vi er takknemlige for enhver tilbakemelding!

Rapporter et problemVis koden og fiks selv