Autor Wątek: prosty algrorytm  (Przeczytany 2022 razy)

Offline matig16

  • Użytkownik

# Lipiec 10, 2010, 15:53:07
Mam taki problem nie wiem jak zrobić AI do prostej gierki napisanej w allegro. Otóż mam taką grę po lewej stronie kółka po prawej kwadraty i chce żeby one zaczeły siebie atakować czyli każde kółko i każdy kwadrat ma ilość hp i ilość ataku i właśnie tu jest problem nie wiem jak zrobić żeby kółko które zauważy kwadrat "podejdzie" do niego i zacznie go bić albo na odwrót, nie proszę was już o gotowe rozwiązanie ale o jakąś wskazówkę z góry dzięki

Offline Mr. Spam

  • Miłośnik przetworów mięsnych

Offline MichalBe

  • Użytkownik
    • MichalBe's Github

# Lipiec 10, 2010, 16:00:30
szukasz kwadratu w najbliżej kółka, podchodzisz (A* ?) i zaczynasz je bić, niewime co w tym skomplikowanego.

Offline Xirdus

  • Redaktor

# Lipiec 10, 2010, 16:03:11
Jak kółko zauważy kwadrat, ustawia się w stronę kwadratu (ustawiasz kierunek ruchu), przy każdym kroku fizycznym przesuwasz kółko w stronę kwadratu (w kierunku wcześniej ustalonym) i jak zaczną kolidować, to przestajesz przesuwać i zaczynasz atakować.

Offline matig16

  • Użytkownik

# Lipiec 10, 2010, 16:28:45
Jeszcze raz dzięki za wszystkie wskazówki  :)

Offline nilphilus

  • Użytkownik
    • wordpress

# Lipiec 10, 2010, 16:32:11
@MichałBe: na kiego  A*?

Dobra, masz dwie tablice, jedną z okręgami, drugą z kwadratami. Załóżmy dla ułatwienia, że tylko kwadraty atakują - więc bierzesz kolejne kwadraty z tablicy i szukasz dla nich przeciwnika:

foreach(kwadrat in tablica_kwadratow)
   szukaj_przeciwnika(kwadrat);

a w szukaj_przeciwnika szukasz najbliższego okręgu. Jak już wszystkie kwadraty wiedzą kogo mają atakować wystarczy, że będziesz je przesuwał do celu przy każdym apdejcie i sprawdzał czy nie kolidują z okręgiem (wtedy atakują).



PS. zgaście słońce....

Offline MichalBe

  • Użytkownik
    • MichalBe's Github

# Lipiec 10, 2010, 18:26:36
@MichałBe: na kiego  A*?

niewiem, moze bedzie chcial postawic trójkąty po srodku planszy zeby kolka je omijaly, troszke moze na wyrost to bylo, przepraszam:)

Offline lastseeds

  • Użytkownik

# Lipiec 10, 2010, 18:26:48

PS. zgaście słońce....
przeciez i tak tutaj nikt nie wychodzi z domu to po co ?

Offline Xirdus

  • Redaktor

# Lipiec 10, 2010, 18:38:26

PS. zgaście słońce....
przeciez i tak tutaj nikt nie wychodzi z domu to po co ?
Bo świeci w monitor i nic nie widać.

Offline MichalBe

  • Użytkownik
    • MichalBe's Github

# Lipiec 10, 2010, 19:02:29

PS. zgaście słońce....
przeciez i tak tutaj nikt nie wychodzi z domu to po co ?

mow za siebie, ja dzisiaj bylem w sklepie

Offline matig16

  • Użytkownik

# Lipiec 11, 2010, 12:12:27
Tylko mam teraz następny problem jak dojść do tego najbliższego kwadratu, spróbować algorytmu wyszukiwania ścieżki   ???

Offline siso

  • Użytkownik

# Lipiec 11, 2010, 13:22:24
Nie, wal na oślep. Masz jakieś przeszkody po drodze?

Offline Xirdus

  • Redaktor

# Lipiec 11, 2010, 13:32:04
Jak by co, od razu mówię, że to powyżej jest jak najbardziej poważnie.

Offline matig16

  • Użytkownik

# Lipiec 11, 2010, 13:41:59
Nie nie mam żadnych przeszkód :D

Offline siso

  • Użytkownik

# Lipiec 11, 2010, 14:24:37
Nie nie mam żadnych przeszkód :D
No i problem "z dyńki", jak to mawiają ;)