Oẳn tù tì C++ sử dụng các lớp

==============================================================Shows how an enum could be used in a ROCK/PAPER/SCISSORS game==============================================================#include #include #include #include using namespace std; //=================================== // enums simply associate integer constants (like 3 or 22) with an identifier (or enumerators if you like) // Here we see that 10 is explicitly associated with ROCK, by default 11 will be associated with PAPER and // 30 is explicitly associated with SCISSORS. // // If you plan to create a variable to hold one of these identifiers/enumerators then you must give the // enumeration a name (here its weapon) //===================================_______5 ROCK=10,  //identifier ROCK associated with 10 PAPER,  SCISSORS=30};Shows how an enum could be used in a ROCK/PAPER/SCISSORS game0

Show

Lập trình trò chơi là một cách tuyệt vời để học cách lập trình. Bạn sử dụng nhiều công cụ mà bạn sẽ thấy trong thế giới thực, ngoài ra bạn có thể chơi một trò chơi để kiểm tra kết quả của mình. Một trò chơi lý tưởng để bắt đầu hành trình lập trình trò chơi Python của bạn là oẳn tù tì

Trong hướng dẫn này, bạn sẽ học cách

  • Viết mã trò chơi oẳn tù tì của riêng bạn
  • Tiếp nhận đầu vào của người dùng với
    Shows how an enum could be used in a ROCK/PAPER/SCISSORS game
    19
  • Chơi một số trò chơi liên tiếp bằng cách sử dụng vòng lặp
    Shows how an enum could be used in a ROCK/PAPER/SCISSORS game
    20
  • Dọn dẹp mã của bạn với
    Shows how an enum could be used in a ROCK/PAPER/SCISSORS game
    21 và các chức năng
  • Xác định các quy tắc phức tạp hơn với một từ điển

Tiền thưởng miễn phí. 5 Suy nghĩ về Làm chủ Python, một khóa học miễn phí dành cho các nhà phát triển Python cho bạn thấy lộ trình và tư duy mà bạn sẽ cần để đưa các kỹ năng Python của mình lên một tầm cao mới

Oẳn tù tì là gì?

Bạn có thể đã chơi oẳn tù tì trước đây. Có thể bạn đã sử dụng nó để quyết định ai là người trả tiền cho bữa tối hoặc ai là người được lựa chọn cầu thủ đầu tiên cho một đội

Nếu bạn chưa biết, oẳn tù tì là một trò chơi tay dành cho hai người chơi trở lên. Người tham gia nói “oẳn tù tì”, sau đó đồng thời tạo hình hai bàn tay của họ thành hình hòn đá (nắm đấm), tờ giấy (lòng bàn tay hướng xuống dưới) hoặc hình chiếc kéo (hai ngón tay duỗi ra). Các quy tắc là đơn giản

  • Rock đập kéo
  • Giấy bìa đá
  • Kéo cắt giấy

Bây giờ bạn đã có các quy tắc, bạn có thể bắt đầu suy nghĩ về cách chúng có thể dịch sang mã Python

Loại bỏ các quảng cáo

Chơi một trò chơi Oẳn tù tì bằng Python

Sử dụng mô tả và quy tắc ở trên, bạn có thể tạo trò chơi oẳn tù tì. Trước khi đi sâu vào, bạn sẽ cần nhập mô-đun mà bạn sẽ sử dụng để mô phỏng các lựa chọn của máy tính

Shows how an enum could be used in a ROCK/PAPER/SCISSORS game
4

Đáng kinh ngạc. Bây giờ bạn có thể sử dụng các công cụ khác nhau bên trong

Shows how an enum could be used in a ROCK/PAPER/SCISSORS game
22 để ngẫu nhiên hóa các hành động của máy tính trong trò chơi. Giờ thì sao?

Lấy đầu vào của người dùng

Lấy đầu vào từ người dùng khá đơn giản trong Python. Mục tiêu ở đây là hỏi người dùng xem họ muốn chọn hành động gì và sau đó gán lựa chọn đó cho một biến

