Meows

Как я бросил пить и решил сделать счётчик

Meows Окт 22, 2024

Вчера перед сном, как обычно, листал Пикабу и наткнулся на пост, где человек делился опытом, как он пытался бросить пить. Этот пост заставил меня задуматься. А почему бы мне не сделать свой собственный счётчик трезвости? Ведь я уже давно не пью и мог бы заодно попрактиковаться в написании кода на JavaScript.

Идея пришла спонтанно, но сработала сразу. Для меня это не просто "счётчик", это способ посмотреть на свой прогресс и закрепить его на моём сайте.

Так вот, я бросил пить 28 января 2024 года. Почему? Да просто алкоголь потерял смысл. Раньше я пил часто: пару раз в неделю, в основном пиво с друзьями, и так продолжалось лет 10. Но в какой-то момент удовольствия стало меньше, а похмелье — сильнее. Было неприятно терять целые дни на восстановление после вечеринок. Сначала решил не пить месяц, потом два... и вот уже пошёл восьмой месяц трезвой жизни!

Признаюсь, первые пару месяцев были сложными. Было желание выпить, особенно когда вокруг друзья тянулись к бокалу. Но сейчас тяга практически исчезла. Мне даже нравится, что я трезв! Планирую не пить целый год, а потом, если и позволю себе алкоголь, то только в путешествиях и в очень малых дозах. Когда желание становится уж слишком сильным (что бывает редко), я могу выпить безалкогольное пиво. Да, это не то же самое, но помогает))

А теперь к самой сути – программной части. Вот как выглядит мой код подсчёта трезвости:

Показать/Скрыть
// СЧИТАЕТ СКОЛЬКО ДНЕЙ Я НЕ ПЬЮ
const startDate = new Date('2024-01-28'); // Дата когда бросил
const currentDate = new Date(); // Текущая дата
                    
//Вычисляем разнице во времени
const timeDifference = currentDate - startDate;
                    
//Формула подсчета дней
const daysPassed = Math.floor(timeDifference / (1000 * 60 * 60 * 24));
                    
// Указываем стоимость алкоголя о объём
const moneySpentPerDay = 150;
const alcoholPerDay = 0.07;
                    
//Расчет эконом денег и спирта
const moneyFree = daysPassed * moneySpentPerDay;
const alco = daysPassed * alcoholPerDay;
                    
//Переносим данные в ID в HTML
document.getElementById('days-counter').innerHTML += 'Я трезв: ' + daysPassed + ' дней';
document.getElementById('money-free').innerHTML += 'Денег сэкономленно: ' + moneyFree + ' ₽';
document.getElementById('alco').innerHTML += 'Не выпито алкоголя: ' + alco + ' л.';
                    

Возможно, я ещё буду дорабатывать и оформлять код, но основа уже есть. Некоторые моменты я уточнял у CHAT-GPT (без него сейчас никуда). Например, как записать переменные в HTML, формулу подсчёта дней, потому что с математикой у меня очень туго.

Самое крутое — я понимаю, что тут происходит. Ещё неделю назад, глядя на этот код, я бы вообще ничего не понял. А сейчас — прогресс!


24.10.2024

Добавил в счётчик, сколько денег я сэкономил, сколько чистого спирта не выпил и сколько калорий сэкономил.

В среднем я тратил 150 рублей в день, в пересчёте на неделю. По этой формуле и работал.

По спирту: я высчитал, что если в пиве 5% алкоголя, то на 500 мл это составляет 25 мл чистого спирта. Это средние значения. Поэтому в самом счётчике указано, сколько ЧИСТОГО спирта не выпито!

По калориям всё примерно так же. В день в среднем выходило 400 ккал(сам алко + закуски). Кто не знал, в 1 кг жира содержится 7700 ккал.
Ссылка на статью про жир