Skocz do zawartości

Pomocna odpowiedź

Napisano

Z tematu (którego już niema) dowiedziałem się o funkcji Rnd() .

Teraz nie wiem jak zrobić żeby co np.2 sekundy zmieniałby się kurs jazdy(silniki w inne strony się kręcą).

Jedyne co znalazłem to to

Przeznaczenie: 

Zwraca pseudo losową liczbę z określonego zakresu.

Składnia: 

zmienna =  RND( zakres ) 

gdzie

zmienna	dowolna zmienna numeryczna, w której znajdzie się wygenerowana liczba pseudo losowa,
zakres	liczba określająca górną granicę generowanych liczb.
Opis: 

Funkcja RND zwraca liczbę typu Integer/Word. Każde wywołanie funkcji RND powoduje wygenerowanie nowej pseudo losowej liczby.

Uwaga! Liczby są generowane przez odpowiedni kod programu. Każdy restart systemu, powoduje, że sekwencja tych liczb będzie taka sama.
Instrukcja używa dwóch bajtów pamięci RAM na własne potrzeby.

Przykład: 


'---------------------------------------------------------
'                (c) 2000 MCS Electronics
'                         RND.BAS
'---------------------------------------------------------
Dim W As Word

Do
 W = Rnd(100)                       'zwraca liczbę pseudo losową z zakresu 0-99
 Print W
Loop

End

na google nic niema (tylko coś o c a mi chodzi o Basom)

nie wiem co w tym trudnego, zliczasz czas 2 sekundy na timerze lub na wait'cie. Nastepnie jak odliczy ten czas startujesz rnd z zakresem 2 liczb i w zaleznosci czy jest 1 lub 0 (albo 2 nie wiem czy od 0 liczy) to jest odpowiedni kierunek jazdy (np. gdy 1 to w lewo, gdy 2 to w prawo).

Pamietaj, ze zmienna przy rnd jest po kazdym restarcie taka sama. Chyba, ze bedziesz zmieniac zmienna ___RSEED np. zapisujac ja do eepromu, pokazdym restarcie by ja dodawal i odczytywal lub mozesz wykorzystac adc.

ot

ostatnio jak czytam to forum to mam chęć na

harakiri-poster.jpg

ote

może jakiś listing programu w ogóle, nawet jak jedzie prosto??

nikt nie wie, co gdzie masz po podpinane i jak jest skonstruowany Twój program...

GruX, popieram.

Niski poziom jest na diodze, przez uzytkownikow.

Pomysl troche, widac po tym, ze nie rozumiesz totalnie jak dzialaja procesory i ta funkcja.

Juz dam ci kod, w nadziei, ze zamkniesz ten temat.

do
s=rnd(1) 

if s=0 then
'jedz w lewo
elseif s=1 then
'jedz w prawo

end if

loop
end

gdy sie gdzies pomylilem to sorry, pisalem z glowy. To powinno ci pomoc. A jak nie pomoze to kiepsko.

P.S. Jakby coś to jestem początkujący.

każdy chyba kiedyś był, ale jakoś większość potrafiła dojść do czegoś samemu, poczytać...

Gość
Ten temat został zamknięty.
×
×
  • Utwórz nowe...