Цифровое решение для подсчета очков в настольных играх
Проект SCORECOUNT предлагает цифровое решение для подсчета очков в настольных играх, позволяя игрокам сосредоточиться на игре, а не на бюрократии.

Воскресный вечер — это время, когда семьи собираются вместе, чтобы насладиться настольными играми. Однако всегда возникает вопрос: кто будет записывать очки? Как правило, желающих не находится, и в итоге именно дядя оказывается с ручкой и бумагой, пытаясь справиться с подсчетами. Использование ноутбука с Excel или смартфона для этих целей не приносит удовольствия, и многие предпочитают традиционный способ с ручкой и бумагой. Но разве это обязательно? В век цифровых технологий стоит задуматься о более удобном решении. Сегодня мы представляем проект "SCORECOUNT", который призван облегчить жизнь всем, кто устал от подсчета очков в настольных играх.
С проектом "SCORECOUNT" мы запускаем новое сообщество на ArtsBlog. Вы можете участвовать, предлагая свои идеи и решения. Пишите нам на почту ([email protected]) или оставляйте комментарии. Мы рады видеть ваши предложения и готовы включить их в наши публикации, при этом вы будете упомянуты, если пожелаете. Все проекты сообщества являются открытыми и не предназначены для коммерческой выгоды.
Обратите внимание: комментарии, содержащие дискриминацию, рекламу или спам, будут удалены. Мы используем современные инструменты для модерации, но не можем гарантировать 100% защиту от нежелательного контента. Если вы заметили что-то подозрительное, сообщите нам по почте ([email protected]). Подробности о защите данных можно найти в нашей политике конфиденциальности.
SCORECOUNT
01. Требования
Каждый проект начинается с проблемы, которую нужно решить. В нашем случае задача заключается в том, чтобы игроки могли меньше отвлекаться на бюрократию и не тратить время на подсчет очков с помощью ручки и бумаги.
Для этого необходимо создать возможность добавления игроков и ввода очков для каждой игровой сессии. Также важно указать имя игрока, чтобы легко отслеживать, кто получает очки. Мы хотим, чтобы количество раундов не было ограничено, а данные не сохранялись, что соответствует принципам защиты данных, которые мы соблюдаем на ArtsBlog.
Проект будет адаптирован для использования на смартфонах и планшетах, а в качестве CSS-фреймворка будет использован Bootstrap 5.2, в то время как для функциональности мы применим jQuery 3.6. Мы будем работать с числами, чтобы вычислять среднее количество очков, набранных каждым игроком за раунд.
Вкратце:
- Несколько игроков
- Имена игроков
- Ввод очков за раунд
- Подсчет очков для каждого игрока
- Вычисление среднего количества очков
- Динамическое количество раундов
- Использование на смартфонах и планшетах
- Bootstrap 5.2 и jQuery 3.6
- Защита данных
02. Базовый скрипт
Базовый скрипт уже удовлетворяет всем вышеуказанным требованиям. Мы предлагаем вам поработать с ним и изучить, как он функционирует. Код доступен для ознакомления, и вы можете скачать его в конце статьи, чтобы попробовать свои силы в доработке проекта.
SCORECOUNT
Über
Keine Lust mehr auf Stift & Papier? Lass dir die Punkte deines Spiels einfach für jeden Spieler zusammenzählen. Die Spielernamen können geändert werden.
SCORECOUNT
SCORECOUNT
Keine Lust mehr auf Stift & Papier? Lass dir die Punkte deines Spiels einfach für jeden Spieler zusammenzählen. Trage die Anzahl der Spieler ein und lege los!
$(document).ready(function(){
$('.album').hide();
$('#go').on('click', function () {
var players_sum = $('#players').val();
if (players_sum > 12){
var players_sum = 12;
}
for (i = 0; i < players_sum; i++) {
var player_num = i + 1;
$('#player-cards').append('# Punkte123')
}
$('.intro').hide();
$('.album').show();
$('.card').on('input', function () {
// Counter
var scorecount = 0;
$('input', this).each(function () {
var get_input_value = $(this).val();
if ($.isNumeric(get_input_value)) {
scorecount += parseFloat(get_input_value);
}
});
var input_filled = $('table :input', this).filter((i, el) => el.value.trim() !== '').filter((i, el) => el.value.trim() !== '-').length;
var score_average = scorecount / input_filled;
var score_average = Math.round(score_average);
$('#total', this).html(' ' + scorecount);
$('#average', this).html(' ' + score_average);
// New round
if( $('table tr:last input' ,this).val().length !== 0 ) {
var nextround = parseFloat($('table tr:last td.rounds' ,this).text()) + 1;
$('table tr:last' ,this).after('' + nextround + '');
var rowpos = $('table tr:last' ,this).position();
$('.card-body' ,this).scrollTop(rowpos.top);
}
});
});
});
// Notification Modal
$(function () {
var modal_template_01 = '';
var modal_template_02 = 'Titel';
var modal_template_03 = '';
var modal_template_04 = 'Text';
var modal_template_05 = '';
var modal_template_06 = '';
// Clean input
$('#restart').on('click', function() {
var modal_template_02 = 'Achtung!';
var modal_template_04 = 'Möchten Sie die Eingaben wirklich Löschen?';
var modal_template_07 = 'clean-form';
$('#notify').html(modal_template_01 + modal_template_02 + modal_template_03 + modal_template_04 + modal_template_05 + modal_template_06 + modal_template_07 + modal_template_08 + modal_template_09 + modal_template_10 + modal_template_11 + modal_template_12);
$('#clean-form').on('click', function() {
location.reload(true);
});
});
});
03. Как это может развиваться
Проекты сообщества зависят от участия самих участников, поэтому здесь есть много возможностей для роста и развития. Мы приглашаем вас делиться своими идеями или даже готовыми решениями. Я не собираюсь ставить какие-либо ограничения, а лишь предлагаю вам подумать о том, что можно улучшить. Я с нетерпением жду возможности работать с вами и наладить связь с сообществом. С уважением, ваш Андреас.
Возможные функции:
- Изменение порядка игроков в зависимости от очков
- Выделение игрока, который ведет в игре
- Экспорт результатов или создание скриншота
- Игроки с цветными карточками
- Анимации
- Более дружелюбный дизайн
04. Скачивание
Я собрал все необходимые файлы, чтобы вам было проще настроить проект. Надеюсь, вы получите столько же удовольствия от работы над проектом, сколько и я.
artsblog-проект-scorecount-master
Размер файла: 1,7 МБ



