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 ของตัวเองต่อไปเรื่อยๆครับ ขอบพระคุณครับ ♥

Comments

Leave a comment