Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // wpisanie poprzednich wartości
- x_pop = x;
- y_pop = y;
- //Przekonwertowanie wyciagnietych danych z tekstu do postaci double
- x = Convert.ToDouble(wart_x);
- y = -Convert.ToDouble(wart_y);
- //oblicza różnice miedzy poprzenimi położeniami i wyznacza ilość kroków
- roznica_xc = (x_pop-x)/0.1;
- roznica_yc = (y_pop-y)/0.1;
- //zaokrągla, Math.Floor(); zaokrągla do dołu, Ceiling do góry
- if(roznica_xc > 0 )roznica_x = Convert.ToInt32(Math.Floor(roznica_xc));
- else roznica_x = Convert.ToInt32(Math.Ceiling(roznica_xc));
- if (roznica_yc> 0) roznica_y = Convert.ToInt32(Math.Floor(roznica_yc));
- else roznica_y = Convert.ToInt32(Math.Ceiling(roznica_yc));
- //wyliczenie częsciowych kroków tzn. z 310,2, wpisuje do buforu 0,2 bo tego nie mogę wykonać
- bufor_x = bufor_x + (roznica_xc - roznica_x);
- bufor_y = bufor_y + (roznica_yc - roznica_y);
- /* wyznaczanie kierunków w których ma się poruszać silnik i zamiana ujemnych
- wartości kroków na dodatnie, bo takie są przesyłane w ramce. Kierunek odpowiada
- za to że bedą kręcić się w drugą stronę */
- if (roznica_xc < 0)
- {
- dir_X = 1;
- roznica_xc = -roznica_xc;
- }
- else dir_X = 0;
- if (roznica_yc < 0)
- {
- dir_Y = 1;
- roznica_yc = -roznica_yc;
- }
- else dir_Y = 0;
- /*Jeśli bufor będzie większy od 1, czyli 1 peły krok, to dodaj do wyniku 1
- Nastepnie albo dodaj do buforu 1 albo odejmij*/
- if (bufor_x >= 1)
- {
- wynikX = roznica_x + 1;
- bufor_x = bufor_x - 1;
- }
- else if (bufor_x <= -1)
- {
- wynikX = roznica_x - 1;
- bufor_x = bufor_x + 1;
- }
- else wynikX = roznica_x;
- if (bufor_y >= 1)
- {
- wynikY = roznica_y + 1;
- bufor_y = bufor_y - 1;
- }
- else if (bufor_y <= -1)
- {
- wynikY = roznica_y - 1;
- bufor_y = bufor_y + 1;
- }
- else wynikY = roznica_y;
- /*eśli ostatecznie wynik jest ujemny bo w buforze odjelismy 1 od zera, to zmień
- na dodatnią wartość i przypisz kierunkowi 1 */
- if (wynikX < 0) { dir_X = 1; wynikX = -wynikX; }
- if (wynikY < 0) { dir_Y = 1; wynikY = -wynikY; }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement