Tag: Python

It’s Python skills for me.

  • Introduction for python skills

    หลังจากที่ได้เรียน Boot camp กับพี่ทอยไปเรียบร้อย ได้รับโจทย์การบ้านจากพี่ทอย 555+ ให้ลองเขียน Programing โดยใช้ภาษา Python เกี่ยวกับการเล่นเป่ายิ้งฉุบ ซึ่งจะคล้ายๆกับตอนที่เราเขียน R-Programing เพียงแต่ใช้ Function และความรู้ที่เรียนมา เขียนออกมาตามความเข้าใจของเรา เดี๋ยวลองมาดูกัน จะพยายามเขียนอธิบายให้ออกมาให้ดีที่สุดค้าบบ


    ♥♥♥ เริ่มต้นจากการทำความเข้าใจเกี่ยวกับภาษา Python สำหรับผมเนื่องจากก่อนหน้านี้เราเขียนภาษา R ก่อน เลยจะนำเอาพื้นฐานจากที่ได้เรียนมาขยายความให้เข้าใจมากขึ้น

    “รู้จักลองอะไรใหม่ๆ ทำให้ได้อะไรเจ๋งๆ กลับมาเสมอ” กล่าวโดย เจฟฟ์ เบโซส


    ก่อนจะเริ่มกัน อยากให้ทุกท่านเข้าไปเล่นเกมส์นี้กันก่อนนะครับ

    เข้าผ่าน link นี้ แล้ว กด Code มุมบนซ้าย จากนั้นก็ พิมพ์ข้อความนี้นะครับ


    pao_ying_chub()

    ขอให้สนุกกับเกมส์นะครับ Enjoy the game ! ☺



    . . หลังจากได้ลองเล่นไปแล้ว เดี๋ยวเรามาดูคำอธิบาย Code แต่ละ function กันนะครับ . .


    เริ่มจากการ import random เพื่อเตรียมการสุ่มค่าที่เราตั้งค่าไว้

    import random

    จากนั้นจะทำการเขียน หน้า welcome สำหรับการเล่นเกมส์เป้ายิ้งฉุบ โดยเป็นการเล่นระหว่าง User กับ Bot จึงทำการระบุตัวนับคะแนนลงไปด้วย

    def pao_ying_chub():
        print("Hello welcome to International fun G-A-M-E")
        print("This is PAO YING CHUB!!")
        print("Let's Start it!!!")
    ## ด้านล่างระบุไว้เพื่อนับคะแนน เริ่มต้นจาก 0 ทั้ง User และ Bot
        user_score = 0
        bot_score = 0

    ต่อมาจะเป็นการเริ่มเล่นเกมส์โดยการระบุจำนวนรอบที่เราจะเล่นกัน โดยเริ่มเล่นจากรอบที่ 1 และจะเล่นกันทั้งหมด 10 รอบ เพื่อหาผู้ชนะ (ที่เขียน range 1 , 11 เนื่องจาก Python จะนับค่าก่อนถึงค่าที่กำหนด จึงเป็น รอบที่ 1 – 10)

    count = 1
        for round in range(1, 11):
            print(f"In round: {round}")

    ถัดมาคือการสร้างตัวแปรของ ผู้เล่น หรือ User เพื่อให้ผู้เล่นทำการเลือก choice [ค้อน , กรรไกร , กระดาษ] จากที่กำหนดออกเป็นผลลัพธ์ที่ต้องการเลือก ใน 3 ค่านี้เท่านั้น

    user_hand = input(print("Please choose your hand : [hammer, paper , scissor]"))

    จากนั้นเมื่อผู้เล่นเลือก choice ของตัวเองได้แล้ว ก็จะถึงตาของ Bot ที่จะทำการสุ่มค่า 3 ค่าเช่นเดียวกับของผู้เล่น คือ [ค้อน , กรรไกร , กระดาษ] เพื่อวัดผลลัพธ์ในรอบนั้นๆ

    b_hand = ["hammer" , "scissor" , "paper"]
    bot_hand = random.choice(b_hand)
    print(f"And bot choose!! : {bot_hand}")

    ถัดมาเป็นเงื่อนไขการให้คะแนน จากผลลัพธ์ที่ออกมาระหว่าง ผู้เล่น และ Bot นั้นเอง โดยเงื่อนไขตั้งตามผู้เล่น

    เงื่อนไขที่ 1 : ถ้าผลลัพธ์ออกมาเป็น Choice เดียวกัน ให้ประกาศว่ารอบนั้นๆ เสมอกัน

    “This round is DRAW!!”

    เงื่อนไขที่ 2 : ถ้าผลลัพธ์ผู้เล่นออกค้อน Bot ออกกรรไกร หรือ

    ถ้าผลลัพธ์ผู้เล่นออกกระดาษ Bot ออกค้อน หรือ

    ถ้าผลลัพธ์ผู้เล่นออกกรรไกร Bot ออกกระดาษ

    ให้ประกาศว่ารอบนั้นๆผู้เล่นชนะ “This round YOU WIN!! Yeahhh :D” แล้วบวกคะแนนให้ผู้เล่น 1 คะแนน

    เงื่อนไขที่ 3 : ถ้าไม่เข้าเงื่อนไขที่ 1 และ 2 ให้ประกาศว่ารอบนั้นๆ Bot ชนะ แล้วบวกคะแนนให้ Bot 1 คะแนน “This round YOU LOSE!! so sad :(“

    จากนั้นก็จะดำเนินการเล่นรอบถัดไป เพื่อให้ครบ 10 รอบการเล่น

    if user_hand == bot_hand:
    print("This round is DRAW!!")
     elif (user_hand == "hammer" and bot_hand == "scissor") or \
          (user_hand == "paper" and bot_hand == "hammer") or \
          (user_hand == "scissor" and bot_hand == "paper"):
           print("This round YOU WIN!! Yeahhh :D")
                user_score += 1
           else:
                print("This round YOU LOSE!! so sad :(" )
                bot_score += 1

    ถัดมาจะเป็นส่วนรองสุดท้าย คือการประกาศคะแนนรวม เมื่อเล่นครบ 10 รอบ

    print("Now !! End the game , This is a score: ")
    print(f"Your score {user_score} ")
    print(f"Bot Score {bot_score} ")

    ส่วนสุดท้ายคือการประกาศผลผู้ชนะ โดยการเอาคะแนนมารวมกัน

    ถ้าผู้เล่นคะแนนรวมมากกว่า ให้ประกาศว่าผู้เล่นเป็นผู้ชนะในเกมส์นี้

    ถ้า Bot คะแนนรวมมากกว่า ให้ประกาศว่า Bot เป็นผู้ชนะในเกมส์นี้

    ถ้าคะแนนเท่ากัน เป็นเสมอกันในเกมส์นี้

    if user_score > bot_score:
       print("You a Winner!")
    elif user_score < bot_score:
       print("Bot a Winner!")
    else:
       print("This game is DRAW!")

    จบไปเป็นที่เรียบร้อยแล้ว หวังว่าผู้อ่านทุกท่านจะพอเข้าใจใน Concept ของแต่ละ Function ในแต่ละส่วนนะครับ

    สามารถติชมได้ จะนำไปพัฒนา Skill ของตัวเองต่อไปเรื่อยๆครับ ขอบพระคุณครับ ♥