Shows how an enum could be used in a ROCK/PAPER/SCISSORS game
6

Điều này sẽ nhắc người dùng nhập một lựa chọn và lưu nó vào một biến để sử dụng sau. Bây giờ người dùng đã chọn một hành động, máy tính cần quyết định phải làm gì

Làm cho máy tính chọn

Một trò chơi oẳn tù tì cạnh tranh liên quan đến chiến lược. Tuy nhiên, thay vì cố gắng phát triển một mô hình cho điều đó, bạn có thể tiết kiệm thời gian cho mình bằng cách để máy tính chọn một hành động ngẫu nhiên. Lựa chọn ngẫu nhiên là một cách tuyệt vời để máy tính chọn một giá trị giả ngẫu nhiên

Bạn có thể sử dụng

Shows how an enum could be used in a ROCK/PAPER/SCISSORS game
23 để máy tính chọn ngẫu nhiên giữa các hành động

Shows how an enum could be used in a ROCK/PAPER/SCISSORS game
1

Điều này cho phép một phần tử ngẫu nhiên được chọn từ danh sách. Bạn cũng có thể in các lựa chọn mà người dùng và máy tính đã thực hiện

Shows how an enum could be used in a ROCK/PAPER/SCISSORS game
2

In hành động của người dùng và máy tính có thể hữu ích cho người dùng và nó cũng có thể giúp bạn gỡ lỗi sau này trong trường hợp có điều gì đó không ổn với kết quả

Xác định một người chiến thắng

Bây giờ cả hai người chơi đã đưa ra lựa chọn của mình, bạn chỉ cần một cách để quyết định ai thắng. Sử dụng khối

Shows how an enum could be used in a ROCK/PAPER/SCISSORS game
24 …
Shows how an enum could be used in a ROCK/PAPER/SCISSORS game
25 …
Shows how an enum could be used in a ROCK/PAPER/SCISSORS game
26, bạn có thể so sánh các lựa chọn của người chơi và xác định người chiến thắng

==============================================================
3

Bằng cách so sánh điều kiện ràng buộc trước, bạn loại bỏ được khá nhiều trường hợp. Nếu bạn không làm điều đó, thì bạn cần kiểm tra từng hành động có thể xảy ra cho

Shows how an enum could be used in a ROCK/PAPER/SCISSORS game
27 và so sánh nó với từng hành động có thể xảy ra cho
Shows how an enum could be used in a ROCK/PAPER/SCISSORS game
28. Bằng cách kiểm tra điều kiện ràng buộc trước, bạn có thể biết máy tính đã chọn gì chỉ với hai lần kiểm tra điều kiện của
Shows how an enum could be used in a ROCK/PAPER/SCISSORS game
28

Và đó là nó. Tất cả được kết hợp, mã của bạn bây giờ sẽ trông như thế này

==============================================================
7

Bây giờ bạn đã viết mã để nhận đầu vào của người dùng, chọn một hành động ngẫu nhiên cho máy tính và quyết định người chiến thắng. Nhưng điều này chỉ cho phép bạn chơi một trò chơi trước khi chương trình chạy xong

Loại bỏ các quảng cáo

Chơi nhiều trò chơi liên tiếp

Mặc dù một trò chơi oẳn tù tì rất thú vị, nhưng sẽ không tốt hơn nếu bạn có thể chơi nhiều trò chơi liên tiếp phải không? . Đặc biệt, bạn có thể sử dụng vòng lặp

Shows how an enum could be used in a ROCK/PAPER/SCISSORS game
20 để chơi vô thời hạn

==============================================================
9

Chú ý các dòng được đánh dấu ở trên. Điều quan trọng là phải kiểm tra xem người dùng có muốn chơi lại không và

==============================================================
31 nếu họ không muốn. Nếu không có kiểm tra đó, người dùng sẽ buộc phải chơi cho đến khi họ kết thúc bảng điều khiển bằng cách sử dụng Ctrl + C or a similar method.

Séc để chơi lại là séc đối với chuỗi

