const canvas = document.getElementById('canvas');
const ctx = canvas.getContext('2d');
canvas.width = 1000;
canvas.height = 500;
var x,y, cord_1x, cord_2x, cord_1y, cord_2y, divide, bufor;
function get_text1()
{
x = prompt("enter coordinate 1x")
y = prompt("enter coordinate 1y")
}
function get_text2()
{
cord_2x = prompt("enter coordinate 2x")
cord_2y = prompt("enter coordinate 2y")
}
function draw()
{
while(x<cord_2x)
{
x++;
y+=divide;
ctx.fillStyle = 'white';
ctx.fillRect(x, y, 2, 2);
}
}
function board()
{
ctx.fillStyle = 'black';
ctx.fillRect(0, 0, 1000, 500);
}
get_text1()
get_text2()
bufor=cord_2y;
divide=(bufor/cord_2x);
//y=100; kiedy by to (zdekomentować) i w tym miejscu by zadeklarować do obu zmiennych dane wartości to linia na stronie by się wyświetliła.
//x=100;
draw()
//setInterval(game, 100)
Witam!
Moim problemem który napotkałem przy tworzeniu programu mającego na celu narysowanie linii od wybranych koordynatów do docelowych koordynatów, jest to iż po pobraniu początkowego x i y metodą prompt linia się nie pokazuje. Przeciwnie w momencie zadeklarowania wartości do zmiennej w kodzie w momencie który powyżej skomentowałem i zaznaczyłem. W tej sytuacji linia zostaje narysowana.
Myślę że może być za to odpowiedzialna właśnie ta dziwna funkcja prompt, ale nie potrafię znaleźć buga.
*Generalnie zamiast użyć algorytmu Bresenhama spróbowałem swojej metody, i jak się okazuje dzieląc koordynat y2 przez x2 otrzymujemy ułamek który dodając do y1 przy ówczesnym dodawaniu 1 do x1 dostajemy uproszczoną metodą wynik bliski pierwszemu sposobowi. Oczywiście takie rozwiązanie jeszcze nie jest responsywne ale to kwestia kilku linii kodu