گيمنگ تفريح جو هڪ روپ آهي ماڻهن لاءِ دستياب آهي. ھر قسم جون رانديون آن لائن دستياب آھن، موبائيل ڊوائيسز تي، ڊيسڪ ٽاپ ڪمپيوٽرن تي، وغيره. ھاڻي اھو وقت نه آھي جو انھن مان ڪنھن ھڪ کي مشڪل سان ٺاھيو.
Python استعمال ڪندي، اسان CLI ٽڪ-ٽيڪ-ٽو گيم ٺاهينداسين. اچو ته پائٿون استعمال ڪريون هڪ سڌريل Tic Tac Toe راند ٺاهڻ لاءِ. اهو توهان کي راند جي منطق ٺاهڻ ۽ ڪوڊ کي ترتيب ڏيڻ سکڻ ۾ مدد ڏيندو.
ٽڪ ٽيڪ ٽو
ان کان اڳ جو اسان ڪوڊنگ شروع ڪريون، مون سوچيو ته مان جلدي راند کي اختصار ڪندس ۽ ان کي ترقي ڪرڻ لاءِ منهنجي منصوبي تي بحث ڪندس.
پهرين، اسان اهو مفروضو قائم ڪنداسين ته Xs هميشه شروعات ڪري ٿو ۽ پهرين منتقل ڪري ٿو، صارف کي ڪم ڪرڻ جو موقعو ڏيو.
ڪنسول کان، 1 ۽ 9 جي وچ ۾ هڪ نمبر داخل ڪيو ويندو. هڪ گرڊ ۾ جتي هر نمبر هڪ مختلف نمبر سان ملندو آهي (مٿي کاٻي 1 آهي، هيٺيون ساڄي 9 آهي).
ڪمپيوٽر خودڪار طريقي سان طئي ڪندو ۽ ان جي منتقلي کي ٺاهيندو هڪ ڀيرو صارف کي هلڻ بعد. ھڪڙو پرائمري راند لوپ جيڪو سڏيندو آھي ڪيترن ئي مختلف رستن کي مون پاران استعمال ڪيو ويندو.
ڪھڙي ڪم کي ختم ڪيو پيو وڃي شايد ھن متن تي ٻڌل سبق جي ھر مٿو ۾ اشارو ڪيو ويو آھي.
بورڊ ٺاھڻ
اسان اسان جي بورڊ کي گرڊ ترتيب استعمال ڪندي ڏيکارينداسين، جيئن مون اڳ ۾ اشارو ڪيو. اسان اهو ڪرڻ لاءِ Python ۾ بورڊ نالي هڪ لسٽ ٺاهينداسين، ۽ اهو 10 خالي ويلن سان شروع ٿيندو.
ڇاڪاڻ ته صارف صرف نمبر 1 کان 9 تائين داخل ڪري سگھن ٿا، نه 0 کان 8 تائين، اسان وٽ 10 جي بجاءِ 9 خالي قيمتون آھن. تنھنڪري، شين کي آسان ڪرڻ لاءِ، اسان پنھنجي لسٽ جي پھرين داخلا کي "خالي متن" جي قيمت ڏينداسين.
هن طريقي سان، اسان 1-9 جي بدران 0-8 استعمال ڪري سگهون ٿا اسان جي لسٽ ۾ داخل ٿيڻ لاء.
داخل خط ()
خط ۽ پوسٽ هن فنڪشن لاء ٻه ان پٽ هوندا. اهو صرف درخواست ٿيل خط کي درخواست ڪيل جڳهه تي رکندو.
SpaceIsfree (pos)
بس چيو ته، هي طريقو اسان کي خبر ڏيندو جيڪڏهن مخصوص علائقو مفت آهي. تنهن ڪري، اتي اڳ ۾ ئي هڪ خط نه آهي. Pos، ان جو واحد دليل، 1 ۽ 9 جي وچ ۾ هڪ عدد هوندو.
پرنٽ بورڊ (بورڊ)
بورڊ موڪليو ويو آهي هڪ دليل جي طور تي هن طريقي سان، جيڪو ڏيکاري ٿو اهو ڪنسول تي.
آهي فاتح()
موجوده بورڊ جي بنياد تي، هي فنڪشن اسان کي خبر ڏيندو ته ڇا فراهم ڪيل خط کٽيو آهي. ان ۾ ٻه پيٽرول آهن: لي ۽ بورڊ (خط).
اهو هڪ "X" يا "O" هجڻ گهرجي. بس ڏسڻ لاءِ ته ڇا مخصوص خط موجود آهي بورڊ تي هر ممڪن کٽڻ واري لائن تي.
بنيادي ()
جڏهن اسان راند شروع ڪرڻ چاهيون ٿا، اسان هن طريقي کي سڏينداسين. اهو اسان جي پروگرام جي ڪيترن ئي ڪمن مان هر هڪ کي سڏيندو ۽ سڌو رستو ڏيکاريندو ته پروگرام ڪيئن هلڻو آهي.
isBoardFull()
جڏهن ان پٽ جي طور تي ڏنو ويو آهي، اهو طريقو صرف صحيح موٽندو جيڪڏهن بورڊ مڪمل آهي ۽ ٻي صورت ۾ غلط.
پليئر موو()
هن طريقي ۾، اسان صارف کان هڪ منتقلي جي درخواست ڪنداسين ۽ ان جي تصديق ڪنداسين. خط بورڊ ۾ شامل ڪيو ويندو جيڪڏهن اقدام جائز آهي. جيڪڏهن نه، اسان صارف جي راءِ جي درخواست ڪندا رهنداسين.
CompMove () - AI
AI هاڻي شروع ٿيندي. ڪمپيوٽرن جي حرڪت کي هن فنڪشن ذريعي ڪنٽرول ڪيو ويندو. اهو بورڊ جو جائزو وٺندو ۽ چونڊڻ لاءِ بهترين قدم کڻندو.
هيٺ ڏنل الورورٿم جي هڪ فهرست آهي جنهن کي اسين هن لاءِ استعمال ڪنداسين.
- جيڪڏهن موجوده قدم ختم نه ٿي ڪري سگھجي، ھيٺ ڏنل ھڪڙي ڏانھن وڃو.
- کٽڻ واري حرڪت وٺو جيڪڏھن توھان ڪري سگھو.
- ھيٺئين موڙ تي ان پوزيشن ۾ وڃو جيڪڏھن پليئر کي ممڪن طور تي کٽڻ واري حرڪت آھي.
- هڪ ڪنڊ چونڊيو ۽ ان کي ڦيرايو. بي ترتيب تي چونڊيو جيڪڏھن ڪيترائي اختيار آھن.
- پاڻ کي وچ ۾ رکو.
- ھڪڙي ڪنارن تي غور ڪريو. بي ترتيب تي چونڊيو جيڪڏھن ڪيترائي اختيار آھن.
- جيڪڏهن منتقل ڪرڻ جو ڪو طريقو ناهي، راند هڪ ٽائي ۾ ختم ٿئي ٿي.
منتخب ڪريو بي ترتيب ()
امڪاني جڳهن جي هڪ فهرست ڏني وئي، هي فنڪشن بي ترتيب تي عمل ڪرڻ لاء چونڊيندو.
راند جي شروعات
راند ھاڻي ھاڻي شروع ٿي سگھي ٿي ته اسان اسان جا سڀ ڪم ختم ڪيا آھن. اسان سڀني کي ڪرڻ جي ضرورت پوندي مين کي ڪال ڪريو جيڪڏهن اسان صرف هڪ ڀيرو راند کي هلائڻ چاهيون ٿا.
پر اسان جي صورتحال ۾، اسان چاهيون ٿا ته راند جاري رهي جيستائين صارف فيصلو نه ڪري ته اهي هاڻي کيڏڻ نٿا چاهين، تنهنڪري اسان مين لائن ڏانهن هڪ ننڍڙو لوپ شامل ڪنداسين.
مڪمل ڪوڊ
هتي اسان جي راند لاء مڪمل ڪوڊ آهي، جيڪو هاڻي مڪمل آهي.
پيداوار
ٿڪل
هورا!
هڪ راند جيڪا توهان مڪمل طور تي شروع کان ٺاهي آهي. اها راند نه آهي جيڪا اسان باقاعده بنياد تي راند ڪندا آهيون. پر اهو منطق جي لکڻ ۽ ڪوڊ ۾ واضح ڍانچي جي سار سنڀال ۾ مدد ڪري ٿو.
خوش ڪوڊنگ!
جواب ڇڏي وڃو