==============================================================
32. Nhưng việc kiểm tra một cái gì đó cụ thể như thế này có thể khiến người dùng khó ngừng chơi hơn. Nếu người dùng gõ
==============================================================
33 hoặc
==============================================================
34 thì sao? . Họ có thể viết tất cả chữ thường, chữ hoa hoặc thậm chí kết hợp cả hai

Dưới đây là kết quả của một vài so sánh chuỗi khác nhau

>>>

#include 
4

Hừm. Đó không phải là điều bạn muốn. Người dùng có thể không hài lòng lắm nếu họ vào

==============================================================
33 để chơi lại nhưng bị đuổi khỏi trò chơi

Mô tả một hành động với ==============================================================36

Vì so sánh chuỗi có thể gây ra các sự cố như bạn đã thấy ở trên, nên bạn nên tránh chúng bất cứ khi nào có thể. Tuy nhiên, một trong những điều đầu tiên chương trình của bạn yêu cầu là người dùng nhập một chuỗi. Nếu người dùng nhập nhầm

==============================================================
37 hoặc
==============================================================
38 thì sao?

>>>

#include 
9

Vì vấn đề viết hoa nên

==============================================================
39 và
==============================================================
70 không bằng nhau. Một giải pháp khả thi là sử dụng các con số thay thế. Chỉ định mỗi hành động một số có thể giúp bạn tránh một số rắc rối

#include 
#include 
#include 

using namespace std;


//===================================
// enums simply associate integer constants (like 3 or 22) with an identifier (or enumerators if you like)
// Here we see that 10 is explicitly associated with ROCK, by default 11 will be associated with PAPER and 
// 30 is explicitly associated with SCISSORS.  
//
// If you plan to create a variable to hold one of these identifiers/enumerators then you must give the 
// enumeration a name (here its weapon)
//===================================
2

Điều này cho phép bạn tham chiếu các hành động khác nhau theo số được chỉ định của chúng. Số nguyên không gặp phải các vấn đề so sánh giống như chuỗi, vì vậy điều này có thể hoạt động. Bây giờ bạn có thể yêu cầu người dùng nhập một số và so sánh trực tiếp với các giá trị đó

Shows how an enum could be used in a ROCK/PAPER/SCISSORS game
60

Shows how an enum could be used in a ROCK/PAPER/SCISSORS game
19 trả về một chuỗi nên bạn cần chuyển đổi giá trị trả về thành số nguyên bằng cách sử dụng
==============================================================
72. Sau đó, bạn có thể so sánh đầu vào với từng hành động ở trên. Điều này hoạt động tốt, nhưng nó có thể phụ thuộc vào việc bạn đặt tên biến chính xác để theo dõi chúng. Cách tốt hơn là sử dụng
==============================================================
36 và xác định lớp hành động của riêng bạn

Sử dụng

==============================================================
36 cho phép bạn tạo các thuộc tính và gán cho chúng các giá trị tương tự như các giá trị được hiển thị ở trên. Điều này giúp làm sạch mã của bạn bằng cách nhóm các hành động vào các không gian tên riêng của chúng và làm cho mã có ý nghĩa hơn

Shows how an enum could be used in a ROCK/PAPER/SCISSORS game
61

Điều này tạo ra một

==============================================================
75 tùy chỉnh mà bạn có thể sử dụng để tham khảo các loại hành động khác nhau mà bạn hỗ trợ. Nó hoạt động bằng cách gán từng thuộc tính bên trong nó với một giá trị mà bạn chỉ định

Việc so sánh vẫn đơn giản và giờ đây chúng có một tên lớp hữu ích được liên kết với chúng

>>>

Shows how an enum could be used in a ROCK/PAPER/SCISSORS game
62

Bởi vì các giá trị thành viên là như nhau, so sánh bằng nhau. Tên lớp cũng làm rõ hơn rằng bạn muốn so sánh hai hành động

Ghi chú. Để tìm hiểu thêm về

==============================================================
76, hãy xem Xây dựng bảng liệt kê các hằng số với Enum của Python

Bạn thậm chí có thể tạo một

==============================================================
75 từ một
==============================================================
78

