در این مطلب، روش پیاده سازی بازی دوز در زبان برنامه‌نویسی «سی‌پلاس‌پلاس» (++C) آموزش داده شده است. بازی دوز که به آن ایکس-او و یا تیک تاک تو (Tic-Tac-Toe) نیز گفته می‌شود، یکی از بازی‌های محبوب دو بازیکنی است. قواعد این بازی به شرح زیر هستند:

  • بازی بین دو بازیکن انجام می‌شود (در این پیاده‌سازی، بازی بین انسان و کامپیوتر انجام می‌شود).
  • یکی از بازیکنان «O» و دیگری «X» را برای علامت‌گذاری خانه مورد نظر خود برمی‌گزیند.
  • بازی با یک بازیکن شروع می‌شود و هنگامی به پایان می‌رسد که یکی از بازیکنان بتواند یک سطر، ستون یا قطر کامل را با علامت خودش (O یا X) پر کند.
  • اگر هیچ کس برنده نشود، بازی گره خورده است (Tie).

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

در برنامه‌ای که کد آن در ادامه ارائه شده است، حرکات انتخاب شده توسط کامپیوتر و انسان تصادفی هستند. بنابراین، از تابع ()rand در این راستا استفاده می‌شود. این بازی توسط طرفین بازی به صورت بهینه قابل انجام نیست؛ زیرا حرکات به صورت تصادفی انتخاب می‌شوند. برنامه را می‌توان به سادگی ویرایش کرد، بنابراین هر دو بازیکنان می‌توانند به صورت بهینه بازی کنند (که در این صورت، مساله از جمله مسائل «هوش مصنوعی» (Artificial Intelligence) محسوب می‌شود). همچنین، برنامه را می‌توان به گونه‌ای ویرایش کرد که خود کاربر ورودی را وارد کند (با استفاده از ()scanf یا cin). اگر هر دو بازیکن به صورت بهینه بازی کنند، بازی گره می‌‌خورد. در واقع، فارغ از اینکه چه کسی اول بازی را آغاز کند، در صورتی که دو بازیکن حرفه‌ای با یکدیگر بازی کنند، بازی گره می‌خورد.

پیاده سازی بازی دوز در ++C

خروجی قطعه کد بالا، به صورت زیر است.

                Tic-Tac-Toe

Choose a cell numbered from 1 to 9 as below and play

              ۱ | ۲  | ۳  
            --------------
              ۴ | ۵  | ۶  
            --------------
              ۷ | ۸  | ۹  

-    -    -    -    -    -    -    -    -    -

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) گفته می‌شود و هدف آن ساخت یک دوز معمولی جذاب‌تر و با امکان پیش‌بینی کمتر است.

اگر نوشته بالا برای شما مفید بوده است، آموزش‌های زیر نیز به شما پیشنهاد می‌شوند:

^^

telegram
twitter

الهام حصارکی

«الهام حصارکی»، فارغ‌التحصیل مقطع کارشناسی ارشد مهندسی فناوری اطلاعات، گرایش سیستم‌های اطلاعات مدیریت است. او در زمینه هوش مصنوعی و داده‌کاوی، به ویژه تحلیل شبکه‌های اجتماعی، فعالیت می‌کند.

آیا این مطلب برای شما مفید بود؟

نظر شما چیست؟

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *