Witam serdecznie!
Programuję grę w js, w której mam planszę 40 kwadratów na 40. Muszę poruszać się obiektem między elementami tej tabeli a dla płynności rzecz jasna nie może ten obiekt skakać od jednego kwadrata do drugiego tylko przepływać. Zatem zamiast robić x_w_stosunku_do_tabeli-- robię x_w_stosunku_do_tabeli-=0.1
I tu pojawia się problem.
var x=20, y=20;
function loop(){
var turn = setInterval(function game() {
x-=0.1;
if(x<=15)x=20;
console.log(x, " *ekhm* ");
}, 100);}
loop();
Ten kod teorytycznie powinien odejmować od 20, 0.1 aż będzie 15. Ale tak nie jest. Zamiast odejmować 0.1 javashit stwierdza: a może tak zepsuć dzień koledze i odjąć 0.100000003. oczywiście ja muszę znaleźć moment w którym obiekt jest w 19,18,17,16, i zwykły if nie wystarczy. Wyjaśni ktoś dlaczego taki problem występuje?