>>>

Shows how an enum could be used in a ROCK/PAPER/SCISSORS game
63

==============================================================
75 xem xét giá trị được truyền vào và trả về giá trị thích hợp
==============================================================
75. Điều này rất hữu ích vì giờ đây bạn có thể lấy thông tin đầu vào của người dùng dưới dạng một
==============================================================
78 và tạo một
==============================================================
75 từ đó. Không còn lo lắng về chính tả

Loại bỏ các quảng cáo

Quy trình (biểu đồ) của chương trình của bạn

Mặc dù oẳn tù tì có vẻ không phức tạp, nhưng điều quan trọng là phải xem xét cẩn thận các bước liên quan đến việc chơi trò này để bạn có thể chắc chắn rằng chương trình của mình bao gồm tất cả các tình huống có thể xảy ra. Đối với bất kỳ dự án nào, ngay cả những dự án nhỏ, sẽ rất hữu ích nếu bạn tạo một sơ đồ về hành vi mong muốn và triển khai mã xung quanh dự án đó. Bạn có thể đạt được kết quả tương tự khi sử dụng danh sách có dấu đầu dòng, nhưng sẽ khó nắm bắt hơn những thứ như vòng lặp và logic điều kiện

Lưu đồ không cần phải quá phức tạp hoặc thậm chí sử dụng mã thực. Chỉ cần mô tả trước hành vi mong muốn có thể giúp bạn khắc phục sự cố trước khi chúng xảy ra

Đây là sơ đồ mô tả một trò chơi oẳn tù tì

Oẳn tù tì C++ sử dụng các lớp

Mỗi người chơi chọn một hành động và sau đó người chiến thắng được xác định. Lưu đồ này chính xác cho một trò chơi khi bạn đã mã hóa nó, nhưng nó không nhất thiết phải chính xác cho các trò chơi thực tế. Trong cuộc sống thực, người chơi chọn các hành động của họ đồng thời thay vì từng hành động một như lưu đồ gợi ý

Tuy nhiên, trong phiên bản được mã hóa, điều này hoạt động vì lựa chọn của người chơi bị ẩn khỏi máy tính và lựa chọn của máy tính bị ẩn khỏi trình phát. Hai người chơi có thể đưa ra lựa chọn của mình vào những thời điểm khác nhau mà không ảnh hưởng đến tính công bằng của trò chơi

Lưu đồ giúp bạn phát hiện sớm những lỗi có thể xảy ra và cũng cho bạn biết liệu bạn có muốn thêm nhiều chức năng hơn không. Ví dụ: đây là sơ đồ mô tả cách chơi trò chơi lặp đi lặp lại cho đến khi người dùng quyết định dừng

Oẳn tù tì C++ sử dụng các lớp

Không viết mã, bạn có thể thấy sơ đồ đầu tiên không có cách nào để chơi lại. Cách tiếp cận này cho phép bạn giải quyết các vấn đề như thế này trước khi lập trình, giúp bạn tạo mã gọn gàng hơn, dễ quản lý hơn

Chia mã của bạn thành các chức năng

Bây giờ bạn đã vạch ra quy trình của chương trình bằng sơ đồ, bạn có thể thử tổ chức mã của mình sao cho nó giống với các bước bạn đã xác định hơn. Một cách tự nhiên để làm điều này là tạo một chức năng cho từng bước trong sơ đồ. Các hàm là một cách tuyệt vời để tách các đoạn mã lớn hơn thành các phần nhỏ hơn, dễ quản lý hơn

Bạn không nhất thiết phải tạo một chức năng để kiểm tra có điều kiện phát lại, nhưng bạn có thể nếu muốn. Bạn có thể bắt đầu bằng cách nhập

Shows how an enum could be used in a ROCK/PAPER/SCISSORS game
22 nếu bạn chưa nhập và xác định lớp
==============================================================
75 của mình

Shows how an enum could be used in a ROCK/PAPER/SCISSORS game
64

Hy vọng rằng tất cả điều này trông quen thuộc cho đến nay. Bây giờ, đây là mã cho

