Wpis z mikrobloga

#programowanie #csharp

Mam pewien problem. ( ͡° ʖ̯ ͡°) - znowu

Robie aplikacje na watkach ma ona symulować przejazd kolejowy. Mam sobie zrobiona funkcje na pociąg on jeździ w kolko jeśli pojawia sie w pewnym miejscu rogatka zostaje zamknięta.

Mam również klasę odpowiadającą za samochody. Można utworzyć dowolną liczbę samochodów które jeżdżą z góry albo z dołu. Samochody zapisują się do listy.

A teraz problem. Jak sprawić żeby samochody nie nakładały się na siebie?
  • 24
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@MlodyInformatyk: Mógłbyś w wątku który porusza samochód napisać pętlę, która by sprawdzała czy przed nim nie ma jakiegoś pojazdu, jeżeli znajdzie jakiś za blisko to nie rusza samochodu do przodu
  • Odpowiedz
odpowiedz


@MlodyInformatyk: Ciężko mi się odnaleźć w nieswoim kodzie, ale wydaje mi się że coś z tym:

this.pb.Location = new Point(367, -88);

sprawdź np. dla wszystkich aut jadących w górę odległość dla innych aut jadących w górę, jeżeli będzie mniejsza niż jakaś tam (taka żeby się nie nachodziły) to stopuj auto
  • Odpowiedz
@blisher: ok. Chodzi mi o jakiś c# sposób. Jak sprawdzić że coś przed aktualnym autem cos jedzie? Odwolac sie jakoś do tej listy?

Wprowadzić do klasy samochod zmienna pozycja? Ale jak sprawdzac czy na pozycji x jest samochod?
  • Odpowiedz
@blisher: nie wiem nie umiem wytlumaczyc.

mamy obiekty samochodu 1,2,3,4....... one sa tak jakby osobnymi bytami. Jak sprawić żeby jeden wiedział o drugim.

Myslałem czy by nie puszczac ich z opoznieniem. To znaczy jeśli samochod A przejedzie przez 23 piksel to wtedy można puścić samochód B ale wtedy jak beda stac na pasach to nadal beda na siebie najeżdzac
  • Odpowiedz
@MlodyInformatyk: dodaj do klasy samochod pole z aktualna pozycja, ktora bedziesz aktualizowal wraz z jej zmiana, a zamiast threadStart uzyj ParameterizedThreadStart i jako parametr przeslij index poprzedniego samochodu
  • Odpowiedz