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
@kravi93: @blisher:

WIęc nakładają się. Jeśli przycisne wiele razy przycisk "wyslij samochod" to na drodze pojawi sie dużo samochodów które w siebie wjeżdzają.

Kompletnie nie wiem jak ugryźć sprawdzanie kolizji.
kod:
----------------------------------------------------------------------------------------------------------------------------

class Pociag
{
public static Form1 form;
public static bool Rogatka = false;
public static int wartosc;
public static List autaDol = new List();
public static List autaGora = new List();
}

class Samochod
{

public bool czyGora;
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
@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
@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