SFML и C++ Уроки \ Разработка игр › Форумы › Логика игр › Вопрос по уроку 16 › Ответ в теме: Вопрос по уроку 16
Все разобрался, получается строка randomElementX = 1 + rand() % (WIDTH_MAP – 1); работает так :
rand() генерирует число и далее вычисляется остаток от деления нa (WIDTH_MAP – 1). это могут быть числа только oт 1 до (WIDTH_MAP – 1) то есть 39, так как WIDTH_MAP = 40 . Например генерируется 40,прибавляется 1 = 41, остаток от деления нa 39 будет равен 2 , если генерируется число меньше 39,
например 38+1 =39 разделим на 39 в остатке получим 0.Если число больше 39 и при этом кратно 39
например 77 +1 =78 разделим на 39 в остатке так же получим 0.