Craps là một trò chơi súc sắc khá đơn giản thường được chơi trong sòng bạc. Ngay cả khi bạn không phải là người chơi cờ bạc (mà tôi không phải), đây vẫn là một trò chơi khá thú vị. Đây là quy tắc:
Khi bắt đầu trò chơi Craps, có một thứ được gọi là vòng đấu ra . Người chơi cuộn hai d6 (chết sáu mặt) và hai cuộn chết được thêm vào. Nếu kết quả là 7 hoặc 11, người đó sẽ tự động chiến thắng (điều này được gọi là tự nhiên ). Nếu kết quả là 2, 3 hoặc 12, người đó sẽ tự động thua cuộc (điều này được gọi là thoát ra ). Mặt khác, kết quả được đặt làm điểm cho vòng điểm.
Sau này, vòng điểm bắt đầu. Trong vòng chơi điểm, người chơi phải liên tục lăn 2 d6 cho đến khi người đó lăn 7 điểm hoặc điểm của mình từ vòng trước. Nếu người đó lăn số 7 thì họ thua. Nếu họ lăn điểm, họ thắng.
Thử thách
Thực hiện một chương trình đơn giản mô phỏng một trò chơi craps. Nếu người đó lăn một vòng tự nhiên hoặc tào lao trong vòng ra, chương trình sẽ xuất ra "Tự nhiên:" hoặc "Bỏ ra:" theo sau là cuộn chết và sau đó thoát ra. Mặt khác, nó sẽ xuất "Điểm:" theo sau là điểm. Sau đó, trong vòng điểm, nó sẽ xuất ra mỗi lần lăn cho đến khi đạt được điểm 7 hoặc điểm. Nếu người đó thắng, nó sẽ xuất ra "Pass"
; Nếu họ mất nó nên đầu ra "Don't Pass"
.
Thực hiện tham khảo
Groovy, 277 byte
def a={return Math.random()*6+1};int b=a()+a();(b<4||b==12)?{println"Crapping out: "+b}():{(b==7||b==11)?{println"Natural: "+b}():{println"Point: "+b;for(;;){int x=a()+a();println x;(x==7)?{println"Don't Pass";System.exit(0)}():{if(x==b){println"Pass";System.exit(0)}}()}}()}()
Đầu ra mẫu
Natural: 7
Crapping out: 3
Point: 9
4
8
11
9
Pass
và
Point: 5
3
7
Don't Pass
Đây là mã golf , vì vậy mã ngắn nhất sẽ thắng.
(TUYÊN BỐ TỪ CHỐI: Thử thách này không nhằm mục đích thúc đẩy đánh bạc bằng mọi cách. Hãy nhớ rằng, nhà cái luôn thắng.)
You can't make your program shorter by picking a random number between 1 and 12 for the die roll; it must be two numbers picked between 1 and 6.
- Điều gì về việc chọn một giá trị ngẫu nhiên trong [1, 12] từ một phân phối giống hệt với việc thêm hai giá trị ngẫu nhiên thống nhất trong [1, 6]?