Gaming er en form for underholdning tilgjengelig for folk. Spill av alle slag er tilgjengelig online, på mobile enheter, på stasjonære datamaskiner, osv. Nå er ikke tiden for å lage et av disse utfordrende spillene.
Ved å bruke Python lager vi et CLI-spill. La oss bruke Python til å bygge et enkelt Tic Tac Toe-spill. Det vil hjelpe deg med å lage spilllogikk og lære hvordan du organiserer kode.
Tre på rad
Før vi begynner å kode, tenkte jeg at jeg raskt skulle oppsummere spillet og diskutere planen min for å utvikle det.
Først vil vi etablere antakelsen om at Xs alltid tar initiativet og beveger seg først, og gir brukeren muligheten til å handle.
Fra konsollen vil et tall mellom 1 og 9 bli lagt inn. I et rutenett hvor hvert tall tilsvarer et annet tall (øverst til venstre er 1, nederst til høyre er 9).
Datamaskinen vil automatisk bestemme og gjøre sitt trekk når brukeren beveger seg. En primær spillløkke som kaller en rekke ulike rutiner vil bli brukt av meg.
Hvilken funksjon som fullføres er sannsynligvis angitt i hver overskrift i denne tekstbaserte leksjonen.
Designe et brett
Vi vil skildre brettet vårt ved å bruke et rutenettoppsett, som jeg indikerte tidligere. Vi lager en liste med navnet bord i Python for å gjøre dette, og den begynner med 10 tomme verdier.
Fordi brukeren bare kan skrive inn tallene 1 til 9, ikke 0 til 8, har vi 10 tomme verdier i stedet for 9. Så, for å forenkle ting, gir vi listens første oppføring verdien «tom tekst».
På denne måten kan vi bruke 1–9 i stedet for 0–8 for å indeksere oppføringene i listen vår.
insertLetter()
Bokstav og Pos vil være de to inngangene for denne funksjonen. Det vil bare legge det forespurte brevet på det forespurte stedet.
spaceIsFree(pos)
Enkelt sagt, denne metoden vil informere oss om det angitte området er ledig. Derfor er det ikke et brev der allerede. Pos, dets eneste argument, vil være et heltall mellom 1 og 9.
printBoard(board)
Brettet sendes som et argument til denne metoden, som viser den på konsollen.
ervinner()
Basert på det nåværende styret vil denne funksjonen gi oss beskjed om det leverte brevet har vunnet. Den har to parametere: le og tavle (bokstav).
Det må være en "X" eller en "O." Bare se for å se om den angitte bokstaven er til stede på hver potensielle vinnerlinje på brettet.
main ()
Når vi vil starte spillet, skal vi kalle denne metoden. Den vil kalle opp hver enkelt av programmets mange funksjoner og styre hvordan programmet skal kjøre.
isBoardFull()
Når den er gitt ombord som en input, vil denne metoden ganske enkelt returnere True hvis brettet er fullt og False ellers.
playerMove()
I denne metoden vil vi be om en flytting fra brukeren og validere den. Brevet vil bli lagt til styret dersom flyttingen er lovlig. Hvis ikke, vil vi fortsette å be om brukerens tilbakemelding.
CompMove() – AI
AI vil nå begynne. Bevegelsen til datamaskinene vil bli kontrollert av denne funksjonen. Den vil evaluere styret og velge det beste trekket å gjøre.
Følgende er en liste over algoritmen vi skal bruke for å gjøre dette.
- Hvis det gjeldende trinnet ikke kan fullføres, gå videre til det følgende.
- Ta vinnertrekket hvis du kan.
- Flytt til den posisjonen i den påfølgende svingen hvis spilleren har et potensielt vinnende trekk.
- Velg et hjørne og snu det. Velg tilfeldig hvis det er flere alternativer.
- Plasser deg selv i midten.
- Tenk på en av kantene. Velg tilfeldig hvis det er flere alternativer.
- Hvis det ikke er mulig å bevege seg, ender spillet uavgjort.
selectRandom()
Gitt en liste over potensielle steder, vil denne funksjonen velge tilfeldig handlingen som skal utføres.
Spillets start
Spillet kan nå startes nå som vi har fullført alle oppgavene våre. Alt vi trenger å gjøre er å ringe main hvis vi bare ville kjøre spillet en gang.
Men i vår situasjon vil vi at spillet skal fortsette å kjøre til brukeren bestemmer seg for at de ikke lenger vil spille, så vi legger til en liten mens-løkke til hovedlinjen.
Komplett kode
Her er hele koden for spillet vårt, som nå er fullført.
Produksjon
konklusjonen
Hurra!
Et spill du har laget helt fra bunnen av. Det er ikke et spill vi spiller på en jevnlig basis. Men det hjelper med skriving av logikk og opprettholdelse av en klar struktur i kode.
God koding!
Legg igjen en kommentar