/ / Chơi trò chơi cricket bằng tay bằng Python

Chơi trò chơi cricket bằng tay bằng Python

Với ước tính 2,5 tỷ người hâm mộ, cricket là một trong những môn thể thao lớn nhất và phổ biến nhất trên thế giới. Chỉ riêng ở Ấn Độ, môn cricket trị giá tới 5,3 tỷ đô la. Sachin Tendulkar, Donald Bradman, Brian Lara và MS Dhoni chỉ là một vài huyền thoại có tên sống trong trái tim của hàng triệu người.


Không có gì ngạc nhiên khi môn cricket đã tìm được đường đến thực tế ảo, trò chơi điện tử và các biến thể khác như sách và cricket bằng tay. Đưa trò chơi này tiến thêm một bước bằng cách xây dựng trò chơi cricket bằng tay bằng Python.


Dế Tay Là Gì?

Chơi cricket bằng tay là một trò chơi trong đó hai người chơi thi đấu với nhau bằng ngón tay của họ. Trong mỗi lượt, cả hai người chơi hiển thị một số bằng ngón tay của họ cùng một lúc. Nếu tỷ số trùng khớp, người đánh bóng sẽ bị loại, nếu không thì họ sẽ giành được số của mình khi chạy. Cuối cùng, người chơi ghi được nhiều điểm nhất sẽ thắng trò chơi.

Bạn cũng có thể xây dựng trò chơi này và chơi với máy tính. Thay vì giơ ngón tay ra để thể hiện điểm số, bạn nhập nó vào chương trình. Python là một trong những ngôn ngữ dễ sử dụng và thuận tiện nhất. Nếu chưa từng có kinh nghiệm sử dụng Python, bạn có thể bắt kịp tốc độ với bất kỳ khóa học Python trực tuyến miễn phí nào dành cho người mới bắt đầu.

Sau khi bạn học các nguyên tắc cơ bản, bạn nên xây dựng các dự án nhỏ và trò chơi để củng cố việc học của mình. Bạn có thể bắt đầu bằng cách chế tạo đồng hồ kỹ thuật số, tung xúc xắc, câu đố hoặc bộ đếm từ. Bạn cũng có thể lấy cảm hứng từ những ý tưởng dự án Python dành cho người mới bắt đầu này.

Cách xây dựng trò chơi cricket bằng tay bằng Python

Bạn có thể tìm thấy mã nguồn của Hand Cricket Using Python trong kho lưu trữ GitHub này.

Nhập thư viện ngẫu nhiên, cần thiết cho lần tung đầu tiên và các lựa chọn của máy tính. Xác định một chức năng có tên đầu vào_num chấp nhận hai đối số, tối thiểutối đa tương ứng để xác thực đầu vào của người dùng. Sử dụng đầu vào() chức năng, lưu số người dùng nhập vào biến con sốvà chuyển nó từ kiểu Chuỗi mặc định sang kiểu Số nguyên bằng cách sử dụng int().

Nếu số người dùng nhập lớn hơn giới hạn tối đa hoặc nhỏ hơn giới hạn tối thiểu, hãy yêu cầu người dùng nhập lựa chọn hợp lệ bằng cách gọi hàm theo cách đệ quy. Nếu số nằm trong phạm vi, hãy trả lại.

 import random

def input_num(min, max):
    num = int(input())

    if num > max or num < min:
        print("Enter valid choice")
        return input_num(min, max)
    else:
        return num

Xác định một chức năng phiên chấp nhận người đánh bóng hiện tại và các lượt chạy để đuổi theo làm đối số đầu vào. Yêu cầu người dùng nhập số trong phạm vi từ một đến sáu. Theo quy tắc của cricket tay, nếu cả người dùng và máy tính chọn cùng một số, người đánh bóng hiện tại sẽ bị loại.

Khởi tạo một biến toàn bộ để lưu trữ tổng số lần chạy do vận động viên ném bóng ghi được và đặt thành 0. Bắt đầu một vô hạn trong khi vòng lặp và gọi input_num() chức năng lưu trữ và xác thực đầu vào của người dùng. Sử dụng mô-đun ngẫu nhiên randint() chức năng chọn một số ngẫu nhiên từ một đến sáu cho máy tính.

Hiển thị các lựa chọn của cả hai người chơi, sau đó kiểm tra xem chúng có bằng nhau không. Nếu đúng như vậy, hãy hiển thị rằng vận động viên đánh bóng đã ra ngoài và trả về tổng số lần chạy mà họ đã ghi được trong các lượt chơi đó.

Nếu không, hãy kiểm tra xem ai đang đánh bóng và thêm giá trị thích hợp vào tổng số điểm, hoặc pnum hoặc là cnum. Hiển thị số điểm hiện tại của batsman.