==============================================================
95, mã này không nhận bất kỳ đối số nào và trả về một
==============================================================
75

Shows how an enum could be used in a ROCK/PAPER/SCISSORS game
65

Lưu ý cách bạn nhận đầu vào của người dùng dưới dạng

==============================================================
78 và nhận lại một
==============================================================
75. Mặc dù vậy, tin nhắn dài cho người dùng hơi rườm rà. Điều gì sẽ xảy ra nếu bạn muốn thêm nhiều hành động hơn?

Thay vào đó, bạn có thể sử dụng cách hiểu danh sách để tạo một phần đầu vào

Shows how an enum could be used in a ROCK/PAPER/SCISSORS game
66

Bây giờ bạn không còn phải lo lắng về việc thêm hoặc xóa các hành động trong tương lai. Kiểm tra điều này, bạn có thể thấy cách mã nhắc người dùng và trả về một hành động được liên kết với giá trị đầu vào của người dùng

>>>

Shows how an enum could be used in a ROCK/PAPER/SCISSORS game
67

Bây giờ bạn cần một chức năng để nhận hành động của máy tính. Giống như

==============================================================
95, hàm này không nhận đối số và trả về một giá trị
==============================================================
75. Vì các giá trị cho
==============================================================
75 nằm trong khoảng từ
#include 
42 đến
#include 
43, nên bạn sẽ muốn tạo một số ngẫu nhiên trong phạm vi đó.
#include 
44 có thể giúp với điều đó

#include 
44 trả về một giá trị ngẫu nhiên giữa mức tối thiểu và tối đa được chỉ định (bao gồm). Bạn có thể sử dụng
#include 
46 để giúp tìm ra giới hạn trên nên có trong mã của bạn

Shows how an enum could be used in a ROCK/PAPER/SCISSORS game
68

Bởi vì các giá trị

==============================================================
75 bắt đầu đếm từ
#include 
42 và len() bắt đầu đếm từ
#include 
49, điều quan trọng là phải thực hiện
#include 
90

Khi bạn kiểm tra điều này, sẽ không có lời nhắc. Nó sẽ chỉ trả về hành động được liên kết với số ngẫu nhiên

>>>

Shows how an enum could be used in a ROCK/PAPER/SCISSORS game
69

Trông được. Tiếp theo, bạn cần một cách để xác định người chiến thắng. Hàm này sẽ nhận hai đối số, hành động của người dùng và hành động của máy tính. Nó không cần trả về bất cứ thứ gì vì nó sẽ chỉ hiển thị kết quả ra bàn điều khiển

Shows how an enum could be used in a ROCK/PAPER/SCISSORS game
10

Điều này khá giống với so sánh đầu tiên bạn sử dụng để xác định người chiến thắng. Bây giờ bạn có thể so sánh trực tiếp các loại

==============================================================
75 mà không phải lo lắng về các chuỗi khó chịu đó

Bạn thậm chí có thể kiểm tra điều này bằng cách chuyển các tùy chọn khác nhau cho

#include 
92 và xem những gì được in

>>>

Shows how an enum could be used in a ROCK/PAPER/SCISSORS game
11

Vì bạn đang tạo một hành động từ một số, điều gì sẽ xảy ra nếu người dùng của bạn cố tạo một hành động từ

#include 
93?

>>>

Shows how an enum could be used in a ROCK/PAPER/SCISSORS game
12

Rất tiếc. Bạn không muốn điều đó xảy ra. Bạn có thể thêm một số logic ở đâu trong lưu đồ để đảm bảo người dùng đã nhập một lựa chọn hợp lệ?

Sẽ hợp lý hơn nếu bao gồm kiểm tra ngay sau khi người dùng đưa ra lựa chọn của họ

Oẳn tù tì C++ sử dụng các lớp

Nếu người dùng nhập giá trị không hợp lệ, thì bạn lặp lại bước để nhận được sự lựa chọn của người dùng. Yêu cầu thực sự duy nhất đối với lựa chọn của người dùng là nó nằm trong khoảng từ

