Jocurile sunt o formă de divertisment disponibilă oamenilor. Jocurile de tot felul sunt disponibile online, pe dispozitive mobile, pe computere desktop etc. Nu este momentul să creați unul dintre acele jocuri provocatoare.
Folosind Python, vom crea un joc CLI tic-tac-toe. Să folosim Python pentru a construi un joc simplu Tic Tac Toe. Vă va ajuta să creați logica jocului și să învățați cum să organizați codul.
Tic-Tac-Toe
Înainte de a începe codificarea, m-am gândit să rezumam rapid jocul și să discut despre planul meu de dezvoltare.
În primul rând, vom stabili ipoteza că X-urile iau întotdeauna inițiativa și se mișcă primii, oferind utilizatorului posibilitatea de a acționa.
Din consolă va fi introdus un număr între 1 și 9. Într-o grilă în care fiecare număr corespunde unui număr diferit (stânga sus este 1, dreapta jos este 9).
Computerul va determina automat și va face mișcarea odată ce utilizatorul se va muta. O buclă principală de joc care apelează la o serie de rutine diferite va fi folosită de mine.
Funcția care este finalizată este probabil indicată în fiecare antet al acestei lecții bazate pe text.
Proiectarea unei table
Vom reprezenta placa noastră folosind un aspect al grilei, așa cum am indicat anterior. Vom face o listă cu nume de tablă în Python pentru a face acest lucru și va începe cu 10 valori goale.
Deoarece utilizatorul poate introduce doar numere de la 1 la 9, nu de la 0 la 8, avem 10 valori goale în loc de 9. Așadar, pentru a simplifica lucrurile, vom da primei intrări din lista noastră valoarea „text gol”.
În acest mod, putem folosi 1–9 în loc de 0–8 pentru a indexa intrările din lista noastră.
insertLetter()
Letter și Pos vor fi cele două intrări pentru această funcție. Va pune scrisoarea solicitată doar la locația solicitată.
spaceIsFree(poz)
Pur și simplu spus, această metodă ne va informa dacă zona specificată este liberă. Prin urmare, nu există deja o scrisoare acolo. Pos, singurul său argument, va fi un număr întreg între 1 și 9.
printBoard(board)
Placa este trimisă ca argument la această metodă, care o afișează pe consolă.
isWinner()
Pe baza tabloului prezent, această funcție ne va anunța dacă scrisoarea furnizată a câștigat. Are doi parametri: le și board (litera).
Trebuie să fie un „X” sau un „O”. Pur și simplu uitați-vă pentru a vedea dacă litera specificată este prezentă pe fiecare potențială linie câștigătoare de pe tablă.
main ()
Când vrem să începem jocul, vom numi această metodă. Va apela fiecare dintre numeroasele funcții ale programului nostru și va direcționa modul în care programul ar trebui să ruleze.
isBoardFull()
Când este dată la bord ca intrare, această metodă va returna pur și simplu True dacă placa este plină și False în caz contrar.
playerMove()
În această metodă, vom solicita o mutare de la utilizator și o vom valida. Scrisoarea va fi adăugată pe tablă dacă mutarea este legitimă. Dacă nu, vom continua să solicităm feedbackul utilizatorului.
CompMove() – AI
AI va începe acum. Mișcarea computerelor va fi controlată de această funcție. Acesta va evalua tabla și va alege cea mai bună mișcare de făcut.
Mai jos este o listă a algoritmului pe care îl vom folosi pentru a face acest lucru.
- Dacă pasul curent nu poate fi terminat, treceți la următorul.
- Luați mișcarea câștigătoare dacă puteți.
- Mutați-vă în acea poziție în rândul următor dacă jucătorul are o mișcare potențial câștigătoare.
- Alege un colț și întoarce-l. Alegeți la întâmplare dacă există mai multe opțiuni.
- Pune-te la mijloc.
- Luați în considerare una dintre margini. Alegeți la întâmplare dacă există mai multe opțiuni.
- Dacă nu există nicio modalitate de deplasare, jocul se termină la egalitate.
select Random()
Având în vedere o listă de locații potențiale, această funcție va alege la întâmplare acțiunea de întreprins.
Începutul jocului
Jocul poate fi început acum că ne-am terminat toate sarcinile. Tot ce ar trebui să facem este să numim principal dacă dorim să rulăm jocul o singură dată.
Dar, în situația noastră, dorim ca jocul să continue să ruleze până când utilizatorul decide că nu mai vrea să joace, așa că vom adăuga o mică buclă while la linia principală.
Cod complet
Iată întregul cod pentru jocul nostru, care este acum complet.
producție
Concluzie
Ura!
Un joc pe care l-ai făcut în întregime de la zero. Nu este un joc pe care îl jucăm în mod regulat. Dar ajută la scrierea logicii și la menținerea unei structuri clare în cod.
Codificare fericită!
Lasă un comentariu