Spilloppgaver 1: Tekstbaserte spill

Disse oppgavene bruker ikkje grafikk, men tar bare input og output frå konsollet. Utanom disse oppgavene kan du gjerne finna andre spill sjøl!

1 Enkel gjetteleik:

Spelaren skal gjetta på eit tal mellom feks 1 og 127. Programmet skal svara om spelaren traff, eller om han gjetta for lavt eller for høgt. Hvis spelaren bruker meir enn (feks) 7 forsøk, så skal programmet stoppa og mobba spelaren. Når spelaren treff, så skal programmet skriva ut kor mange forsøk som spelaren har brukt.

2 Stein, Saks, Papir

Versjon 1: Lag eit program som spelar Stein Saks Papir med brukaren. Vi bruker engelsk R for stein, S for saks og P for papir. Reglane er enkla: R slår S, S slår P og P slår R. La brukaren skriva inn sitt valg og maskinen trekka tilfeldig. Skriv ut kem som vant.

Versjon 2: Utvid programmet slik at det spelar fleire rundar heilt til brukar skriv "Q", og deretter stoppar. Programmet skal summera opp og skriva ut kem som vant totalt. Hvis du er riktig god kan du også prøva å legga inn logikk i programmet slik at maskinen ikkje spelar random. Spel online her.

Versjon 3: Du kan også utvida endå meir til "Rock, Paper, Scissors, Lizard, Spock".

3 Pig og andre terningspel

Lag eit program som spelar Pig.

Versjon 1: Spill til 100 eller meir poeng totalt. Kvar runde startar med at brukar "trillar" terningen, dvs. maskinen finn tilfeldig eit tal mellom 1 og 6. Spelar får då spørsmål om å "halda", dvs. å skriva "h". Hvis ho held, blir antal poeng lagt til totalen, og skriven ut. Hvis ho ikkje held blir det trilla terning på nytt.  For kvar runde tel du opp poeng (summen av terningane i denne runden) heilt til spelaren stoppar, bortsett frå hvis ho får 1, for då er runden over og ingen poeng blir lagt til totalen. Så blir det ny runde. Når spelaren er ferdig, skriv du ut kor mange forsøk / rundar ho brukte for å nå 100.

Versjon 2: La brukaren spela mot maskinen. Så her må du finna ein lur regel som gjer at maskinen stoppar på ein bra sum for kvar runde. Den enklaste regelen er bare å stoppa når antal poeng for runden er større enn eit gitt tall ...

Pig med to terningar

I denne versjonen ryk du ut av omgangen dersom du kastar einar på ein eller begge terningane. Her er det altså sannsynligheten for å få ein ulik den originale versjonen. Bortsett frå det er det same reglar. I ein variant får du 25 poeng dersom du får to einarar.

Eventuelt kan du prøva deg på andre (og meir kompliserte) terningspel, som for eksempel Yatzy. Du kan spela det online her.

4 Kortspill

Her kan vi feks. prøva oss på Tjueett eller Blackjack, som er veldig like. Andre kortspel kan kanskje vera Poker, Uno eller Vriåtter?

5 Monty Hall:

Du kan også prøva å laga eit program som lar brukaren spela Monty Hall.

Versjon 1: Programmet skal plassera tilfeldig ein "bil" i form av ein "B", og to "geiter" i form av "G-ar" bak tre "dører". Så skal brukaren plukka ei dør, ved å skriva inn eit tal (1, 2 eller 3). Programmet skal då avsløra innhaldet av ei anna døra som inneheld ei geit. Spelaren får deretter valget mellom å stå på den døra ho valgte, eller bytta.

Versjon 2: La brukaren spelar mange gonger, og summer resultatet, dvs antal vinn og antal tap.

Versjon 3: La brukaren velja ein strategi, ("S" for "stå", og "B" for bytt"). Spel automatisk med denne strategien eit visst antal gonger, feks 100, og summer.

Dette er meir av eit paradoks enn eit spel, for det viser seg at det fins ein lur strategi og ein mindre smart strategi. Så det kan brukaren finna ut av sjøl. Du kan spela det oneline her.

6 Hangman:

Lag eit program som lar brukaren spela Hangman. Grafisk versjon her. Du kan testa med ein fast fasit først, og seinare legga inn andre ord som programmet skal velga blant. I ein tekstbasert versjon treng vi bare, for kvar gjetting, skriva ut alle korrekte bokstavar på riktig plass, og så skriva "_" på dei andre plassane. Skriv ut antal liv igjen. Hvis antal liv igjen er null, skal programmet stoppa. Hvis brukaren har funne ordet, skriv ut "Gratulerer" eller tilsvararnde. Hvis ikkje får brukaren nye forsøk.

7 PSD Fangens dilemma.

Lag eit spel som spelar fangens dilemma med brukaren. Reglane vi skal bruka er som følger:

Spelaren spiller mot programmet. Begge skal velga "C" som står for "Cooperate", dvs samarbeid, eller "D", som står for "Defect", som vi kan oversette med "tysta" eller "forråda". Begge velge uavhengig av den andre, dvs. uten å kjenna til ka motparten har valgt. Så får dei poeng etter følgande reglar:

Eit spel består av ei rekke på eit visst antal trekk (valg), feks ti gonger, og vinnaren er den som får mest poeng totalt. Både spelar og program kan bruka historikken, dvs korleis foregåande valg har gått, og justera sine trekk basert på den informasjonen.

NB! Seinare skal vi spela turnering, dvs at alle våre program skal spela mot kvarandre. I tillegg vil også eit antal andre program delta. Då blir vinnaren den som får mest poeng etter heile turneringen.

8 Hulespill

I gamle dagar, dvs. før PCen og det grafiske brukergrensesnittet kom, var hulespill populære. På engelsk kallast det Adventure Game. Her er det mange klassikarar, og eit av dei mest berømte er Colossal Cave Adventure, som du kan spela online her. Det er mykje jobb med slike, men vi kan kanskje prøva oss på ein enkel versjon. Hvis du vil testa andre online versjonar kan du sjekka her: 5 Text-Based Adventure Games You Can Play in Your Browser.