Igre su jedan od oblika zabave koji je dostupan ljudima. Igre svih vrsta dostupne su online, na mobilnim uređajima, stolnim računalima itd. Sada nije vrijeme za stvaranje jedne od tih izazovnih igara.
Koristeći Python, napravit ćemo CLI tic-tac-toe igru. Upotrijebimo Python za izradu jednostavne igre Tic Tac Toe. Pomoći će vam u stvaranju logike igre i učenju organiziranja koda.
Križić kružić
Prije nego što počnemo kodirati, mislio sam na brzinu sažeti igru i raspraviti svoj plan za njezin razvoj.
Prvo, uspostavit ćemo pretpostavku da X-ovi uvijek preuzimaju inicijativu i kreću prvi, dajući korisniku priliku da djeluje.
S konzole će se unijeti broj između 1 i 9. U mreži gdje svaki broj odgovara drugom broju (gore lijevo je 1, dolje desno je 9).
Računalo će automatski odrediti i napraviti svoj potez nakon što se korisnik pomakne. Ja ću koristiti jednu primarnu petlju igre koja poziva niz različitih rutina.
Koja se funkcija dovršava vjerojatno je naznačeno u svakom zaglavlju ove tekstualne lekcije.
Dizajn ploče
Prikazat ćemo našu ploču pomoću rasporeda mreže, kao što sam prethodno naznačio. Da bismo to učinili, napravit ćemo popis pod nazivom board u Pythonu, a započet će s 10 praznih vrijednosti.
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, kako bismo pojednostavili stvari, prvom unosu našeg popisa dat ćemo vrijednost "prazan tekst".
Na taj način možemo koristiti 1–9 umjesto 0–8 za indeksiranje unosa na našem popisu.
umetni pismo()
Slovo i Pos bit će dva ulaza za ovu funkciju. Samo će postaviti traženo pismo na traženo mjesto.
razmakIsFree(pos)
Jednostavno rečeno, ova metoda će nas obavijestiti je li navedeno područje slobodno. Dakle, tamo već nema pisma. Pos, njegov jedini argument, bit će cijeli broj između 1 i 9.
ispisna ploča (ploča)
Ploča se šalje kao argument ovoj metodi, koja je prikazuje na konzoli.
je pobjednik()
Na temelju postojeće ploče, ova funkcija će nas obavijestiti je li dostavljeno slovo pobijedilo. Ima dva parametra: le i board (pismo).
Mora biti "X" ili "O". Jednostavno pogledajte nalazi li se određeno slovo na svakoj potencijalnoj dobitnoj liniji na ploči.
glavni()
Kada želimo pokrenuti igru, pozvat ćemo ovu metodu. Pozvat će svaku pojedinu od brojnih funkcija našeg programa i odrediti kako se program treba izvoditi.
isBoardFull()
Kada se daje na ploču kao ulaz, ova metoda će jednostavno vratiti True ako je ploča puna i False u suprotnom.
playerMove()
Ovom metodom od korisnika ćemo zatražiti premještanje i potvrditi ga. Slovo će biti dodano na ploču ako je potez legitiman. Ako ne, nastavit ćemo tražiti povratne informacije korisnika.
CompMove() – AI
AI će sada početi. Ova će funkcija kontrolirati kretanje računala. Procijenit će ploču i izabrati najbolji potez.
Slijedi popis algoritama koje ćemo koristiti za to.
- Ako se trenutni korak ne može završiti, prijeđite na sljedeći.
- Poduzmi pobjednički potez ako možeš.
- Premjestite se na tu poziciju u sljedećem potezu ako igrač ima potencijalno pobjednički potez.
- Odaberite kut i okrenite ga. Odaberite nasumično ako postoji nekoliko opcija.
- Postavite se u sredinu.
- Razmotrite jedan od rubova. Odaberite nasumično ako postoji nekoliko opcija.
- Ako nema načina za kretanje, igra završava neriješeno.
selectRandom()
S obzirom na popis potencijalnih lokacija, ova će funkcija nasumično odabrati akciju koju treba poduzeti.
Početak igre
Igru sada možemo pokrenuti nakon što smo završili sve svoje zadatke. Sve što bismo trebali učiniti je nazvati main ako želimo samo jednom pokrenuti igru.
Ali u našoj situaciji, želimo da se igra nastavi izvoditi sve dok korisnik ne odluči da više ne želi igrati, pa ćemo dodati malenu while petlju u glavnu liniju.
Kompletan kod
Ovdje je cijeli kod za našu igru, koja je sada dovršena.
Izlaz
Zaključak
Hura!
Igra koju ste napravili potpuno od nule. To nije igra koju redovito igramo. Ali pomaže u pisanju logike i održavanju jasne strukture koda.
Sretno kodiranje!
Ostavi odgovor