Python | Synosis

Problemformulering
M˚alet med dette projekt er at implementere spillet Tic Tac Toe (Tre p˚a Stri- be) i Python. Spillet skal køre i terminalen, uden en grafisk brugergrænseflade.

Spillerne skiftes til at indtaste en position hvor de ønsker at placere deres brik. Programmet skal holde styr p˚a at spillerne ikke foretager ulovlige træk

(f.eks. m˚a man ikke kunne placere en brik p˚a en position der allerede er optaget), og skal automatisk slutte n˚ar den ene spiller vinder, eller brættet er fyldt ud.

Indholdsfortegnelse
1 Problemformulering

2 Dokumentation af programmets brug

3 Gennemgang af koden
3.1 Main loop
3.2 Input-validering
3.3 Win-condition
3.4 Mindre funktioner

4 Tests
4.1 Brættet og brikkerne
4.2 Validering af brugerinput

5 Konklusion
5.1 Fremtidige forbedringer

A Koden

Uddrag
I dette projekt har jeg bygget et tic-tac-toe-spil (eller Tre p˚a Stribe) i Python. Mit program tillader to spillere at sidde ved den samme computer og skiftes til at tage en tur ved at taste den ønskede position i terminalen.

Spillet fungerer godt nok til at man kan tage et spil fra start til slut, men mangler nogle funktioner for at være helt færdigt.

F.eks. crasher det hvis brugeren indtaster andet end tal til positionen. Programmet kan heller ikke opdage hvis spillet ender uafgjort – det tjekker kun for om en af spillerne har vundet.

---

Det første der sker i spillerens tur er at han bliver bedt om at indtaste en position. Det r˚a input f˚ar jeg med Python’s input-funktion, hvorefter jeg bruger en parse-funktion som jeg selv har skrevet til at validere inputtet og lave det om fra en string til et par af tal.

Programmet bliver ved med at spørge om input indtil brugeren indtaster noget som parse-funktionen accepterer (while-loop p˚a linje 57-60).

N˚ar vi først har f˚aet en gyldig position fra spilleren, gør vi tre ting: Først placerer vi en brik p˚a denne position (place piece), s˚a printer vi brættet som det ser ud nu, og s˚a tjekker vi om spilleren har vundet. Hvis spilleren har vundet, printer vi en besked og slutter spillet (linje 63-65).

Sådan får du adgang til hele dokumentet

Byt til nyt Upload en af dine opgaver og få adgang til denne opgave
  • Opgaven kvalitetstjekkes
  • Vent op til 1 time
  • 1 Download
  • Minimum 10 eller 12-tal
Premium 39 DKK pr måned Få adgang nu