การเขียน เกมXO โดยใช้ภาษา C

Microsoft Office Knowledge Word, Excel, powerpoint, line , โปรแกรมเสริมต่างๆ

Moderator: mindphp, ผู้ดูแลกระดาน

ภาพประจำตัวสมาชิก
wkid
PHP VIP Members
PHP VIP Members
โพสต์: 2158
ลงทะเบียนเมื่อ: 17/05/2022 10:37 am

การเขียน เกมXO โดยใช้ภาษา C

โพสต์ที่ยังไม่ได้อ่าน โดย wkid »

เกม XO หรือ อีกชื่อนึงมีชื่อเรียกว่า Tic-Tac-Toe เป็นเกมที่สลับกันเล่นโดยใช้
ผู้เล่น 2 คน โดยในส่วนของขนาดของตารางก็แล้วแต่ว่าตัวผู้เล่นจะกำหนดขึ้นมาว่า
จะใช้ขนาดเท่าไหร่คูณเท่าไหร่ก็ขึ้นอยู่กับตัวผู้เล่นเลือกใช้แล้วตามสะดวก
ในส่วนของตัวกติกาในการเล่นและวิธีการชนะก็ขึ้นอยู่กับการเล่นการกำหนด
ของผู้เล่นเช่นเดียวกันอาจจะมีการลูกเล่นพิเศษๆแปลกไปตามแต่ละกรณี
งั้นเดะเราไปดูการเขียนเกม XO โดยใช้ภาษา C คร่าวๆกันเลยนะครับ

ขั้นตอนการทำมีคร่าวๆประมาณนี้ครับ
  1. กำหนดตัวตารางสำหรับเกมก่อนแล้วแต่คนเล่น ในส่วนนี้ขอกำหนด เป็น 4*4
    เนื้องจากให้ข้อมูลในตารางว่างก่อน เลยกำหนดเป็นตัวว่างมาก่อน

    โค้ด: เลือกทั้งหมด

    char Table[4][4]=
        {
            {' ',' ',' ',' '},
            {' ',' ',' ',' '},
            {' ',' ',' ',' '},
            {' ',' ',' ',' '}
    
        };
    จะได้
    ภาพของตาราง
    ภาพของตาราง
    ข้อมูล.jpg (4.84 KiB) Viewed 1778 times
  2. ส่วนของการกำหนดผู้เล่นว่าฝ่ายไหนจะได้เล่นก่อน ส่วนตัวจะให้ผู้เล่น เริ่มก่อน
    โดยใช้ตัวของรอบการเล่นเป็นตำกำหนด จะได้

    โค้ด: เลือกทั้งหมด

    int round =0;
    round = round + 1;
    if(round%2!=0)//Player 1
    คร่าวๆประมาณนี้ครับ
  3. ส่วนต่อมาก็จะเป็นวิธีการเล่นของเกมก็อยู่ที่ว่าจะมีการกำหนดการเล่นแบบไหน
    ในส่วนของตัวเกม ผมสมมติขึ้นมาคร่าวๆว่าจะมีการใส่ xo ปกติ แต่จะมีการใส่ XO
    ตัวใหญ่ได้ 3 ครั้ง ซึ่งจะสามารถใส่ทับได้แค่ตัวเล็กของ xo ที่มีการใส่ในตารางเท่านั้น
    ส่วนวิธีการเช็คโค้ดส่วนนี้ จะมีการเก็บค่าจะได้

    โค้ด: เลือกทั้งหมด

    //ในส่วนของ การรับค่า xo
    scanf("%c",&Ans1);
    while(Ans!='x')//เป็นการเช็คว่าไม่ได้มีการใส่ทับรอบการเล่นของคนอื่น
    {
        scanf("%c",&Ans);
    }

    โค้ด: เลือกทั้งหมด

    //ในส่วนของการรับค่า XO
    if (countX >0)
    {
        printf("You select x or X ???\n");
        canf("%c",&Ans);
        while(Ans!='x'&& Ans!='X')//เป็นการเช็คว่าไม่ได้มีการใส่ทับรอบการเล่นของคนอื่น
        {
             scanf("%c",&Ans);
         }
    }
  4. ต่อมาก็จะเป็นการเลือกพื้นที่ จะได้

    โค้ด: เลือกทั้งหมด

    //ตัวอย่างการเลือกพื้นที่
    while (x1<1||x1>4)
    {
          printf("Enter a number of Landscape(1-4)\n");
          scanf("%d",&x1);
    }
    while(y1<1||y1>4)
    {
         printf("Enter a number of Vertical(1-4)\n");
         scanf("%d",&y1);
    }
    if(Table[x1-1][y1-1]=='x'||Table[x1-1][y1-1]=='o'||Table[x1-1][y1-1]=='X'||Table[x1-1][y1-1]=='O') 
    {
          while(Table[x1-1][y1-1]=='x'||Table[x1-1][y1-1]=='o'||Table[x1-1][y1-1]=='X'||Table[x1-1][y1-1]=='O')
          {
                x1=0;
                y1=0;
                while (x1<1||x1>4)
                 {
                       printf("Enter a number of Landscape(1-4)\n");
                       scanf("%d",&x1);
                 }
                 while(y1<1||y1>4)
                 {
                       printf("Enter a number of Vertical(1-4)\n");
                       scanf("%d",&y1);
                  }
           }
    }
    Table[x1-1][y1-1]=Ans1;
    เป็นการเช็คตำแหน่งว่าใส่ได้หรือป่าว มีการเลือกแกนตามแหน X แกน Y
  5. ส่วนของการเช็คชนะ ก็เช็คตำแนวตั้งแนวนอนให้เป็นแถวเหมือนกันหรือหลักเหมือนกันคร่าวๆจะได้

    โค้ด: เลือกทั้งหมด

    //เช็คชนะ
    if(Table[0][0]=='x'||Table[0][0]=='X')
    {
         if(Table[1][1]=='x'||Table[1][1]=='X')
         {
              if(Table[2][2]=='x'||Table[2][2]=='X')
              {
                  if(Table[3][3]=='x'||Table[3][3]=='X')
                  {
                      printf("X win!");
                      R=R+1;
                   }
              }
          }
    }
    ตัวอย่างที่ชนะ
    ตัวอย่างของการชนะ
    ตัวอย่างของการชนะ
    X win.jpg (16.18 KiB) Viewed 1778 times
สรุปได้ว่า การเล่นเกม XO หรือ อีกชื่อนึงมีชื่อเรียกว่า Tic-Tac-Toe เป็นเกมตาราง
ที่สามารถประยุกต์เล่นได้หลากมากมาย แล้วแต่ผู้จะเลือกวิธีการเล่น
และกำวิธีการเล่นต่างๆ วิธีการชนะได้มากมายหลากรูปแบบ

อ้างอิง
https://www.w3schools.com/c/index.php
https://www.w3schools.com/c/c_syntax.php
https://www.w3schools.com/c/c_output.php
ทำไมสัตว์ที่น่ากลัวที่สุดถึงตัวเล็กๆที่เรียกว่า Bug ละนั่น );
  • Similar Topics
    ตอบกลับ
    แสดง
    โพสต์ล่าสุด

ผู้ใช้งานขณะนี้

สมาชิกกำลังดูบอร์ดนี้: Google [Bot] และบุคลทั่วไป 2