[personal profile] blocknote
 попробуем более просто пример чем с годами и месяцами.

Вот пример кода на языке Twine/SugarCube 2, который пересчитывает $hours в дни недели и отображает название дней недели:
twine
<<set $hours = 168>> <!-- Установка количества часов -->
<<set $daysOfWeek = ["Вс", "Пн", "Вт", "Ср", "Чт", "Пт", "Сб"]>> <!-- Массив дней недели -->
<<set $dayOfWeek = $daysOfWeek[$hours / 24 % 7]>> <!-- Вычисление дня недели -->
Текущий день недели: <<$dayOfWeek>> <!-- Отображение дня недели -->
 
В этом коде мы используем массив $daysOfWeek, который содержит названия дней недели. Мы также устанавливаем количество часов в переменной $hours. Затем мы вычисляем день недели, используя формулу $hours / 24 % 7, которая вычисляет количество дней, прошедших с начала недели, и использует остаток от деления на 7 для определения дня недели. Наконец, мы отображаем название дня недели с помощью переменной $dayOfWeek. Если вам нужно отобразить день недели в другом формате, вы можете изменить массив $daysOfWeek соответствующим образом.
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

Это прорыв!!!!)))) Я узнал, что цифирька в квадратных скобках это индекс... завтра я это забуду (такой вот сюжет прямо по Кизу "цветы для Элджернона" )))))

 

Вот измененный код на языке Twine SugarCube 2, который увеличивает индекс элемента массива $namedayweek на 1 каждые 24 часа:

<<if $hours >= 24>>

    <<set $days += Math.floor($hours / 24)>>

    <<set $gdays += Math.floor($hours / 24)>>

    <<set $hours %= 24>>

    <<set $namedayweekIndex = $namedayweekIndex + Math.floor($hours / 24)>>

    <<if $namedayweekIndex >= $namedayweek.length>>

        <<set $namedayweekIndex = $namedayweekIndex - $namedayweek.length>>

    <</if>>

<</if>>

 

<<set $namedayweek = ["Пн", "Вт", "Ср", "Чт", "Пт", "Сб", "ВС"]>>

<<set $namedayweekToday = $namedayweek[$namedayweekIndex]>>

 

В этом коде мы добавили переменную $namedayweekIndex, которая хранит текущий индекс элемента массива $namedayweek. Каждые 24 часа мы увеличиваем $namedayweekIndex на 1, и если $namedayweekIndex становится больше или равным длине массива $namedayweek, мы вычитаем длину массива, чтобы вернуться к началу массива. Затем мы устанавливаем $namedayweekToday равным элементу массива $namedayweek с индексом $namedayweekIndex.

============================================

лан сегодня спать, завтра главное проснуться и быть в состоянии видеть буквы и думать)) Может я таки рожу что-то


пример куска кода из qsp... тоже может пригодится:

 if hour >= 24:
     jump 'loop'
     end
end
 
if month = 1 or month = 3 or month = 5 or month = 7 or month = 8 or month = 10 or month = 12:
!31
if day > 31:day -= 31 & month += 1
elseif month = 2:
!28
if day > 28:day -= 28 & month += 1
elseif month = 0:
month = 1
if day > 31:day -= 31 & month += 1
elseif month = 13:
month = 1
if day > 31:day -= 31 & month += 1
else
!30
if day > 30:day -= 30 & month += 1
end
if day = 0:day = 1
 
 
if week > 7:
:loopweek
set week = week - 7
     if week > 7:
     jump 'loopweek'
     end
 
end
 
if week = 1:Set $week = 'Понедельник'
if week = 2:Set $week = 'Вторник'
if week = 3:Set $week = 'Среда'
if week = 4:Set $week = 'Четверг'
if week = 5:Set $week = 'Пятница'
if week = 6:Set $week = 'Суббота'
if week = 7:Set $week = 'Воскресенье'
 
if month = 0:Set month = 1
if month = 13:Set month = 1&year+=1
If month = 1:set $month = 'Январь'
If month = 2:set $month = 'Февраль'
If month = 3:set $month = 'Март'
If month = 4:set $month = 'Апрель'
If month = 5:set $month = 'Май'
If month = 6:set $month = 'Июнь'
If month = 7:set $month = 'Июль'
If month = 8:set $month = 'Август'
If month = 9:set $month = 'Сентябрь'
If month = 10:set $month = 'Октябрь'
If month = 11:set $month = 'Ноябрь'
If month = 12:set $month = 'Декабрь'
 


 

(will be screened)
(will be screened)
(will be screened)
If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting

Profile

blocknote

January 2025

S M T W T F S
    1234
567891011
12131415 161718
19202122232425
2627 28293031 

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Powered by Dreamwidth Studios