Speletjies is een vorm van vermaak wat vir mense beskikbaar is. Speletjies van alle soorte is aanlyn beskikbaar, op mobiele toestelle, op tafelrekenaars, ens. Dit is nie nou die tyd om een van daardie uitdagende speletjies te skep nie.
Deur Python te gebruik, sal ons 'n CLI-tik-tac-toe-speletjie maak. Kom ons gebruik Python om 'n eenvoudige Tic Tac Toe-speletjie te bou. Dit sal jou help om spellogika te skep en te leer hoe om kode te organiseer.
Kringetjies en kruisies
Voordat ons met kodering begin, het ek gedink ek sal die speletjie vinnig opsom en my plan vir die ontwikkeling daarvan bespreek.
Eerstens sal ons die aanname vestig dat X'e altyd die inisiatief neem en eerste beweeg, wat die gebruiker die geleentheid gee om op te tree.
Vanaf die konsole sal 'n nommer tussen 1 en 9 ingevoer word. In 'n rooster waar elke getal ooreenstem met 'n ander getal (links bo is 1, regs onder is 9).
Die rekenaar sal outomaties bepaal en sy skuif maak sodra die gebruiker beweeg. Een primêre speletjie-lus wat 'n aantal verskillende roetines oproep, sal deur my gebruik word.
Watter funksie voltooi word, word waarskynlik in elke opskrif van hierdie teksgebaseerde les aangedui.
Ontwerp van 'n bord
Ons sal ons bord uitbeeld met 'n roosteruitleg, soos ek voorheen aangedui het. Ons sal 'n lys met die naam bord in Python maak om dit te doen, en dit sal met 10 leë waardes begin.
Omdat die gebruiker slegs nommers 1 tot 9 kan invoer, nie 0 tot 8 nie, het ons 10 leë waardes eerder as 9. Dus, om dinge te vereenvoudig, gee ons ons lys se eerste inskrywing die waarde "leë teks."
Op hierdie manier kan ons 1–9 in plaas van 0–8 gebruik om die inskrywings in ons lys te indekseer.
insertLetter()
Letter en Pos sal die twee invoere vir hierdie funksie wees. Dit sal slegs die versoekte brief op die versoekte plek plaas.
spasie Is Gratis (pos)
Eenvoudig gesê, hierdie metode sal ons inlig of die gespesifiseerde area gratis is. Daar is dus nie reeds 'n brief daar nie. Pos, sy enigste argument, sal 'n heelgetal tussen 1 en 9 wees.
printBoard (bord)
Die bord word as 'n argument na hierdie metode gestuur, wat dit op die konsole vertoon.
isWinner()
Gebaseer op die huidige bord, sal hierdie funksie ons laat weet of die verskafde brief gewen het. Dit het twee parameters: le en bord (letter).
Dit moet 'n "X" of 'n "O" wees. Kyk eenvoudig of die gespesifiseerde letter op elke potensiële wenlyn op die bord voorkom.
hoof ()
Wanneer ons die spel wil begin, sal ons hierdie metode noem. Dit sal elkeen van ons program se vele funksies oproep en aandui hoe die program veronderstel is om te loop.
isBoardFull()
Wanneer dit as 'n inset aan boord gegee word, sal hierdie metode eenvoudig True teruggee as die bord vol is en andersins Onwaar.
playerMove()
In hierdie metode sal ons 'n skuif van die gebruiker versoek en dit bekragtig. Die brief sal by die raad gevoeg word as die skuif wettig is. Indien nie, sal ons aanhou om die gebruiker se terugvoer te versoek.
CompMove() – AI
Die KI sal nou begin. Die beweging van die rekenaars sal deur hierdie funksie beheer word. Dit sal die raad evalueer en die beste skuif kies om te maak.
Hierna volg 'n lys van die algoritme wat ons sal gebruik om dit te doen.
- As die huidige stap nie voltooi kan word nie, gaan aan na die volgende een.
- Neem die wenskuif as jy kan.
- Beweeg in daardie posisie op die volgende beurt as die speler 'n potensiële wenbeweging het.
- Kies 'n hoek en draai dit. Kies lukraak as daar verskeie opsies is.
- Plaas jouself in die middel.
- Oorweeg een van die rande. Kies lukraak as daar verskeie opsies is.
- As daar geen manier is om te beweeg nie, eindig die wedstryd gelykop.
selectRandom()
Gegewe 'n lys van potensiële liggings, sal hierdie funksie lukraak die aksie kies om te neem.
Die spel se begin
Die speletjie kan nou begin word noudat ons al ons take voltooi het. Al wat ons hoef te doen is om main te bel as ons net een keer die speletjie wou hardloop.
Maar in ons situasie wil ons hê die speletjie moet aanhou loop totdat die gebruiker besluit dat hulle nie meer wil speel nie, so ons sal 'n klein rukkie by die hooflyn voeg.
Voltooi kode
Hier is die hele kode vir ons speletjie, wat nou voltooi is.
Uitgawe
Gevolgtrekking
Hoera!
'n Speletjie wat jy heeltemal van nuuts af gemaak het. Dit is nie 'n speletjie wat ons op 'n gereelde basis speel nie. Maar dit help met die skryf van logika en die handhawing van 'n duidelike struktuur in kode.
Gelukkige kodering!
Lewer Kommentaar