Как правильно сравнивать отрицательные числа?
Есть метод, который вызывается каждый раз при действии. Он имеет три параметра: объект с которым будем работать, число для работы, и bool который понимает будет ли число добавлено или вычтено.
void Filler(Object obj, int count, bool adds)
{
int point = obj.point;
int level = obj.level;
}
При каждом вызове я добавляю к point полученный count когда point достигает 59 он должен обнулится а значение level получить себе +1 это работает если полученный count будет равен 1. Но вот мне понадобилось больше, например count пришел со значением 200, вот здесь я и начинаю пересчет:
if (adds)
{
if ((point + count) / 59 < 1) point += count;
else {
var raise = Convert.ToInt32(Math.Floor((double)(point + count) / 59.0));
point = (point + count) - (raise * 59);
level += raise;
}
} else {
if ((point - count) / 59 >= 0) point -= count;
else {
// point = (point - count) - 59;
// level -= Convert.ToInt32(Math.Ceiling((double)(point + count) / 59.0));
}
}
С добавлением все хорошо, а вот с вычетом не могу разобраться. Моя проверка заходит в минусы и я не могу понять как это пресечь. Я чего то пытался и по модулю делать проверку, но потом отбросил эту идею. Дошел до того, что начал перебирать методом "тыка", то операторы сравнения менял, до пытался проверить что бы результат не был отрицательным, но все тщетно.