Spilamennska er ein tegund afþreyingar sem fólki stendur til boða. Alls konar leikir eru fáanlegir á netinu, í farsímum, á borðtölvum osfrv. Nú er ekki rétti tíminn til að búa til einn af þessum krefjandi leikjum.
Með því að nota Python, munum við búa til CLI tic-tac-toe leik. Notum Python til að búa til einfaldan Tic Tac Toe leik. Það mun aðstoða þig við að búa til leikjafræði og læra hvernig á að skipuleggja kóða.
Tic-Tac-Toe
Áður en við byrjum að kóða, hugsaði ég að ég myndi draga leikinn fljótt saman og ræða áætlun mína um þróun hans.
Í fyrsta lagi munum við koma á þeirri forsendu að Xs taki alltaf frumkvæði og hreyfi sig fyrst, sem gefur notandanum tækifæri til að bregðast við.
Frá stjórnborðinu verður númer á milli 1 og 9 slegið inn. Í rist þar sem hver tala samsvarar annarri tölu (efst til vinstri er 1, neðst til hægri er 9).
Tölvan mun sjálfkrafa ákvarða og gera hreyfingu sína þegar notandinn hreyfir sig. Ein aðalleikjalykkja sem kallar á ýmsar rútínur verður notaður af mér.
Hvaða aðgerð er verið að klára er líklega tilgreint í hverjum haus þessarar textatengdu lexíu.
Að hanna borð
Við munum sýna borðið okkar með ristskipulagi, eins og ég gaf til kynna áður. Við munum búa til lista sem heitir borð í Python til að gera þetta, og það mun byrja á 10 tómum gildum.
Þar sem notandinn getur aðeins slegið inn tölurnar 1 til 9, ekki 0 til 8, höfum við 10 tóm gildi frekar en 9. Svo, til að einfalda hlutina, gefum við fyrstu færslu listans okkar gildið „tómur texti“.
Á þennan hátt gætum við notað 1–9 í stað 0–8 til að skrá færslurnar á listanum okkar.
insertLetter()
Bókstafur og Pos verða tvö inntak fyrir þessa aðgerð. Það mun aðeins setja umbeðið bréf á umbeðnum stað.
spaceIsFree(pos)
Einfaldlega sagt, þessi aðferð mun upplýsa okkur ef tilgreint svæði er ókeypis. Þess vegna er ekki bréf þar nú þegar. Pos, eina rök hennar, verður heil tala á milli 1 og 9.
printBoard(board)
Taflan er send sem rök fyrir þessari aðferð, sem sýnir hana á stjórnborðinu.
er Sigurvegari()
Byggt á núverandi stjórn mun þessi aðgerð láta okkur vita hvort bréfið sem fylgir hefur unnið. Það hefur tvær breytur: le og borð (stafur).
Það verður að vera „X“ eða „O“. Skoðaðu einfaldlega hvort tilgreindur stafur sé til staðar á hverri hugsanlegri vinningslínu á borðinu.
aðal()
Þegar við viljum hefja leikinn munum við kalla þessa aðferð. Það mun kalla á hverja einustu af mörgum aðgerðum forritsins okkar og leiðbeina því hvernig forritið á að keyra.
isBoardFull()
Þegar hún er gefin um borð sem inntak mun þessi aðferð einfaldlega skila True ef borðið er fullt og rangt að öðru leyti.
playerMove()
Í þessari aðferð munum við biðja um flutning frá notandanum og staðfesta það. Bréfinu verður bætt við stjórn ef flutningurinn er lögmætur. Ef ekki, munum við halda áfram að biðja um endurgjöf notandans.
CompMove() – AI
AI mun nú hefjast. Hreyfingu tölvunnar verður stjórnað af þessari aðgerð. Það mun meta stjórnina og velja bestu aðgerðina til að gera.
Eftirfarandi er listi yfir reikniritið sem við munum nota til að gera þetta.
- Ef ekki er hægt að ljúka núverandi skrefi skaltu halda áfram á eftirfarandi.
- Taktu vinningshreyfinguna ef þú getur.
- Farðu í þá stöðu í næstu beygju ef leikmaðurinn er með hugsanlega vinningshreyfingu.
- Veldu horn og snúðu því. Veldu af handahófi ef það eru nokkrir valkostir.
- Settu þig í miðjuna.
- Íhugaðu einn af brúnunum. Veldu af handahófi ef það eru nokkrir valkostir.
- Ef ekki er hægt að hreyfa sig endar leikurinn með jafntefli.
selectRandom()
Miðað við lista yfir mögulegar staðsetningar mun þessi aðgerð velja af handahófi aðgerðina sem á að grípa til.
Byrjun leiksins
Nú er hægt að hefja leikinn þegar við höfum lokið öllum okkar verkefnum. Allt sem við þyrftum að gera er að hringja í main ef við vildum bara keyra leikinn einu sinni.
En í okkar aðstæðum viljum við að leikurinn haldi áfram að keyra þar til notandinn ákveður að hann vilji ekki spila lengur, þannig að við bætum örlítilli meðan lykkju við aðallínuna.
Heill kóða
Hér er allur kóðinn fyrir leikinn okkar, sem er nú lokið.
Output
Niðurstaða
Hurray!
Leikur sem þú gerðir algjörlega frá grunni. Þetta er ekki leikur sem við spilum reglulega. En það hjálpar til við að skrifa rökfræði og viðhalda skýrri uppbyggingu í kóða.
Gleðilega kóðun!
Skildu eftir skilaboð