Я очень плохо знаком с Excel или Google Spreadsheets и хочу узнать больше.
Я пытаюсь создать счетчик карт для карточной игры, 21. Вот правила игры:
- Стремитесь получить 21 или как можно ближе к этому.
- Числовые карты имеют номинал, валеты, короли и дамы стоят 10
- Значение туза меняется в зависимости от на сколько карт у вас под рукой. Если у вас всего две карты, стоимость туза равна 11, три карты и стоимость туза равны 10 или 1; ваш выбор.
- Дилер и все другие игроки начинают с двух карт.
- Дилер обращается к каждому игроку по одной (включая его самого в конце). Игрок должен решить, хотят ли они другую карту (удар), или он будет сидеть на том, что у него есть.
- Игрок или дилер должен ударить, если ценность его руки <16 </li>
- . Вы можете если у вас есть <6 карт до тех пор, пока вы не наберете go свыше 21. </li>
- Если дилер обанкротится, то все остальные, кто не разорится, не проиграют (бегут), а те, кто не обанкротился, побеждают. .
- Мы перетасовываем колоду карт после каждой игры.
Следующее изображение - скелет моей установки. Текущий прогресс
В настоящее время я застрял в поиске количества оставшихся безопасных карт. Оставшиеся безопасные карты можно рассчитать по следующей формуле:
Safe Cards Remaining = Total Cards in Deck - Cards in your hand - Quantity of Cards that have a value of >SafeRoom
где SafeRoom - максимальное значение карты, которое вы можете взять, но не разориться.
Что я планирую сделать после получения нет , оставшихся безопасных карт - это рассчитать вероятность того, что банкротство не произойдет, что будет вычислено по следующей формуле:
Probability of not busting = 100 * Safe Cards Remaining / Total Cards in Deck
Это код JavaScript, который я написал в таблице Google на данный момент, и что я думаю, что каждая строка делает.
function myFunction()
{
var twentyOne = SpreadsheetApp.getActiveSpreadsheet(); // Gets information on the Spreadsheet
var knownQty = twentyone.getRange("F8:F20").getValues(); // Gets the values of everything on that row
var sum;
var arrayLength = knownQty.length; // Setting array length to the no. of cells in that row
for(var i = 0; i < arrayLength; i++)
{
if(knownQty[i] < 4) // If the qty of cards in that row is below < 4
{
sum = sum + knownQty.getValue(); // Save the amount of cards
}
else // Do nothing
{
}
}
}
Я не очень знаком с JavaScript и на данный момент, я понятия не имею, как выполнить задачу поиска нет. безопасных карт.