Nossa, fiz exatamente igual!!
E fiquei testando aqui os valores, descobri que desse modo, ele só funciona com xc e yc > 250 (que é o dobro do valor que vai somar em yc). Testei com valores mais altos as únicas questões que achei é que o esquadro vai ficando mais fino, por conta das operações com os valores fixos e precisa ajustar o tamanho do canvas pra caber o esquadro. Testei, por exemplo : <canvas width="1000" height="1000"></canvas>
e executei desenhaEsquadro(50, 50, 1000, 1000);
e funcionou.
Reconheço que é um código muito menos genérico autônomo do que o apresentado pelo professor, justamente por conta desses números fixos que acabam deixando ele menos automatizado.