Gaming is een vorm van entertainment die beschikbaar is voor mensen. Alle soorten spellen zijn online beschikbaar, op mobiele apparaten, op desktopcomputers, enz. Dit is niet het moment om een van die uitdagende spellen te maken.
Met Python gaan we een CLI boter-kaas-en-eieren spel maken. Laten we Python gebruiken om een eenvoudig Tic Tac Toe-spel te bouwen. Het zal je helpen bij het maken van spellogica en het leren organiseren van code.
Tic-Tac-Toe
Voordat we begonnen met coderen, dacht ik dat ik de game snel zou samenvatten en mijn plan voor de ontwikkeling ervan zou bespreken.
Eerst stellen we de veronderstelling vast dat Xs altijd het initiatief neemt en als eerste beweegt, waardoor de gebruiker de mogelijkheid krijgt om te handelen.
Vanaf de console wordt een getal tussen 1 en 9 ingevoerd. In een raster waar elk nummer overeenkomt met een ander nummer (linksboven is 1, rechtsonder is 9).
De computer zal automatisch zijn zet bepalen en uitvoeren zodra de gebruiker beweegt. Een primaire spellus die een aantal verschillende routines aanroept, zal door mij worden gebruikt.
Welke functie wordt afgewerkt, wordt waarschijnlijk aangegeven in elke kop van deze op tekst gebaseerde les.
Een bord ontwerpen
We zullen ons bord weergeven met een rasterlay-out, zoals ik eerder heb aangegeven. We maken hiervoor een lijst met de naam bord in Python, en het begint met 10 lege waarden.
Omdat de gebruiker alleen de getallen 1 tot en met 9 kan invoeren, en niet 0 tot en met 8, hebben we 10 lege waarden in plaats van 9. Dus om de zaken te vereenvoudigen, geven we de eerste invoer van onze lijst de waarde 'lege tekst'.
Op deze manier kunnen we 1–9 gebruiken in plaats van 0–8 om de items in onze lijst te indexeren.
invoegenLetter()
Letter en Pos zijn de twee ingangen voor deze functie. Het zal alleen de gevraagde brief op de gevraagde locatie plaatsen.
ruimteIsFree(pos)
Simpel gezegd, deze methode zal ons informeren of het opgegeven gebied vrij is. Er is dus nog geen brief. Pos, het enige argument, is een geheel getal tussen 1 en 9.
printBoard(bord)
Het bord wordt als argument naar deze methode gestuurd, waardoor het op de console wordt weergegeven.
isWinnaar()
Op basis van het huidige bord laat deze functie ons weten of de aangeleverde brief heeft gewonnen. Het heeft twee parameters: le en board (letter).
Het moet een "X" of een "O" zijn. Kijk gewoon of de opgegeven letter aanwezig is op elke potentiële winnende lijn op het bord.
hoofd()
Wanneer we het spel willen starten, zullen we deze methode aanroepen. Het zal elk van de vele functies van ons programma aanroepen en aangeven hoe het programma hoort te draaien.
isBordVol()
Wanneer deze methode als invoer aan boord wordt gegeven, retourneert deze eenvoudig True als het bord vol is en anders False.
spelerVerplaats()
Bij deze methode vragen we de gebruiker om een verhuizing en valideren deze. De letter wordt aan het bord toegevoegd als de zet legitiem is. Zo niet, dan blijven we om feedback van de gebruiker vragen.
CompMove() – AI
De AI zal nu beginnen. De beweging van de computers wordt door deze functie gestuurd. Het zal het bord evalueren en de beste zet kiezen.
Hieronder volgt een lijst van het algoritme dat we hiervoor zullen gebruiken.
- Als de huidige stap niet kan worden voltooid, gaat u verder met de volgende.
- Neem de winnende zet als je kunt.
- Ga de volgende beurt naar die positie als de speler een potentieel winnende zet heeft.
- Kies een hoek en draai deze om. Kies willekeurig als er meerdere opties zijn.
- Zet jezelf in het midden.
- Beschouw een van de randen. Kies willekeurig als er meerdere opties zijn.
- Als er geen manier is om te bewegen, eindigt het spel in een gelijkspel.
selecteer Willekeurig()
Gegeven een lijst met mogelijke locaties, zal deze functie willekeurig de te ondernemen actie kiezen.
Het begin van het spel
Het spel kan nu worden gestart nu we al onze taken hebben voltooid. Het enige dat we hoeven te doen, is main bellen als we het spel maar één keer willen spelen.
Maar in onze situatie willen we dat het spel blijft draaien totdat de gebruiker besluit dat hij niet langer wil spelen, dus voegen we een kleine while-lus toe aan de hoofdregel.
Volledige code
Hier is de hele code voor ons spel, dat nu compleet is.
uitgang
Conclusie
Hoera!
Een spel dat je helemaal opnieuw hebt gemaakt. Het is geen spel dat we regelmatig spelen. Maar het helpt bij het schrijven van logica en het onderhouden van een duidelijke structuur in code.
Veel plezier met coderen!
Laat een reactie achter