గేమింగ్ అనేది ప్రజలకు అందుబాటులో ఉండే ఒక రకమైన వినోదం. అన్ని రకాల గేమ్లు ఆన్లైన్లో, మొబైల్ పరికరాల్లో, డెస్క్టాప్ కంప్యూటర్లలో మొదలైన వాటిలో అందుబాటులో ఉన్నాయి. ఆ సవాలుతో కూడిన గేమ్లలో ఒకదాన్ని సృష్టించడానికి ఇది సమయం కాదు.
పైథాన్ని ఉపయోగించి, మేము CLI టిక్-టాక్-టో గేమ్ని తయారు చేస్తాము. సూటిగా ఉండే టిక్ టాక్ టో గేమ్ను రూపొందించడానికి పైథాన్ని ఉపయోగిస్తాము. ఇది గేమ్ లాజిక్ను రూపొందించడంలో మరియు కోడ్ను ఎలా నిర్వహించాలో నేర్చుకోవడంలో మీకు సహాయం చేస్తుంది.
ఈడ్పు-టాక్ వూని
మేము కోడింగ్ ప్రారంభించే ముందు, నేను గేమ్ను త్వరగా క్లుప్తీకరించాలని మరియు దానిని అభివృద్ధి చేయడానికి నా ప్రణాళికను చర్చించాలని అనుకున్నాను.
ముందుగా, Xs ఎల్లప్పుడూ చొరవ తీసుకుంటుంది మరియు ముందుగా కదులుతుంది అనే ఊహను మేము నిర్ధారిస్తాము, తద్వారా వినియోగదారుకు చర్య తీసుకునే అవకాశం ఉంటుంది.
కన్సోల్ నుండి, 1 మరియు 9 మధ్య సంఖ్య ఇన్పుట్ చేయబడుతుంది. గ్రిడ్లో ప్రతి సంఖ్య వేరే సంఖ్యకు అనుగుణంగా ఉంటుంది (ఎగువ ఎడమ 1, దిగువన కుడి 9).
వినియోగదారు కదిలిన తర్వాత కంప్యూటర్ స్వయంచాలకంగా నిర్ధారిస్తుంది మరియు దాని కదలికను చేస్తుంది. అనేక రకాల రొటీన్లకు కాల్ చేసే ఒక ప్రాథమిక గేమ్ లూప్ నేను ఉపయోగిస్తాను.
ఈ టెక్స్ట్-ఆధారిత పాఠంలోని ప్రతి హెడర్లో ఏ ఫంక్షన్ పూర్తవుతుందో బహుశా సూచించబడుతుంది.
బోర్డు రూపకల్పన
నేను ఇంతకు ముందు సూచించినట్లుగా, మేము గ్రిడ్ లేఅవుట్ని ఉపయోగించి మా బోర్డుని చిత్రీకరిస్తాము. మేము దీన్ని చేయడానికి పైథాన్లో బోర్డ్ పేరుతో జాబితాను తయారు చేస్తాము మరియు అది 10 ఖాళీ విలువలతో ప్రారంభమవుతుంది.
ఎందుకంటే వినియోగదారు 1 నుండి 9 వరకు సంఖ్యలను మాత్రమే నమోదు చేయగలరు, 0 నుండి 8 వరకు కాదు, మాకు 10 కంటే 9 ఖాళీ విలువలు ఉన్నాయి. కాబట్టి, విషయాలను సరళీకృతం చేయడానికి, మేము మా జాబితా యొక్క మొదటి ఎంట్రీకి “ఖాళీ వచనం” విలువను ఇస్తాము.
ఈ పద్ధతిలో, మన జాబితాలోని ఎంట్రీలను సూచిక చేయడానికి 1–9కి బదులుగా 0–8ని ఉపయోగించవచ్చు.
ఇన్సర్ట్ లెటర్()
ఈ ఫంక్షన్కి లెటర్ మరియు పోస్ అనే రెండు ఇన్పుట్లు ఉంటాయి. ఇది అభ్యర్థించిన ప్రదేశంలో అభ్యర్థించిన లేఖను మాత్రమే ఉంచుతుంది.
స్పేస్ ఫ్రీ(పోస్)
సరళంగా చెప్పాలంటే, పేర్కొన్న ప్రాంతం ఉచితం అయితే ఈ పద్ధతి మాకు తెలియజేస్తుంది. అందువల్ల, అక్కడ ఇప్పటికే ఒక లేఖ లేదు. పోస్, దాని ఏకైక వాదన, 1 మరియు 9 మధ్య పూర్ణాంకం అవుతుంది.
ప్రింట్బోర్డ్ (బోర్డ్)
బోర్డు ఈ పద్ధతికి వాదనగా పంపబడుతుంది, ఇది కన్సోల్లో ప్రదర్శిస్తుంది.
విజేత ()
ప్రస్తుత బోర్డు ఆధారంగా, సరఫరా చేయబడిన లేఖ గెలిచిందో లేదో ఈ ఫంక్షన్ మాకు తెలియజేస్తుంది. ఇది రెండు పారామితులను కలిగి ఉంది: le మరియు బోర్డు (అక్షరం).
ఇది "X" లేదా "O" అయి ఉండాలి. బోర్డ్లోని ప్రతి సంభావ్య విజేత లైన్లో పేర్కొన్న అక్షరం ఉందో లేదో చూడండి.
main ()
మేము ఆట ప్రారంభించాలనుకున్నప్పుడు, మేము ఈ పద్ధతిని పిలుస్తాము. ఇది మా ప్రోగ్రామ్లోని అనేక ఫంక్షన్లలో ప్రతి ఒక్కటి కాల్ చేస్తుంది మరియు ప్రోగ్రామ్ ఎలా అమలు చేయబడుతుందో నిర్దేశిస్తుంది.
isBoardFull()
ఇన్పుట్గా బోర్డింగ్లో ఇచ్చినప్పుడు, ఈ పద్ధతి బోర్డ్ నిండి ఉంటే ఒప్పు అని మరియు లేకపోతే తప్పు అని చూపుతుంది.
ప్లేయర్ మూవ్()
ఈ పద్ధతిలో, మేము వినియోగదారు నుండి తరలింపును అభ్యర్థిస్తాము మరియు దానిని ధృవీకరిస్తాము. తరలింపు చట్టబద్ధమైనట్లయితే లేఖ బోర్డుకు జోడించబడుతుంది. లేకపోతే, మేము వినియోగదారు అభిప్రాయాన్ని అభ్యర్థిస్తూనే ఉంటాము.
CompMove() – AI
AI ఇప్పుడు ప్రారంభమవుతుంది. కంప్యూటర్ల కదలిక ఈ ఫంక్షన్ ద్వారా నియంత్రించబడుతుంది. ఇది బోర్డుని మూల్యాంకనం చేస్తుంది మరియు చేయడానికి ఉత్తమమైన కదలికను ఎంచుకుంటుంది.
దీన్ని చేయడానికి మేము ఉపయోగించే అల్గోరిథం జాబితా క్రిందిది.
- ప్రస్తుత దశను పూర్తి చేయలేకపోతే, కింది దశకు వెళ్లండి.
- మీకు వీలైతే విజయం సాధించండి.
- క్రీడాకారుడు విజయవంతమైన కదలికను కలిగి ఉంటే, కింది మలుపులో ఆ స్థానానికి వెళ్లండి.
- ఒక మూలను ఎంచుకొని దాన్ని తిప్పండి. అనేక ఎంపికలు ఉంటే యాదృచ్ఛికంగా ఎంచుకోండి.
- మిమ్మల్ని మధ్యలో ఉంచండి.
- అంచులలో ఒకదానిని పరిగణించండి. అనేక ఎంపికలు ఉంటే యాదృచ్ఛికంగా ఎంచుకోండి.
- తరలించడానికి మార్గం లేకపోతే, ఆట టైగా ముగుస్తుంది.
ఎంపిక రాండమ్()
సంభావ్య స్థానాల జాబితా ఇచ్చినట్లయితే, ఈ ఫంక్షన్ యాదృచ్ఛికంగా తీసుకోవలసిన చర్యను ఎంచుకుంటుంది.
గేమ్ ప్రారంభం
మేము మా టాస్క్లన్నింటినీ పూర్తి చేసినందున ఇప్పుడు గేమ్ను ప్రారంభించవచ్చు. మనం ఒక్కసారి గేమ్ని రన్ చేయాలనుకుంటే మెయిన్కి కాల్ చేస్తే చాలు.
కానీ మా పరిస్థితిలో, వినియోగదారు ఇకపై ఆడకూడదని నిర్ణయించుకునే వరకు గేమ్ అమలులో కొనసాగాలని మేము కోరుకుంటున్నాము, కాబట్టి మేము మెయిన్ లైన్కు చిన్న లూప్ను జోడిస్తాము.
పూర్తి కోడ్
మా ఆట కోసం మొత్తం కోడ్ ఇక్కడ ఉంది, ఇది ఇప్పుడు పూర్తయింది.
అవుట్పుట్
ముగింపు
హుర్రే!
మీరు పూర్తిగా మొదటి నుండి తయారు చేసిన గేమ్. ఇది మనం రోజూ ఆడే ఆట కాదు. కానీ ఇది లాజిక్ రాయడం మరియు కోడ్లో స్పష్టమైన నిర్మాణాన్ని నిర్వహించడంలో సహాయపడుతుంది.
హ్యాపీ కోడింగ్!
సమాధానం ఇవ్వూ