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. 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. (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 må også summera opp og skriva ut kem som vant totalt. Hvis du er riktig god kan du prøva å legga inn logikk i programmet slik at det 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 ...

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 ein "G" bak tre "dører". Så skal brukaren plukka ei dør, ved å skriva inn eit tal (1, 2 eller 3). Programmet skal avsløra innhaldet av den valgte døra. Hvis det er ein "B", så har brukaren vunne. Hvis det er ein "G", så kan brukaren får eit forsøk til. Han / ho kan då velja den same, eller ei ny. Hvis brukaren no velgjer "G", så har han tapt.

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. 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.