Gaming is ien foarm fan fermaak beskikber foar minsken. Spultsjes fan alle soarten binne beskikber online, op mobile apparaten, op buroblêd kompjûters, ensfh No is net de tiid om in meitsje ien fan dy útdaagjende spultsjes.
Mei Python sille wy in CLI tic-tac-toe-spiel meitsje. Litte wy Python brûke om in ienfâldich Tic Tac Toe-spiel te bouwen. It sil jo helpe by it meitsjen fan spiellogika en learje hoe't jo koade kinne organisearje.
Tic-Tac-Toe
Foardat wy begjinne te kodearjen, tocht ik dat ik it spultsje rap soe gearfetsje en myn plan foar it ûntwikkeljen besprekke.
Earst sille wy de oanname fêststelle dat Xs altyd it inisjatyf nimme en earst bewege, en jouwe de brûker de kâns om te hanneljen.
Fanút de konsole sil in nûmer tusken 1 en 9 wurde ynfierd. Yn in raster dêr't elk getal oerienkomt mei in oar nûmer (loftsboppe is 1, rjochts ûnder is 9).
De kompjûter sil automatysk bepale en syn beweging meitsje as de brûker beweecht. Ien primêre spultsje loop dy't ropt in oantal ferskate routines sil brûkt wurde troch my.
Hokker funksje wurdt foltôge wurdt wierskynlik oanjûn yn elke koptekst fan dizze tekst-basearre les.
It ûntwerpen fan in boerd
Wy sille ús boerd ôfbyldzje mei in rasteryndieling, lykas ik earder oanjûn. Wy meitsje in list mei de namme board yn Python om dit te dwaan, en it sil begjinne mei 10 lege wearden.
Om't de brûker allinich de nûmers 1 oant 9 kin ynfiere, net 0 oant en mei 8, hawwe wy 10 lege wearden ynstee fan 9. Dus, om dingen te ferienfâldigjen, jouwe wy de earste yngong fan ús list de wearde "lege tekst."
Op dizze manier kinne wy 1–9 brûke ynstee fan 0–8 om de yngongen yn ús list te yndeksearjen.
insertLetter()
Letter en Pos sille de twa yngongen wêze foar dizze funksje. It sil allinich de frege brief op 'e frege lokaasje pleatse.
spaceIsFree (pos)
Gewoan sein, dizze metoade sil ús ynformearje as it opjûne gebiet fergees is. Dêrom is der al gjin brief. Pos, syn ienige argumint, sil in hiel getal wêze tusken 1 en 9.
printBoard(board)
It bestjoer wurdt as argumint stjoerd nei dizze metoade, dy't it op 'e konsole toant.
is Winner()
Op grûn fan it hjoeddeiske boerd lit dizze funksje ús witte oft de oanlevere brief wûn hat. It hat twa parameters: le en board (letter).
It moat in "X" of in "O" wêze. Sjoch gewoan om te sjen oft de oantsjutte letter oanwêzich is op elke potinsjele winnende line op it boerd.
foarnaamste()
As wy it spultsje wolle begjinne, sille wy dizze metoade neame. It sil elk ien fan 'e protte funksjes fan ús programma neame en liede hoe't it programma moat rinne.
isBoardFull()
Wannear't jûn oan board as ynfier, dizze metoade sil gewoan werom Wier as it boerd is fol en False oars.
playerMove()
Yn dizze metoade sille wy in ferhuzing fan 'e brûker oanfreegje en it falidearje. De brief wurdt tafoege oan it bestjoer as de ferhuzing legitim is. As net, sille wy trochgean om de feedback fan 'e brûker te freegjen.
CompMove() - AI
De AI sil no begjinne. De beweging fan 'e kompjûters sil wurde regele troch dizze funksje. It sil it bestjoer evaluearje en de bêste beweging kieze om te meitsjen.
Folgje is in list fan it algoritme dat wy sille brûke om dit te dwaan.
- As de hjoeddeistige stap net foltôge wurde kin, gean dan troch nei de folgjende.
- Nim de winnende beweging as jo kinne.
- Ferpleats nei dy posysje op de folgjende beurt as de spiler hat in potinsjeel winnende move.
- Kies in hoeke en draai it. Kies willekeurich as d'r ferskate opsjes binne.
- Set dysels yn 'e midden.
- Tink oan ien fan 'e rânen. Kies willekeurich as d'r ferskate opsjes binne.
- As der gjin manier is om te bewegen, einiget it spul yn in lykspul.
selectRandom()
Sjoen in list mei potinsjele lokaasjes, sil dizze funksje willekeurich de aksje kieze om te nimmen.
It begjin fan it spultsje
It spul kin no wurde begon no't wy al ús taken foltôge hawwe. Alles wat wy hoege te dwaan is main te neamen as wy it spultsje gewoan ien kear wolle útfiere.
Mar yn ús situaasje wolle wy dat it spultsje trochgiet oant de brûker beslút dat se net langer spielje wolle, dus sille wy in lytse lus tafoegje oan 'e haadline.
Folsleine koade
Hjir is de hiele koade foar ús spultsje, dat no kompleet is.
útfier
Konklúzje
Hurray!
In spultsje dat jo folslein fanôf it begjin makke hawwe. It is net in spultsje dat wy spylje op in reguliere basis. Mar it helpt by it skriuwen fan logika en it behâld fan in dúdlike struktuer yn koade.
Lokkich kodearje!
Leave a Reply