多分

r = rand() % 32768;

は乱数にならない。