Trang chủ » Blog » Coding Dojo » Kata Yahtzee

Kata Yahtzee

bởi CodeGym | 09/12/2023 10:30 | Blog | Coding Dojo

Giới thiệu Kata

Bài toán này dựa trên bài kiểm tra số 19 của Ruby (http://rubyquiz.com/quiz19.html).

  • Bạn sẽ mất khoảng 20 phút nếu tự làm bài Kata này và khoảng 2 tiếng khi làm trong một buổi dojo.

Mô tả bài toán

Trò chơi Yahtzee là một trò tung xúc xắc đơn giản. Ở mỗi vòng, mỗi người chơi sẽ tung 5 quân xúc xắc 6 mặt. Người chơi được phép tung 3 lần vài quân hoặc tất cả 5 quân xúc xắc (tính cả lần đầu). Sau đó tính điểm cho người chơi theo các luật được quy định từ trước.

Bài Kata gồm việc tạo ra các luật để tính điểm và tính điểm cho lượt chơi dựa theo kết quả của lượt tung xúc xắc và luật chơi.

Các luật của Yahtzee và các kiểm thử khuyên dùng

Yahtzee có các luật chơi sau:

  • Ones, Twos, Threes, Fours, Fives, Sixes: Người chơi tính điểm bằng tổng các xúc xắc tung được có số từ là 1/2/3/4/5/6. Ví dụ: lượt tung có kết quả 5 quân xúc xắc là 1, 1, 2, 4, 4  luật tính điểm là  “Fours” người chơi sẽ được điểm là 4 + 4 = 8 điểm.
  • Pair: Người chơi tính tổng của một cặp có giá trị lớn nhất. Ví dụ, kết quả lượt tung là 3, 3, 3, 4, 4 có cặp lớn nhất là cặp 4, 4 sẽ được điểm là 4 + 4 =
  • Two pairs: Nếu có 2 cặp thì tính điểm bằng tổng 4 xúc xắc đó. Nếu không có thì được 0 điểm. Ví dụ lượt tung có kết quả là 1, 1, 2, 3, 3 tính điểm theo luật “two pairs” sẽ được 8 điểm = (1 + 1 + 3 +3).
  • Three of a kind: Nếu có 3 xúc xắc trùng giá trị thì tính điểm là tổng 3 giá trị đó. Còn lại được 0 điểm. Ví dụ: 3, 3, 3, 4, 5 tính điểm theo luật “three of a kind” thì được 9 điểm = (3+ 3 + 3).
  • Four of a kind: Nếu có 4 xúc xắc trùng giá trị thì tính điểm là tổng 4 giá trị đó. Còn lại được 0 điểm. Ví dụ: 2, 2, 2, 2, 5 tính điểm theo luật “four of a kind” thì được 8 điểm.
  • Small straight: Nếu tung được xúc xắc 1, 2, 3, 4, 5 thì được 15 điểm (tổng các xúc xắc), nếu không thì được 0 điểm.
  • Large straight: Nếu tung được xúc xắc 2, 3, 4, 5, 6 thì được 20 điểm (tổng các xúc xắc), nếu không thì được 0 điểm.
  • Full house: Nếu tung được một bộ 2 và một bộ 3 xúc xắc cùng giá trị thì được điểm là tổng các giá trị đó. Ví dụ 1, 1, 2, 2, 2 tính điểm theo “full house” được 8 điểm. Nhưng 4, 4, 4, 4, 4 không phải là “full house”.
  • Yahtzee: Nếu tất cả các quân xúc xắc tung được giá trị giống nhau, người chơi được 50 điểm, nếu không thì được 0 điểm.
  • Chance: Người chơi được điểm là tổng tất cả các xúc xắc tung được, không có điều kiện gì kèm theo.

Mọi người có thể đặt ra thêm luật nếu muốn.

Nguồn Kata: http://codingdojo.org/kata/Yahtzee/

Download - Giáo trình thuật toán

7 + 3 =

0 Lời bình

Gửi Lời bình

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

BÀI VIẾT LIÊN QUAN

BẠN MUỐN HỌC LẬP TRÌNH?

GỌI NGAY

098 953 44 58

Đăng ký tư vấn lộ trình học lập trình

Đăng ký tư vấn, định hướng lộ trình học và giải đáp các thắc mắc về ngành nghề – Miễn phí – Online.

9 + 6 =

TƯ VẤN VỀ LỘ TRÌNH HỌC NGHỀ LẬP TRÌNH TẠI CODEGYM
TƯ VẤN VỀ LỘ TRÌNH HỌC NGHỀ LẬP TRÌNH TẠI CODEGYM