Igranje je jedan od oblika zabave koji je dostupan ljudima. Igre svih vrsta su dostupne na mreži, na mobilnim uređajima, na desktop računarima, itd. Sada nije vrijeme za kreiranje jedne od tih izazovnih igara.
Koristeći Python, napravićemo CLI tic-tac-toe igru. Koristimo Python da napravimo jednostavnu Tic Tac Toe igru. Pomoći će vam u kreiranju logike igre i učenju kako organizirati kod.
Tic-Tac-Toe
Prije nego što počnemo s kodiranjem, mislio sam da ću brzo rezimirati igru i razgovarati o svom planu za razvoj.
Prvo ćemo uspostaviti pretpostavku da X uvijek preuzima inicijativu i kreće prvi, dajući korisniku priliku da djeluje.
Sa konzole će se unijeti broj između 1 i 9. U mreži u kojoj svaki broj odgovara drugom broju (gore lijevo je 1, dolje desno je 9).
Računar će automatski odrediti i izvršiti potez kada se korisnik pomeri. Ja ću koristiti jednu primarnu petlju igre koja poziva niz različitih rutina.
Koja se funkcija završava vjerovatno je naznačeno u svakom zaglavlju ove lekcije zasnovane na tekstu.
Dizajniranje ploče
Prikazat ćemo našu ploču koristeći raspored mreže, kao što sam prethodno naveo. Napravićemo listu pod nazivom board u Pythonu da bismo to uradili, a ona će početi sa 10 praznih vrednosti.
Budući da korisnik može unijeti samo brojeve od 1 do 9, a ne od 0 do 8, imamo 10 praznih vrijednosti umjesto 9. Dakle, da bismo pojednostavili stvari, prvom unosu naše liste dat ćemo vrijednost „prazan tekst“.
Na ovaj način, možemo koristiti 1–9 umjesto 0–8 za indeksiranje unosa u našoj listi.
umetni slovo()
Slovo i poz će biti dva ulaza za ovu funkciju. Samo će traženo pismo staviti na traženu lokaciju.
spaceIsFree(pos)
Jednostavno rečeno, ova metoda će nas obavijestiti da li je navedeno područje slobodno. Dakle, tamo već nema pisma. Pos, njegov jedini argument, bit će cijeli broj između 1 i 9.
štampana ploča (ploča)
Ploča se šalje kao argument ovoj metodi, koja je prikazuje na konzoli.
isWinner()
Na osnovu postojeće ploče, ova funkcija će nas obavijestiti da li je dostavljeno pismo pobijedilo. Ima dva parametra: le i tablu (slovo).
Mora biti "X" ili "O". Jednostavno pogledajte da li je navedeno slovo prisutno na svakoj potencijalnoj dobitnoj liniji na tabli.
glavni ()
Kada želimo da pokrenemo igru, pozvaćemo ovu metodu. Pozvat će svaku od mnogih funkcija našeg programa i odrediti kako bi program trebao raditi.
isBoardFull()
Kada se daje kao ulaz, ova metoda će jednostavno vratiti True ako je ploča puna i False u suprotnom.
playerMove()
U ovoj metodi ćemo zatražiti premještanje od korisnika i potvrditi ga. Pismo će biti dodato na tablu ako je potez legitiman. Ako ne, nastavit ćemo tražiti povratne informacije od korisnika.
CompMove() – AI
AI će sada početi. Kretanje računara će biti kontrolisano ovom funkcijom. Procijenit će ploču i odabrati najbolji potez.
Slijedi lista algoritma koji ćemo koristiti za ovo.
- Ako se trenutni korak ne može završiti, prijeđite na sljedeći.
- Preuzmi pobjednički potez ako možeš.
- Pomaknite se u tu poziciju u sljedećem okretu ako igrač ima potencijalno dobitni potez.
- Odaberite ugao i okrenite ga. Birajte nasumično ako postoji nekoliko opcija.
- Postavite se u sredinu.
- Razmotrite jednu od ivica. Birajte nasumično ako postoji nekoliko opcija.
- Ako nema načina za kretanje, igra se završava neriješeno.
selectRandom()
S obzirom na listu potencijalnih lokacija, ova funkcija će nasumično odabrati radnju koju treba poduzeti.
Početak igre
Igra se sada može započeti sada kada smo završili sve naše zadatke. Sve što bismo trebali učiniti je pozvati main ako želimo samo jednom pokrenuti igru.
Ali u našoj situaciji, želimo da igra nastavi da radi sve dok korisnik ne odluči da više ne želi da igra, pa ćemo glavnoj liniji dodati malu while petlju.
Kompletan kod
Ovdje je cijeli kod za našu igru, koji je sada završen.
izlaz
zaključak
Hura!
Igra koju ste napravili potpuno od nule. To nije igra koju igramo redovno. Ali pomaže u pisanju logike i održavanju jasne strukture u kodu.
Sretno kodiranje!
Ostavite odgovor