В настоящее время я пишу небольшое приложение для преобразования времени в ручную и бумажную ролевую игру. Это временное путешествие, и в нем используется пользовательская система календаря. Есть 12 нормальных месяцев, но все они имеют 30 дней, за исключением четвертого (переименованного Mapril), который имеет 60. Я ищу алгоритм, ссылку или что-то еще, что может помочь с одним из вычислений. Для того, чтобы держать вещи короткие у меня есть:Modulo Pass Through Detection
- Текущий месяц [0-11]
- месяцев Путешествовать [0-11]
- Направление движения [-1 или 1]
So изображая месяцы как кольцевой мод 12, мне нужен способ определить, проходит ли текущий месяц + месяцы до 3 при движении по часовой стрелке или приземляется на/проходит 3 при движении против часовой стрелки. Вы можете думать о том, что они в два раза больше, чем все остальные месяцы. И чтобы уточнить, переход с 5-го числа любого месяца принесет вам 5-го числа любого другого месяца (включая 60-дневный месяц). И, исходя из сказанного, 31-е из Mapril принесет вам 1-й из соответствующего месяца.
Спасибо за любую помощь, которую вы можете дать. И если это недостаточно ясно, я могу попытаться объяснить лучше или предоставить фотографии.
Спасибо! Это прекрасно работает и действительно помогло мне понять математику за ней. – Sialek