Masewera ndi imodzi mwa zosangalatsa zomwe anthu amapeza. Masewera amitundu yonse amapezeka pa intaneti, pazida zam'manja, pamakompyuta apakompyuta, ndi zina zambiri. Ino si nthawi yoti mupange imodzi mwamasewera ovutawo.
Pogwiritsa ntchito Python, tipanga masewera a CLI tic-tac-toe. Tiyeni tigwiritse ntchito Python kupanga masewera owongoka a Tic Tac Toe. Ikuthandizani kupanga malingaliro amasewera ndikuphunzira momwe mungapangire ma code.
Tic-Tac-Toe
Tisanayambe kukopera, ndinaganiza kuti ndifotokoze mwachidule masewerawa ndi kukambirana za dongosolo langa lokonzekera.
Choyamba, tikhazikitsa lingaliro lakuti ma X nthawi zonse amatengapo gawo ndikuyenda kaye, kupatsa wogwiritsa ntchito mwayi wochitapo kanthu.
Kuchokera pa console, nambala pakati pa 1 ndi 9 idzalowetsedwa. Mu gululi pomwe nambala iliyonse imagwirizana ndi ina (pamwamba kumanzere ndi 1, pansi kumanja ndi 9).
Kompyutayo imadzitsimikizira yokha ndikusuntha wogwiritsa ntchitoyo akangosuntha. Njira imodzi yoyambira masewera yomwe imayitanitsa machitidwe angapo osiyanasiyana idzagwiritsidwa ntchito ndi ine.
Ndi ntchito iti yomwe ikumalizidwa mwina yasonyezedwa pamutu uliwonse wa phunziro lotengera malemba.
Kupanga Board
Tidzawonetsa bolodi lathu pogwiritsa ntchito mawonekedwe a gridi, monga ndidanenera kale. Tipanga mndandanda wotchedwa board ku Python kuti tichite izi, ndipo ziyamba ndi 10 zopanda kanthu.
Chifukwa wogwiritsa ntchito atha kungoyika manambala 1 mpaka 9, osati 0 mpaka 8, tili ndi 10 zopanda kanthu m'malo mwa 9. Chifukwa chake, kuti tichepetse zinthu, tipereka cholowa choyamba pamndandanda wathu mtengo "wopanda kanthu."
Mwanjira imeneyi, titha kugwiritsa ntchito 1-9 m'malo mwa 0-8 kuti tilondole zomwe zili pamndandanda wathu.
insertLetter()
Letter ndi Pos adzakhala zolowetsa ziwiri pa ntchitoyi. Idzangoyika kalata yofunsidwa pamalo omwe akufunsidwa.
spaceIsFree(pos)
Mwachidule, njirayi idzatidziwitsa ngati malo omwe atchulidwawa ndi aulere. Chifukwa chake, mulibe kalata kale. Pos, mkangano wake wokhawo, udzakhala chiwerengero pakati pa 1 ndi 9.
printBoard (board)
Gululo limatumizidwa ngati mkangano kunjira iyi, yomwe imawonetsa pa console.
ndiWinner ()
Kutengera ndi bolodi lomwe lilipo, ntchitoyi itidziwitsa ngati kalata yomwe yaperekedwa yapambana. Ili ndi magawo awiri: le ndi bolodi (chilembo).
Iyenera kukhala "X" kapena "O." Yang'anani mwachidule kuti muwone ngati kalata yotchulidwayo ilipo pamzere uliwonse womwe ungapambane pa bolodi.
chachikulu ()
Tikafuna kuyambitsa masewerawa, tizitcha njira iyi. Idzayitanitsa ntchito zambiri za pulogalamu yathu ndikuwongolera momwe pulogalamuyo ikuyenera kuyendetsedwera.
isBoardFull ()
Mukaperekedwa ngati cholowetsamo, njira iyi idzangobweza Zoona ngati bolodi ili yodzaza ndipo Zabodza mwanjira ina.
playerMove ()
Mwanjira iyi, tidzapempha kusuntha kwa wogwiritsa ntchito ndikutsimikizira. Kalatayo idzawonjezedwa ku bolodi ngati kusuntha kuli kovomerezeka. Ngati sichoncho, tidzapitiliza kupempha mayankho a wogwiritsa ntchito.
CompMove () - AI
AI iyamba tsopano. Kuyenda kwa makompyuta kudzayendetsedwa ndi ntchitoyi. Idzayesa bolodi ndikusankha njira yabwino yopangira.
M'munsimu muli mndandanda wa algorithm yomwe tidzagwiritse ntchito pochita izi.
- Ngati sitepe yomwe ilipo pano siyitha kutha, pitani ku yotsatira.
- Tengani kusuntha kopambana ngati mungathe.
- Yendani pamalo omwewo panjira yotsatila ngati wosewerayo ali ndi mwayi wopambana.
- Sankhani ngodya ndikuitembenuza. Sankhani mwachisawawa ngati pali zosankha zingapo.
- Dziyikeni pakati.
- Ganizirani imodzi mwa m'mphepete mwake. Sankhani mwachisawawa ngati pali zosankha zingapo.
- Ngati palibe njira yosunthira, masewerawa amatha tayi.
selectRandom()
Poganizira mndandanda wa malo omwe angakhalepo, ntchitoyi idzasankha mwachisawawa zomwe mungachite.
Chiyambi cha Game
Masewerawa atha kuyambika tsopano popeza tamaliza ntchito zathu zonse. Zomwe tingachite ndikuyitanitsa main ngati tikufuna kungoyendetsa masewerawa kamodzi.
Koma momwe tilili, tikufuna kuti masewerawa apitirirebe mpaka wogwiritsa ntchito atasankha kuti sakufunanso kusewera, ndiye tiwonjeza kachidutswa kakang'ono pamzere waukulu.
Code Complete
Nayi code yonse yamasewera athu, yomwe yatha.
linanena bungwe
Kutsiliza
Pepani!
Masewera omwe mudapanga kuyambira pachiyambi. Simasewera omwe timasewera pafupipafupi. Koma zimathandizira pakulemba kwamalingaliro komanso kukonza mawonekedwe omveka bwino mu code.
Wodala kukod!
Siyani Mumakonda