#include 
42 đến
#include 
43, bao gồm cả. Nếu đầu vào của người dùng nằm ngoài phạm vi này, thì một ngoại lệ
#include 
97 sẽ được đưa ra. Để tránh hiển thị thông báo lỗi mặc định cho người dùng, bạn có thể xử lý ngoại lệ

Ghi chú. Ngoại lệ có thể phức tạp. Để biết thêm thông tin, hãy xem Ngoại lệ Python. Một lời giới thiệu

Bây giờ bạn đã xác định một vài chức năng phản ánh các bước trong lưu đồ của mình, logic trò chơi của bạn sẽ gọn gàng và ngăn nắp hơn rất nhiều. Đây là tất cả những gì vòng lặp

Shows how an enum could be used in a ROCK/PAPER/SCISSORS game
20 của bạn cần chứa ngay bây giờ

Shows how an enum could be used in a ROCK/PAPER/SCISSORS game
13

Không phải trông sạch sẽ hơn rất nhiều sao? . Điều này làm cho mã tiếp tục đến lần lặp tiếp theo của vòng lặp thay vì thoát ra khỏi nó

Loại bỏ các quảng cáo

Đá giấy kéo thằn lằn nhảy

Nếu bạn đã xem The Big Bang Theory, thì bạn có thể quen thuộc với trò oẳn tù tì Spock. Nếu không, thì đây là sơ đồ mô tả trò chơi và các quy tắc quyết định người chiến thắng

Oẳn tù tì C++ sử dụng các lớp

Bạn có thể sử dụng các công cụ tương tự mà bạn đã tìm hiểu ở trên để thực hiện trò chơi này. Chẳng hạn, bạn có thể thêm vào

==============================================================
75 và tạo giá trị cho thằn lằn và Spock. Sau đó, bạn chỉ cần sửa đổi
==============================================================
95 và
#include 
#include 
#include 

using namespace std;


//===================================
// enums simply associate integer constants (like 3 or 22) with an identifier (or enumerators if you like)
// Here we see that 10 is explicitly associated with ROCK, by default 11 will be associated with PAPER and 
// 30 is explicitly associated with SCISSORS.  
//
// If you plan to create a variable to hold one of these identifiers/enumerators then you must give the 
// enumeration a name (here its weapon)
//===================================
23 để kết hợp các tùy chọn này. Tuy nhiên, việc cập nhật
#include 
92 sẽ tốn nhiều công sức hơn

Thay vì thêm nhiều câu lệnh

Shows how an enum could be used in a ROCK/PAPER/SCISSORS game
24 …
Shows how an enum could be used in a ROCK/PAPER/SCISSORS game
25 …
Shows how an enum could be used in a ROCK/PAPER/SCISSORS game
26 vào mã của bạn, bạn có thể sử dụng từ điển để giúp hiển thị mối quan hệ giữa các hành động. Từ điển là một cách tuyệt vời để hiển thị mối quan hệ khóa-giá trị. Trong trường hợp này, khóa có thể là một hành động, chẳng hạn như cái kéo và giá trị có thể là danh sách các hành động mà nó đánh bại

Vậy điều này sẽ như thế nào đối với

#include 
92 của bạn chỉ với ba tùy chọn? . Đây là mã của bạn trông như thế nào trước đây

Shows how an enum could be used in a ROCK/PAPER/SCISSORS game
10

Bây giờ, thay vì so sánh với từng

==============================================================
75, bạn có thể có một từ điển mô tả các điều kiện chiến thắng

Shows how an enum could be used in a ROCK/PAPER/SCISSORS game
15

Bạn vẫn làm tương tự như trên và kiểm tra tình trạng dây buộc trước. Nhưng thay vì so sánh từng

==============================================================
75, bạn hãy so sánh hành động mà
Shows how an enum could be used in a ROCK/PAPER/SCISSORS game
603 đánh bại với
Shows how an enum could be used in a ROCK/PAPER/SCISSORS game
28. Vì cặp khóa-giá trị là một danh sách, bạn có thể sử dụng toán tử thành viên
Shows how an enum could be used in a ROCK/PAPER/SCISSORS game
605 để kiểm tra xem một phần tử có nằm trong đó không

