Исходный код Card Craps | Азартные игры со скидкой

Карта наносит урон игрокам старый теперь определенно склоняюсь к Don’t Pass, даже когда меня нет за столом 🙂 Проницательные игроки понимают, что игра не похожа на игру в кости, и броски не совсем независимы друг от друга. Вчера игрок Don’t, которого я никогда раньше не видел, начал читать мне нотации по этому поводу, прежде чем я успел сказать ему, что согласен. Затем пришла молодая пара и начала играть в DP и делать ставки, как будто они знали, что происходит. Когда играют регуляры, по крайней мере половина стола играет «Не надо».

В любом случае, я решил навести порядок и выложить свой Исходный код Java для игры в костивключая модель CSM, окно прокрутки и т. д. Вы можете загрузить мой исходный код, проверить модели, поэкспериментировать с параметрами и проверить мои результаты (+1,5% от фиксированная ставка @ 10-кратное увеличение шансов «Не пройти» с использованием трехбросков для текущего тасования Viejas; -3,6% для игрока Pass Line с 10-кратным коэффициентом!). Я публикую исходный код, чтобы показать, насколько прост эффект CSM в игре в кости. То есть, учитывая простую, но точную модель CSM, преимущество «Не пройти» выглядит следующим образом:

пакет net.discountgambling.cardcraps;

импортировать java.util.Vector;
импортировать java.util.Random;

/**
*
* @author показать
*/
общественный класс CSM {
// параметры соответствуют модели ShuffleMaster 126 Constant Shuffle Machine
статический финал int NUM_SLOTS = 40;
статический финал int DICE_SETS = 52;
статический финал int MIN_BUFFER_DEPTH = 4; // минимальное количество карт в лотке
защищенный Вектор() слот = новый Вектор(NUM_SLOTS); // слоты для карт в “колесе”
защищенный Вектор желоб = новый Вектор(); // карты раздаются из желоба
защищенный случайный случайный = новый случайный();

общественный CSM() {
for (int i=0; i слот(i) = новый Вектор();
}
// загружаем кубик
for (int i=0; i for (int d=1; d<=6; d++) {
перемешатьКарта (d);
}
}
}

// в случайном порядке откатываемся обратно в CSM
public void shuffleRoll(Rollroll) {
shuffleCard(roll.getDie1());
shuffleCard(roll.getDie2());
}

публичный бросок DealRoll() {
вернуть новый ролл(dealCard(), DealCard());
}

// сдаем карту из желоба
защищенный int DealCard() {
// удаляем слот, если в лотке заканчиваются карты
while (chute.size() // выбираем случайный слот карт из «колеса»
Вектор randomSlot = slot(random.nextInt(NUM_SLOTS));
// бросаем слот для карточек в желоб
chute.addAll(randomSlot);
случайныйслот.очистить();
}
возвращаться (Целое число) chute.remove(0);
}

// перетасовать карту в случайное положение случайного слота
protected void shuffleCard(int card) {
Вектор randomSlot = slot(random.nextInt(NUM_SLOTS));
если (randomSlot.isEmpty()) {
СлучайныйSlot.add (карта);
} еще {
int randomPosition = random.nextInt(randomSlot.size());
randomSlot.add(randomPosition, card);
}
}
}

Похожие записи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *