- 21, Oct 2024
- #1
Крэпс — довольно простая игра в кости, в которую часто играют в казино. Даже если вы не игрок (я не игрок), это все равно довольно интересная игра. Вот правила:
В начале игры в кости есть то, что называется публично заявить круглый. Игрок бросает два кубика d6 (шестигранный кубик), и два броска кубика суммируются. Если результат 7 или 11, человек автоматически выигрывает (это называется естественный). Если результат 2, 3 или 12, человек автоматически проигрывает (это называется облажаться). В противном случае результат устанавливается как точка для очкового раунда.
После этого точка раунд начинается. Во время раунда с очками игрок должен непрерывно бросать 2 d6, пока человек не выкинет 7 или свое очко из предыдущего раунда. Если человек выбрасывает 7, он проигрывает. Если они выкинут очко, они выиграют.
Испытание
Реализуйте простую программу, имитирующую игру в кости. Если во время раунда выхода человек выбрасывает натуральный результат или выпадение кости, программа должна вывести «Естественный:» или «Выпадение:», после чего следует бросок кубика и затем выйти. В противном случае он должен вывести «Point:», за которым следует точка. Затем, во время раунда очков, он должен выводить каждый бросок кубика до тех пор, пока не будет достигнута цифра 7 или точка. Если человек выигрывает, он должен вывести
; if they lose it should outputPoint: 5 3 7 Don't Pass
Point: 9
4
8
11
9
Pass
.
Эталонная реализация
Отличный, 277 байт
Crapping out: 3
Примеры результатов
Natural: 7
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)}}()}}()}()
"Don't Pass"
и
"Pass"
Это так, поэтому побеждает самый короткий код.
(ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ: Это соревнование никоим образом не направлено на пропаганду азартных игр. Помните, казино всегда выигрывает.)
#код-гольф #код-гольф #игра #случайный