لوبې کول د تفریح یو ډول دی چې د خلکو لپاره شتون لري. هر ډول لوبې آنلاین شتون لري، په ګرځنده وسیلو کې، په ډیسټاپ کمپیوټرونو کې، او داسې نور. اوس هغه وخت نه دی چې د دې ننګونو لوبو څخه یوه جوړه کړئ.
د Python په کارولو سره، موږ به د CLI tic-tac-toe لوبه جوړه کړو. راځئ چې د مستقیم ټیک ټیک پیر لوبې جوړولو لپاره پایتون وکاروو. دا به تاسو سره د لوبې منطق رامینځته کولو او د کوډ تنظیم کولو څرنګوالي زده کولو کې مرسته وکړي.
ټیک - ټک ټی
مخکې له دې چې موږ کوډ کول پیل کړو، ما فکر کاوه چې زه به ژر تر ژره د لوبې لنډیز وکړم او د هغې د پراختیا لپاره زما پالن په اړه بحث وکړم.
لومړی ، موږ به دا انګیرنه رامینځته کړو چې Xs تل نوښت کوي او لومړی حرکت کوي ، کارونکي ته د عمل کولو فرصت ورکوي.
د کنسول څخه، د 1 او 9 ترمنځ شمیره به داخل شي. په یوه گرډ کې چیرې چې هر شمیره د مختلف شمیر سره مطابقت لري (پورته کیڼ اړخ 1 دی ، لاندې ښیې 9 دی).
کمپیوټر به په اتوماتيک ډول وټاکي او خپل حرکت وکړي کله چې کاروونکي حرکت وکړي. د لوبې یو لومړنی لوپ چې یو شمیر مختلف معمولونه زنګ وهي زما لخوا به وکارول شي.
کوم فعالیت پای ته رسیږي شاید د دې متن پراساس درس په هر سرلیک کې اشاره شوې وي.
د بورډ ډیزاین کول
موږ به خپل بورډ د گرډ ترتیب په کارولو سره انځور کړو، لکه څنګه چې ما مخکې اشاره وکړه. موږ به د دې کولو لپاره په Python کې د بورډ په نوم لیست جوړ کړو، او دا به د 10 خالي ارزښتونو سره پیل شي.
ځکه چې کارونکي یوازې د 1 څخه تر 9 پورې شمیرې دننه کولی شي، نه له 0 څخه تر 8 پورې، موږ د 10 په پرتله 9 خالي ارزښتونه لرو. نو، د شیانو د ساده کولو لپاره، موږ به د خپل لیست لومړنۍ ننوتلو ارزښت "خالي متن" ورکړو.
په دې ډول، موږ کولی شو د 1-9 پرځای 0-8 وکاروو ترڅو زموږ په لیست کې د ننوتلو لیست وکړو.
داخل لیک()
لیک او پوس به د دې فنکشن لپاره دوه آخذې وي. دا به یوازې غوښتل شوی لیک په غوښتل شوي ځای کې واچوي.
ځای وړیا (پوز)
په ساده ډول وویل، دا طریقه به موږ ته خبر ورکړي که چیرې ټاکل شوې ساحه وړیا وي. له دې امله، هلته لا دمخه یو لیک شتون نلري. Pos، د دې یوازینۍ دلیل به د 1 او 9 ترمنځ یو بشپړ وي.
د چاپ تخته (بورډ)
بورډ دې میتود ته د دلیل په توګه لیږل شوی ، کوم چې دا په کنسول کې ښیې.
ګټونکی دی()
د اوسني بورډ پراساس، دا فعالیت به موږ ته خبر راکړي که چمتو شوی لیک ګټلی وي. دا دوه پیرامیټونه لري: لی او تخته (خط).
دا باید "X" یا "O" وي. په ساده ډول وګورئ چې ایا ټاکل شوی لیک په بورډ کې د هرې احتمالي ګټونکي کرښې کې شتون لري.
اصلي ()
کله چې موږ غواړو لوبه پیل کړو، موږ به دا طریقه ووایو. دا به زموږ د برنامه ډیری دندو څخه هر یو ته زنګ ووهي او لارښوونه وکړي چې برنامه څنګه پرمخ وړل کیږي.
isBoardFull()
کله چې د ننوتلو په توګه ځای په ځای شي، دا طریقه به په ساده ډول بیرته راستانه شي که چیرې تخته ډکه وي او غلط وي.
playerMove()
پدې طریقه کې، موږ به د کارونکي څخه د حرکت غوښتنه وکړو او دا به تایید کړو. لیک به بورډ ته اضافه شي که چیرې اقدام قانوني وي. که نه، موږ به د کارونکي د فیډبیک غوښتنه وساتو.
CompMove() – AI
AI به اوس پیل شي. د کمپیوټر حرکت به د دې فعالیت لخوا کنټرول شي. دا به د بورډ ارزونه وکړي او د جوړولو لپاره غوره حرکت غوره کړي.
لاندې د الګوریتم لیست دی چې موږ به یې د دې کولو لپاره وکاروو.
- که اوسنی ګام پای ته ونه رسیږي، لاندې ته لاړ شئ.
- ګټونکي حرکت وکړئ که تاسو کولی شئ.
- په لاندې بدل کې دې موقعیت ته لاړ شئ که چیرې لوبغاړی احتمالي ګټونکي حرکت ولري.
- یو کونج غوره کړئ او وګرځوئ. په تصادفي ډول غوره کړئ که چیرې ډیری اختیارونه شتون ولري.
- خپل ځان په مینځ کې ځای په ځای کړئ.
- یوه څنډه په پام کې ونیسئ. په تصادفي ډول غوره کړئ که چیرې ډیری اختیارونه شتون ولري.
- که چیرې د حرکت کولو لپاره کومه لاره شتون ونلري، لوبه په مساوي پای ته رسیږي.
تصادفي وټاکئ()
د احتمالي ځایونو لیست ته په پام سره ، دا فنکشن به په تصادفي ډول د ترسره کولو عمل غوره کړي.
د لوبې پیل
لوبه اوس پیل کیدی شي چې موږ خپل ټول کارونه پای ته ورسوو. ټول هغه څه چې موږ یې کولو ته اړتیا لرو اصلي ته زنګ ووهئ که موږ یوازې یو ځل لوبه پرمخ وړو.
مګر زموږ په وضعیت کې، موږ غواړو چې لوبه دوام ومومي تر هغه چې کاروونکي پریکړه وکړي چې دوی نور نه غواړي لوبې وکړي، نو موږ به اصلي کرښې ته یو کوچنی لوپ اضافه کړو.
بشپړ کوډ
دلته زموږ د لوبې لپاره بشپړ کوډ دی، کوم چې اوس بشپړ شوی.
Output
پایله
هریه!
یوه لوبه چې تاسو په بشپړ ډول له سکریچ څخه جوړه کړې. دا یوه لوبه نه ده چې موږ په منظم ډول لوبوو. مګر دا د منطق لیکلو او په کوډ کې د روښانه جوړښت ساتلو کې مرسته کوي.
خوشحاله کوډینګ!
یو ځواب ورکړئ ووځي