Vì bạn không còn sử dụng các câu lệnh dài

Shows how an enum could be used in a ROCK/PAPER/SCISSORS game
24 …
Shows how an enum could be used in a ROCK/PAPER/SCISSORS game
25 …
Shows how an enum could be used in a ROCK/PAPER/SCISSORS game
26 nên việc thêm kiểm tra cho những hành động mới này tương đối dễ dàng. Bạn có thể bắt đầu bằng cách thêm thằn lằn và Spock vào
==============================================================
75

Shows how an enum could be used in a ROCK/PAPER/SCISSORS game
16

Tiếp theo, thêm tất cả các mối quan hệ chiến thắng từ sơ đồ. Đảm bảo thực hiện việc này bên dưới

==============================================================
75 để
Shows how an enum could be used in a ROCK/PAPER/SCISSORS game
611 có thể tham chiếu mọi thứ trong
==============================================================
75

Shows how an enum could be used in a ROCK/PAPER/SCISSORS game
17

Lưu ý rằng bây giờ mỗi

==============================================================
75 có một danh sách chứa hai phần tử mà nó đánh bại. Trong trò chơi oẳn tù tì cơ bản, chỉ có một yếu tố

Bởi vì bạn đã cố tình viết

==============================================================
95 để phù hợp với các hành động mới, nên bạn không phải thay đổi bất kỳ điều gì về mã đó. Điều này cũng đúng với
#include 
#include 
#include 

using namespace std;


//===================================
// enums simply associate integer constants (like 3 or 22) with an identifier (or enumerators if you like)
// Here we see that 10 is explicitly associated with ROCK, by default 11 will be associated with PAPER and 
// 30 is explicitly associated with SCISSORS.  
//
// If you plan to create a variable to hold one of these identifiers/enumerators then you must give the 
// enumeration a name (here its weapon)
//===================================
23. Vì độ dài của
==============================================================
75 đã thay đổi nên phạm vi của các số ngẫu nhiên cũng sẽ thay đổi

Hãy xem mã bây giờ ngắn hơn và dễ quản lý hơn bao nhiêu. Để xem mã đầy đủ cho chương trình hoàn chỉnh của bạn, hãy mở rộng hộp bên dưới

Mã Spock của trò oẳn tù tìHiển thị/Ẩn

Shows how an enum could be used in a ROCK/PAPER/SCISSORS game
18

Đó là nó. Bạn đã triển khai oẳn tù tì Spock bằng mã Python. Kiểm tra kỹ để đảm bảo bạn không bỏ lỡ bất cứ điều gì và chơi thử

Phần kết luận

Xin chúc mừng. Bạn vừa hoàn thành trò chơi Python đầu tiên của mình. Bây giờ bạn đã biết cách tạo oẳn tù tì từ đầu và bạn có thể mở rộng số lượng các hành động có thể có trong trò chơi của mình với nỗ lực tối thiểu

Trong hướng dẫn này, bạn đã học cách

  • Viết mã trò chơi oẳn tù tì của riêng bạn
  • Tiếp nhận đầu vào của người dùng với
    Shows how an enum could be used in a ROCK/PAPER/SCISSORS game
    19
  • Chơi một số trò chơi liên tiếp bằng cách sử dụng vòng lặp
    Shows how an enum could be used in a ROCK/PAPER/SCISSORS game
    20
  • Dọn dẹp mã của bạn với
    Shows how an enum could be used in a ROCK/PAPER/SCISSORS game
    21 và các chức năng
  • Mô tả các quy tắc phức tạp hơn với một từ điển

Những công cụ này sẽ tiếp tục giúp bạn trong suốt nhiều cuộc phiêu lưu lập trình của bạn. Nếu bạn có bất kỳ câu hỏi nào, xin vui lòng liên hệ trong phần bình luận bên dưới

Đánh dấu là đã hoàn thành

