Spil er en form for underholdning tilgængelig for folk. Spil af alle slags er tilgængelige online, på mobile enheder, på stationære computere osv. Nu er det ikke tid til at skabe et af disse udfordrende spil.
Ved hjælp af Python laver vi et CLI tic-tac-toe spil. Lad os bruge Python til at bygge et ligetil Tic Tac Toe-spil. Det vil hjælpe dig med at skabe spillogik og lære at organisere kode.
Trip Trap Træsko
Før vi begynder at kode, tænkte jeg, at jeg hurtigt ville opsummere spillet og diskutere min plan for udvikling af det.
Først vil vi etablere den antagelse, at X'er altid tager initiativet og bevæger sig først, hvilket giver brugeren mulighed for at handle.
Fra konsollen vil et tal mellem 1 og 9 blive indtastet. I et gitter, hvor hvert tal svarer til et andet tal (øverst til venstre er 1, nederst til højre er 9).
Computeren vil automatisk bestemme og foretage sit træk, når brugeren bevæger sig. En primær spilløkke, der kalder en række forskellige rutiner, vil blive brugt af mig.
Hvilken funktion der afsluttes, er sandsynligvis angivet i hver overskrift på denne tekstbaserede lektion.
Design af et bord
Vi vil afbilde vores bord ved hjælp af et gitterlayout, som jeg antydede tidligere. Vi laver en liste med navnet board i Python for at gøre dette, og den begynder med 10 tomme værdier.
Fordi brugeren kun kan indtaste tallene 1 til 9, ikke 0 til 8, har vi 10 tomme værdier i stedet for 9. Så for at forenkle tingene giver vi vores listes første indtastning værdien "tom tekst."
På denne måde kan vi bruge 1–9 i stedet for 0–8 til at indeksere posterne på vores liste.
insertLetter()
Bogstav og Pos vil være de to indgange for denne funktion. Det vil kun placere det anmodede brev på det ønskede sted.
spaceIsFree(pos)
Simpelthen sagt vil denne metode informere os om det angivne område er frit. Derfor er der ikke et brev der allerede. Pos, dets eneste argument, vil være et heltal mellem 1 og 9.
printBoard(board)
Tavlen sendes som et argument til denne metode, som viser den på konsollen.
erVinder()
Baseret på den nuværende tavle vil denne funktion fortælle os, om det leverede brev har vundet. Den har to parametre: le og tavle (bogstav).
Det skal være et "X" eller et "O". Se blot for at se, om det angivne bogstav er til stede på hver potentiel vinderlinje på brættet.
main ()
Når vi vil starte spillet, kalder vi denne metode. Det vil kalde hver enkelt af vores programs mange funktioner og instruere, hvordan programmet skal køre.
isBoardFull()
Når den gives ombord som input, vil denne metode ganske enkelt returnere Sand, hvis tavlen er fuld og ellers falsk.
playerMove()
I denne metode vil vi anmode om en flytning fra brugeren og validere den. Brevet vil blive tilføjet bestyrelsen, hvis flytningen er lovlig. Hvis ikke, vil vi blive ved med at anmode om brugerens feedback.
CompMove() – AI
AI vil nu begynde. Bevægelsen af computerne vil blive styret af denne funktion. Det vil evaluere bestyrelsen og vælge det bedste træk at foretage.
Følgende er en liste over den algoritme, vi vil bruge til at gøre dette.
- Hvis det aktuelle trin ikke kan afsluttes, skal du gå videre til det følgende.
- Tag det vindende træk, hvis du kan.
- Flyt til den position i den følgende tur, hvis spilleren har et potentielt vindende træk.
- Vælg et hjørne og drej det. Vælg tilfældigt, hvis der er flere muligheder.
- Placer dig selv i midten.
- Overvej en af kanterne. Vælg tilfældigt, hvis der er flere muligheder.
- Hvis der ikke er nogen måde at bevæge sig på, ender spillet uafgjort.
selectRandom()
Givet en liste over potentielle steder, vil denne funktion tilfældigt vælge den handling, der skal udføres.
Spillets start
Spillet kan nu startes nu, hvor vi har afsluttet alle vores opgaver. Alt, hvad vi skal gøre, er at kalde main, hvis vi bare ville køre spillet én gang.
Men i vores situation ønsker vi, at spillet skal fortsætte, indtil brugeren beslutter, at de ikke længere vil spille, så vi tilføjer en lille mens-løkke til hovedlinjen.
Komplet kode
Her er hele koden til vores spil, som nu er færdig.
Produktion
Konklusion
Hurra!
Et spil, du har lavet helt fra bunden. Det er ikke et spil, vi spiller på en regelmæssig basis. Men det hjælper med at skrive logik og opretholde en klar struktur i kode.
God kodning!
Giv en kommentar