Mitambo ndiyo imwe nzira yevaraidzo inowanikwa nevanhu. Mitambo yemarudzi ese inowanikwa online, panharembozha, pamakomputa edesktop, etc. Ino haisi nguva yekugadzira imwe yemitambo yakaoma.
Tichishandisa Python, tichaita CLI tic-tac-toe mutambo. Ngatishandisei Python kuvaka mutambo wakatwasuka weTic Tac Toe. Ichakubatsira iwe kugadzira logic yemutambo uye kudzidza kuronga kodhi.
Tic-Tac-Toe
Tisati tatanga kukodha, ndakafunga kuti ndichakurumidza kupfupisa mutambo uye kukurukura hurongwa hwangu hwekuugadzira.
Chekutanga, tichamisa fungidziro yekuti Xs inogara ichitora danho uye kufamba kutanga, ichipa mushandisi mukana wekuita.
Kubva pane koni, nhamba iri pakati pe1 ne9 ichaiswa. Mugridi umo nhamba imwe neimwe inoenderana nenhamba yakasiyana (kumusoro kuruboshwe ndi1, pasi kurudyi ndi9).
Iyo komputa inozvionera yega uye kuita mafambiro ayo kana mushandisi angofamba. Imwe yepuraimari mutambo loop inodaidza akati wandei maitiro akasiyana ichashandiswa neni.
Nderipi basa riri kupedzwa rinogona kuratidzwa mumusoro wega wega wechidzidzo ichi.
Kugadzira Bhodhi
Ticharatidza bhodhi redu tichishandisa grid marongero, sezvandamboratidza. Isu tichaita rondedzero yakanzi bhodhi muPython kuita izvi, uye ichatanga negumi isina chinhu.
Nekuti mushandisi anogona kungopinza nhamba 1 kusvika 9, kwete 0 kusvika 8, isu tine gumi zvisina chinhu pane 10. Saka, kuitira kurerutsa zvinhu, tinopa yekutanga chinyorwa kukosha kukosha "isina mavara."
Neiyi nzira, tinogona kushandisa 1–9 pachinzvimbo cha 0–8 kuratidza zvinyorwa muhurongwa hwedu.
pinzaLetter()
Tsamba nePos zvichange zviri zviviri zvekupinza basa iri. Inongoisa tsamba yakakumbirwa panzvimbo yakakumbirwa.
nzvimboIsFree(pos)
Zvichingotaura, nzira iyi ichatizivisa kana nzvimbo yakatarwa iri yemahara. Saka, hapachina tsamba ipapo. Pos, nharo yayo yega, ichave nhamba pakati pe1 ne9.
printBoard (bhodhi)
Bhodhi rinotumirwa senharo kune iyi nzira, iyo inoiratidza pane console.
isWinner()
Zvichienderana nebhodhi razvino, basa iri rinotizivisa kana tsamba yakapihwa yakunda. Iine maparameter maviri: le uye bhodhi (tsamba).
Inofanira kunge iri "X" kana "O." Ingo tarisa kuti uone kana tsamba yakatsanangurwa iripo pane yega yega inogona kuhwina mutsara pabhodhi.
chikuru ()
Patinoda kutanga mutambo, tichadaidza nzira iyi. Ichadaidza yega yega yepurogiramu yedu mabasa mazhinji uye kutungamira kuti chirongwa chinofanirwa kuita sei.
isBoardFull()
Kana yapihwa mukati seyokupinza, nzira iyi inongodzorera Chokwadi kana bhodhi rakazara uye Nhema neimwe nzira.
playerMove()
Munzira iyi, tichakumbira kutama kubva kumushandisi uye toisimbisa. Tsamba yacho ichawedzerwa kubhodhi kana kutama kuri pamutemo. Kana zvisina kudaro, ticharamba tichikumbira mhinduro yemushandisi.
CompMove () - AI
Iyo AI zvino ichatanga. Kufamba kwemakomputa kuchadzorwa nebasa iri. Ichaongorora bhodhi uye inosarudza kufamba kwakanakisisa kuita.
Inotevera rondedzero yealgorithm yatichashandisa kuita izvi.
- Kana danho razvino risingakwanisi kupera, enda kune rinotevera.
- Tora danho rinokunda kana uchikwanisa.
- Enda munzvimbo iyoyo pane inotevera kutendeuka kana mutambi aine mukana wekukunda.
- Tora kona woitendeutsa. Sarudza chero nguva kana paine akati wandei sarudzo.
- Zviise pakati.
- Chimbofunga imwe yemapendero. Sarudza chero nguva kana paine akati wandei sarudzo.
- Kana pasina nzira yekufamba, mutambo unopera mune tie.
sarudzaRandom()
Tichipihwa runyorwa rwenzvimbo dzinogona kuitika, basa iri richasarudza chero chiitiko chekutora.
Mutambo Wekutanga
Mutambo uyu unogona kutangwa izvozvi sezvo tapedza mabasa edu ese. Chataizoda kuita kufonera main kana taingoda kumhanya mutambo kamwe chete.
Asi mumamiriro edu ezvinhu, isu tinoda kuti mutambo urambe uchimhanya kudzamara mushandisi afunga kuti haachada kutamba, saka isu tichawedzera diki diki diki kumutsara mukuru.
Complete Code
Heino kodhi yese yemutambo wedu, uyo wapera.
goho
mhedziso
Hurray!
Mutambo wawakagadzira kubva pakutanga. Hausi mutambo watinotamba nguva dzose. Asi iyo inobatsira mukunyora kwekunzwisisa uye kuchengetedza kwechimiro chakajeka mukodhi.
Anofara kukodha!
Leave a Reply