Trong trường hợp của hiệp thứ hai, bạn muốn kiểm tra xem người đánh bóng đã đánh bại đối thủ của họ chưa. Để làm như vậy, hãy kiểm tra xem đuổi theo giá trị không trống và nếu điểm của vận động viên ném bóng lớn hơn. Nếu vậy, hãy trả lại điểm chiến thắng của họ.

 def innings(batsman, to_chase):
    print("Enter numbers between 1 and 6. If you both choose the same number then " + batsman + " is out")
    total = 0

    while True:
        pnum = input_num(1, 6)
        cnum = random.randint(1, 6)

        print("User chose", pnum)
        print("Computer chose", cnum)

        if pnum == cnum:
            print(batsman + " is out")
            return total
        else:
            total = total + (pnum if batsman == "User" else cnum)
            print(batsman + " score is", total)
            if to_chase is not None and total > to_chase:
                return total

Hiển thị thông báo để tung và xác thực lựa chọn của người dùng bằng cách sử dụng input_num() hàm số. Tung đồng xu và lưu kết quả vào biến đồng tiền. Khởi tạo giá trị mặc định của player_bowls để sai. Nếu lần tung đồng xu khớp với lựa chọn của người dùng, thì người dùng sẽ thắng khi tung và chọn giữa đánh bóng và chơi bowling.

Lấy lựa chọn của người dùng và kiểm tra xem anh ta đã nhập chưa. Nếu có, đánh giá biểu thức là đúng và lưu trữ trong player_bowls Biến đổi. Hiển thị lựa chọn của người dùng. Mặt khác, nếu máy tính thắng, hãy thực hiện randint() và đánh giá giá trị thích hợp để player_bowls.

Hiển thị lựa chọn của máy tính và bắt đầu lượt chơi.

 print("Time for toss, Enter 0 for Heads and 1 for Tails")
choice = input_num(0, 1)
coin = random.randint(0, 1)
player_bowls = False

if coin == choice:
    print("You have won the toss")
    print("Select 0 to bat, 1 to bowl ")
    player_bowls = input_num(0, 1) == 1

    if player_bowls:
        print("You chose to bowl")
    else:
        print("You chose to bat")
else:
    print("Computer won the toss")
    player_bowls = random.randint(0, 1) == 1

    if player_bowls:
        print("Computer chose to bat")
    else:
        print("Computer chose to bowl")

Nếu player_bowls đúng thì máy tính đánh trước và ngược lại. Tính số lần chạy ghi được trong một lượt sử dụng hàm bạn đã xác định trước đó. Chức năng yêu cầu tên của người đánh bóng hiện tại và các lượt chạy để đuổi theo. Khi người đánh bóng đầu tiên đặt điểm, hãy biến nó thành một thông số tùy chọn và vượt qua Không có. Đối với hiệp thứ hai, hãy vượt qua số điểm của người đánh bóng đã đặt mục tiêu.

 if player_bowls:
    comp_score = innings("Computer", None)
    user_score = innings("User", comp_score)
else:
    user_score = innings("User", None)
    comp_score = innings("Computer", user_score)

Nếu điểm máy tính thấp hơn người dùng, người dùng sẽ thắng và ngược lại. Trong trường hợp điểm số giống nhau, hiển thị hòa.

 if comp_score < user_score:
    print("User wins")
elif user_score < comp_score:
    print("Computer wins")
else:
    print("Match draw")

Đặt tất cả các mã lại với nhau và sẵn sàng chơi cricket tay mọi lúc, mọi nơi ngay trong tầm tay bạn.

Đầu ra của Hand Cricket Sử dụng Python

Bạn có thể xem đầu ra của trò chơi cricket bằng tay bằng Python như sau:

Đầu ra của Hand Cricket Sử dụng Python

Khi bạn thực hiện chương trình, chương trình sẽ yêu cầu bạn chọn một lựa chọn để tung và chỉ định kết quả thích hợp. Nếu bạn giành chiến thắng, bạn có thể quyết định xem bạn muốn đánh bóng hay đánh bát nếu không máy tính sẽ đưa ra quyết định. Mỗi lượt tiếp tục cho đến khi các số khớp nhau và một lượt bị loại. Cuối cùng, máy tính so sánh điểm số cuối cùng và tuyên bố người chiến thắng.

Trò chơi dựa trên thiết bị đầu cuối trong Python

Trò chơi xây dựng là một cách tuyệt vời để học Python và rất thú vị. Bạn không cần phải là một chuyên gia để bắt đầu viết mã và thử nghiệm bằng Python. Chỉ với những nguyên tắc cơ bản phù hợp, bạn có thể xây dựng một số trò chơi đầu cuối tuyệt vời.

Bắt đầu bằng cách xây dựng Quả bóng ma thuật 8, Người treo cổ, Kéo giấy oẳn tù tì, Máy tạo Mad Libs và Trò chơi đoán số. Khi bạn tiến xa hơn, hãy khám phá thư viện PyGame để xây dựng các trò chơi điện tử đồ họa của riêng bạn.

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *