Lîstik yek rengek şahiyê ye ku ji mirovan re peyda dibe. Lîstikên her cûre bi serhêl, li ser cîhazên mobîl, li ser komputerên sermaseyê û hwd hene. Niha ne dema afirandina yek ji wan lîstikên dijwar e.
Bi karanîna Python, em ê lîstikek tic-tac-toe CLI çêbikin. Ka em Python bikar bînin da ku lîstikek rasterast a Tic Tac Toe ava bikin. Ew ê ji we re bibe alîkar ku hûn mantiqa lîstikê biafirînin û fêr bibin ka meriv çawa kodê organîze dike.
Tic-Tac-Toe
Berî ku em dest bi kodkirinê bikin, min fikir kir ku ez ê zû lîstikê kurt bikim û pilana xwe ya ji bo pêşkeftina wê nîqaş bikim.
Pêşîn, em ê vê texmînê saz bikin ku Xs her gav însiyatîfê digire û pêşî dimeşîne, fersendê dide bikarhêner ku tevbigere.
Ji konsolê, jimareyek di navbera 1 û 9 de dê were danîn. Di şebekekê de ku her jimar bi jimareyek cûda re têkildar e (li çepê 1 ye, li jêr rast 9 e).
Dema ku bikarhêner tevbigere dê komputer bixweber destnîşan bike û tevgera xwe bike. Yek lîstika seretayî ya ku gazî çend rûtînên cihêreng dike dê ji hêla min ve were bikar anîn.
Kîjan fonksiyona ku tê qedandin belkî di her sernivîsa vê dersa-based nivîsê de tê destnîşan kirin.
Dîzaynkirina Lijneyekê
Wekî ku min berê destnîşan kir, em ê panela xwe bi karanîna sêwirana torê nîşan bidin. Ji bo vê yekê em ê navnîşek bi navê panela Python çêbikin, û ew ê bi 10 nirxên vala dest pê bike.
Ji ber ku bikarhêner tenê dikare jimareyên 1 heta 9, ne ji 0 heta 8 binivîse, li şûna 10-ê 9 nirxên me yên vala hene. Ji ber vê yekê, ji bo hêsankirina tiştan, em ê navnîşa yekem a navnîşa xwe nirxa "nivîsa vala" bidin.
Bi vî rengî, em dikarin 1-9 li şûna 0-8 bikar bînin da ku navnîşên di navnîşa xwe de navnîş bikin.
insertLetter()
Name û Pos dê du têketina vê fonksiyonê bin. Ew ê tenê nameya daxwazkirî li cîhê daxwazkirî bihêle.
spaceIs Free (pos)
Bi tenê got, ev rêbaz dê me agahdar bike ger devera diyarkirî belaş be. Ji ber vê yekê, jixwe nameyek li wir tune. Pos, argumana wê ya yekane, dê di navbera 1 û 9-ê de jimareyek be.
printboard (board)
Panel wekî argumanek ji vê rêbazê re tê şandin, ku wê li ser konsolê nîşan dide.
isWinner()
Li ser bingeha panela heyî, ev fonksiyon dê me agahdar bike ka nameya peydakirî bi ser ketiye. Du pîvanên wê hene: le û board (herf).
Pêdivî ye ku ew "X" an "O" be. Tenê binihêrin ka nameya diyarkirî li ser her rêzika serketî ya potansiyel a li ser panelê heye.
ser()
Dema ku em dixwazin lîstikê dest pê bikin, em ê vê rêbazê bang bikin. Ew ê bangî her yek ji gelek fonksiyonên bernameya me bike û rêwerz bike ka bername çawa tê xebitandin.
isBoardFull()
Dema ku li ser sifrê wekî têketinê were dayîn, ev rêbaz dê bi tenê Rast vegere ger panel tije û nerast be.
playerMove()
Di vê rêbazê de, em ê tevgerek ji bikarhênerê bixwazin û wê rast bikin. Ger tevger rewa be dê nameyê li panelê were zêde kirin. Heke ne, em ê bi berdewamî bersiva bikarhênerê bixwazin.
CompMove () - AI
AI niha dê dest pê bike. Tevgera komputeran dê bi vê fonksiyonê were kontrol kirin. Ew ê panelê binirxîne û tevgera çêtirîn hilbijêrin.
Li jêr navnîşek algorîtmaya ku em ê ji bo vê yekê bikar bînin heye.
- Ger gavê heyî nekare biqede, biçin ya jêrîn.
- Ger hûn dikarin tevgera serfiraziyê bigirin.
- Ger lîstikvan xwedî tevgerek potansiyel serketî be, li ser zivirîna jêrîn bikevin wê pozîsyonê.
- Kuçek hilbijêre û bizivirîne. Ger çend vebijark hebin, bi rasthatinî hilbijêrin.
- Xwe di ortê de bi cih bikin.
- Yek ji kevanan bifikirin. Ger çend vebijark hebin, bi rasthatinî hilbijêrin.
- Ger rêyek ji bo tevgerê tune be, lîstik bi hev re diqede.
hilbijêreRandom()
Ji ber ku navnîşek cîhên potansiyel tê dayîn, ev fonksiyon dê bi rasthatinî çalakiya ku bike hilbijêrin.
Destpêka Lîstik
Lîstok êdî dikare were destpêkirin ku me hemî karên xwe qedandine. Tiştê ku divê em bikin ev e ku em gazî sereke bikin heke me tenê dixwest ku carekê lîstikê bimeşînin.
Lê di rewşa me de, em dixwazin ku lîstik berdewam bike heya ku bikarhêner biryarê bide ku ew êdî naxwazin bilîzin, ji ber vê yekê em ê pêlekek piçûk li xeta sereke zêde bikin.
Koda Temam
Li vir tevahiya koda lîstika me ye, ku naha temam bûye.
Karûabr
Xelasî
Hurray!
Lîstikek ku we bi tevahî ji sifirê çêkiriye. Ew ne lîstikek e ku em bi rêkûpêk lîstin. Lê ew di nivîsandina mantiqê û domandina avahiyek zelal a kodê de dibe alîkar.
Kodkirina xweş!
Leave a Reply