پیاده سازی بازی دوز در ++C – از صفر تا صد


در این مطلب، روش پیاده سازی بازی دوز در زبان برنامهنویسی «سیپلاسپلاس» (++C) آموزش داده شده است. بازی دوز که به آن ایکس-او و یا تیک تاک تو (Tic-Tac-Toe) نیز گفته میشود، یکی از بازیهای محبوب دو بازیکنی است. قواعد این بازی به شرح زیر هستند:
- بازی بین دو بازیکن انجام میشود (در این پیادهسازی، بازی بین انسان و کامپیوتر انجام میشود).
- یکی از بازیکنان «O» و دیگری «X» را برای علامتگذاری خانه مورد نظر خود برمیگزیند.
- بازی با یک بازیکن شروع میشود و هنگامی به پایان میرسد که یکی از بازیکنان بتواند یک سطر، ستون یا قطر کامل را با علامت خودش (O یا X) پر کند.
- اگر هیچ کس برنده نشود، بازی گره خورده است (Tie).
در برنامهای که کد آن در ادامه ارائه شده است، حرکات انتخاب شده توسط کامپیوتر و انسان تصادفی هستند. بنابراین، از تابع ()rand در این راستا استفاده میشود. این بازی توسط طرفین بازی به صورت بهینه قابل انجام نیست؛ زیرا حرکات به صورت تصادفی انتخاب میشوند. برنامه را میتوان به سادگی ویرایش کرد، بنابراین هر دو بازیکنان میتوانند به صورت بهینه بازی کنند (که در این صورت، مساله از جمله مسائل «هوش مصنوعی» (Artificial Intelligence) محسوب میشود).
همچنین، برنامه را میتوان به گونهای ویرایش کرد که خود کاربر ورودی را وارد کند (با استفاده از ()scanf یا cin). اگر هر دو بازیکن به صورت بهینه بازی کنند، بازی گره میخورد. در واقع، فارغ از اینکه چه کسی اول بازی را آغاز کند، در صورتی که دو بازیکن حرفهای با یکدیگر بازی کنند، بازی گره میخورد.
پیاده سازی بازی دوز در ++C
خروجی قطعه کد بالا، به صورت زیر است.
Tic-Tac-Toe Choose a cell numbered from 1 to 9 as below and play 1 | 2 | 3 -------------- 4 | 5 | 6 -------------- 7 | 8 | 9 - - - - - - - - - - COMPUTER has put a O in cell 6 | | -------------- | | O -------------- | | HUMAN has put a X in cell 7 | | -------------- | | O -------------- X | | COMPUTER has put a O in cell 5 | | -------------- | O | O -------------- X | | HUMAN has put a X in cell 1 X | | -------------- | O | O -------------- X | | COMPUTER has put a O in cell 9 X | | -------------- | O | O -------------- X | | O HUMAN has put a X in cell 8 X | | -------------- | O | O -------------- X | X | O COMPUTER has put a O in cell 4 X | | -------------- O | O | O -------------- X | X | O COMPUTER has won
همانطور که پیشتر نیز بیان شد، اگر دو بازیکن با تجربه بازی دوز را انجام دهند، بازی همیشه گره میخورد. نوع دیگری از بازی دوز وجود دارد که به آن «دوز استراتژیک» (Ultimate Tic-Tac-Toe | Strategic Tic-Tac-Toe) گفته میشود و هدف آن ساخت یک دوز معمولی جذابتر و با امکان پیشبینی کمتر است.
اگر نوشته بالا برای شما مفید بوده است، آموزشهای زیر نیز به شما پیشنهاد میشوند:
- مجموعه آموزشهای برنامهنویسی
- آموزش برنامهنویسی C++
- مجموعه آموزشهای ریاضیات
- یافتن دور همیلتونی با الگوریتم پس گرد — به زبان ساده
- الگوریتم بازی مار و پله همراه با کد — به زبان ساده
- حل مساله n وزیر با الگوریتم پسگرد (Backtracking) — به زبان ساده
- الگوریتم جست و جوی دودویی در جاوا اسکریپت — به زبان ساده
^^
سلام وقت بخیر ببخشید برای بازی دونفره یا بازی با کامپیوتر چکار باید بکنیم کدش چیه؟؟
تو این کد چطوری ورودیه کد رو خودمون وارد کنیم بازی جوری شه که cin شماره رو خودمون وارد کنیم
تو این کد بالا اکه بخایم عدد ها رو خودمون وارد کنیم یعنی دو نفر بازی کند چ باس کرد ؟؟
برای من اجرا نمیشه و چند اخطار برایprints زده
با سلام؛
از همراهی شما با مجله فرادرس و ارائه بازخورد سپاسگزاریم. لطفا، عنوان خطا را در پاسخ به این دیدگاه ارسال کنید تا امکان راهنمایی بهتر فراهم شود.
پیروز، شاد و تندرست باشید.