เปิดเพื่อแสดงโค้ด Pythonที่อยู่ด้านใน
def game_start():
import pandas as pd
import numpy as np
from random import choice
n = 0
round_game = 0
play = True
#Create score table
user_score = 0
com_score = 0
##create Playcontrol fuction
def play_ctrl():
print("Would you like to play again?(y/n)")
user_r = input("Please select y or n :").lower()
#check value
if user_r == 'y':
return True
elif user_r == 'n':
return False
else:
print("Your answer is wrong, please select only 'y' or 'n'")
return play_ctrl()
## Number of Round
def number_round():
nonlocal n
try:
# question to User
print("How many round would you like to play?")
#Get value
n = int(input("Please select a round to play :"))
#Check value
if pd.isna(n) or int(n) < 1:
print("Please enter a number greater than zero.")
return number_round()
else:
return n
except:
print("Your answer is wrong, please select only number.")
return number_round()
def core_game():
nonlocal round_game
nonlocal com_score
nonlocal user_score
#Create List action
action_list = [" ","ค้อน", "กรรไกร", "กระดาษ"]
def choice_rand():
print("""What is your choice?
1 : Hammer
2 : Scissors
3 : Paper""")
try:
user_choice = int(input("Please select a number (1-3) :"))
if user_choice < 1 or user_choice > 3:
print("Your answer is wrong, please select only number 1-3")
return choice_rand()
else:
return user_choice
except ValueError:
print("pleas select again")
return choice_rand()
while round_game < n:
print(f"-----Round : {round_game + 1}-----")
com_action = np.random.randint(1,4)
user_action = choice_rand()
round_game += 1
print("🔥🔥🔥🔥🔥Battle Start🔥🔥🔥🔥🔥")
print(f"🙋Your choice: {action_list[user_action]}")
print(f"🖥️Computer choice: {action_list[com_action]}")
if (user_action == 1 and com_action == 2) or\
(user_action == 2 and com_action == 3) or\
(user_action == 3 and com_action == 1):
print("-----You win🏆-----")
user_score += 1
elif user_action == com_action:
print("-----Tie-----")
else:
print("-----You lose💀-----")
com_score += 1
print("""
""")
# show result
print("""=== Final Score ===
""")
print(f"Your score is : {user_score}")
print(f"Computer score is : {com_score}")
print("""Fianal Battle is :""")
print("=== You win ===" if user_score > com_score else "=== You lose ===" if user_score < com_score else "=== Tie ===")
number_round()
core_game()
play_0 = play_ctrl()
if play_0:
return game_start()
else:
print("Thak you")
game_start()
เป้าหมายและผลลัพธ์
1.รับจำนวนรอบที่ผู้เล่นต้องการ โดยผ่านคำสั่ง number_round()
2.ผู้เล่นสามารถเลือกว่าจะออกอะไรและคอมสามารถสุ่มตัวเลือกมาสู้กับผู้เล่นได้
3.แสดงผลแพ้/ชนะ/เสมอในแต่ละรอบ และสรุปผลแพ้ ชนะได้ตอนจบเกม
4.เก็บคะแนนทั้งสองฝั่งเอาไว้แสดงตอนท้าย
5.ถามตอนผู้เล่นจนครบรูปที่ต้องการแล้ว ว่าต้องการเล่นใหม่อีกครั้งหรือไม่ผ่าน play_control()
คำอธิบายเพิ่มเติม
ใน project นี้ผมได้ปล่อยให้มี typo เอาไว้บางคำ แต่เกมจะยังรันได้ปกติ ซึ่งtypoที่เกิดขึ้นนั้น จะอยู่ในส่วนของการแสดงผลเพียงเท่านั้น เช่น คำว่า “Thank you” -> “Thak you”
โดยผู้อ่านสามารถ copy code ของผมไปลองเล่นผ่าน google colab และกดรัน code ได้เลยโดยที่ไม่ต้องทำอะไรเพิ่มเติม

Leave a comment