Xem ngay Hướng dẫn này có một khóa học video liên quan do nhóm Real Python tạo. Xem nó cùng với hướng dẫn bằng văn bản để hiểu sâu hơn. Búa Bao, Kéo Với Trăn. Trò chơi dòng lệnh

🐍 Thủ thuật Python 💌

Nhận một Thủ thuật Python ngắn và hấp dẫn được gửi đến hộp thư đến của bạn vài ngày một lần. Không có thư rác bao giờ. Hủy đăng ký bất cứ lúc nào. Được quản lý bởi nhóm Real Python

Oẳn tù tì C++ sử dụng các lớp

Gửi cho tôi thủ thuật Python »

Giới thiệu về Chris Wilkerson

Oẳn tù tì C++ sử dụng các lớp
Oẳn tù tì C++ sử dụng các lớp

Chris là một Pythonista cuồng nhiệt và viết cho Real Python

» Thông tin thêm về Chris


Mỗi hướng dẫn tại Real Python được tạo bởi một nhóm các nhà phát triển để nó đáp ứng các tiêu chuẩn chất lượng cao của chúng tôi. Các thành viên trong nhóm đã làm việc trong hướng dẫn này là

Oẳn tù tì C++ sử dụng các lớp

Aldren

Oẳn tù tì C++ sử dụng các lớp

David

Oẳn tù tì C++ sử dụng các lớp

Geir Arne

Oẳn tù tì C++ sử dụng các lớp

Joanna

Oẳn tù tì C++ sử dụng các lớp

Gia-cốp

Bậc thầy Kỹ năng Python trong thế giới thực Với quyền truy cập không giới hạn vào Python thực

Oẳn tù tì C++ sử dụng các lớp

Tham gia với chúng tôi và có quyền truy cập vào hàng nghìn hướng dẫn, khóa học video thực hành và cộng đồng các Pythonistas chuyên gia

Nâng cao kỹ năng Python của bạn »

Bậc thầy Kỹ năng Python trong thế giới thực
Với quyền truy cập không giới hạn vào Python thực

Tham gia với chúng tôi và có quyền truy cập vào hàng ngàn hướng dẫn, khóa học video thực hành và cộng đồng Pythonistas chuyên gia

Nâng cao kỹ năng Python của bạn »

Bạn nghĩ sao?

Đánh giá bài viết này

Tweet Chia sẻ Chia sẻ Email

Bài học số 1 hoặc điều yêu thích mà bạn đã học được là gì?

Mẹo bình luận. Những nhận xét hữu ích nhất là những nhận xét được viết với mục đích học hỏi hoặc giúp đỡ các sinh viên khác. Nhận các mẹo để đặt câu hỏi hay và nhận câu trả lời cho các câu hỏi phổ biến trong cổng thông tin hỗ trợ của chúng tôi

Làm thế nào để tạo trò chơi oẳn tù tì trong C?

hàm trò chơi(). Chức năng này bao gồm các câu lệnh if-else sẽ so sánh sự lựa chọn của người dùng và máy tính. Nếu người dùng thắng thì nó sẽ trả về 1. .
Rock vs Paper -> Giấy thắng
Rock vs Scissor -> Rock thắng
Giấy vs Kéo -> Kéo thắng

Đá tốt nhất là gì

Vì vậy, đây là cách tốt nhất để thắng oẳn tù tì. nếu bạn thua vòng đầu tiên, hãy chuyển sang thứ đánh bại thứ mà đối thủ của bạn vừa chơi . Nếu bạn thắng, đừng tiếp tục chơi cùng một thứ mà hãy chuyển sang thứ sẽ đánh bại thứ mà bạn vừa chơi.

Có phải đá không

Mỗi trò chơi sẽ bắt đầu với khẩu lệnh chính thức “Oẳn tù tì, Kéo, Bắn” trong khi những người tham gia nắm đấm để đưa ra vị trí ván bài cuối cùng. Tay phải được nắm lại ở vị trí nắm tay trong khi bơm cánh tay. Tất cả người chơi trong giải đấu sẽ “Bắn” cùng một lúc.

Các phiên bản khác nhau của Rock là gì