-
Data: 2012-04-17 15:42:34
Temat: Re: zaawansowane ai
Od: " " <f...@N...gazeta.pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]M.M. <m...@N...gazeta.pl> napisał(a):
> <f...@N...gazeta.pl> napisał(a):
>
> > M.M. <m...@N...gazeta.pl> napisał(a):
> >
> > > <f...@N...gazeta.pl> napisał(a):
> > >
> > > > > > >
> > > > > > > Boty tu, boty tam? ;)
> > > > > > >
> > > > > >
> > > > > > bot botem pogania,
> > > > > >
> > > > > > próbuję zrobić podstawowe 'scenariusze' typu 'coward',
> > > >
> > > > na przykład taki przykład/problem - maly konkurs:
> > > >
> > > > chce oprogramowac walasajaca sie swobodnie pozatym ze tchorzliwa
> > > > postac, (w moim wydaniu jest to krowa)
> > > >
> > > > postac normalnie poruszalaby sie np randem
> > > >
> > > > {
> > > > skierujPostac( kto, (rand()%3) -1, (rand()%3) -1);
> > > >
> > > > ( kto to id postaci, a dwa kolejne pola to dx dy - poprawki
> > > > do pozycji na mapie)
> > > > ]
> > >
> > >
> > > Za bardzo drga, za malo się porusza. Prosto chyba sie nie da.
> > > To poniżej ma taką wadę że nagle zmienia kierunek i się odbija
> > > od krawędzi zamiast płynnie hamować, albo zmieniać tor na
> > > równoległy do krawędzi.
> > >
> > > if( rand() % 16 == 0 ) {
> > > if( rand() % 2 ) kto.dx = rand()%3-1;
> > > if( rand() % 2 ) kto.dy = rand()%3-1;
> > > }
> > > if( kto.y + kto.dy > max_y || kto.y + kto.dy < min_y )
> > > kto.dx = -kto.dx;
> > > if( kto.x + kto.dx > max_x || kto.x + kto.dx < min_x )
> > > kto.dy = -kto.dy;
> > > kto.x += kto.dx;
> > > kto.y += kto.dy;
> > >
> >
> > spox, tyle ze nie o procedure na ruch mi chodzi, ruch moze byc
> > przypadkowy to zalezy od konwencji - niektore turowki rpg albo
> > strategie zachaczaja o planszowki - tam ruch pionka rypu rand()%3-1
> > nie razi
> >
> > chodzi mi o oprogramowanie ruchu 'pionka' (np krowy na pastwisku)
> > tak by walesala sie ale nie zblizala za nadto do np walesajacych sie
> > tam przeciwnikow ktore moglyby ja kopnac - robie to na swoj sposob ale
> > jestem ciekaw innych podejsc - przy tym zalezy mi na prostocie kodu
> > bo sam pomysl mozna podac jednym zdaniem ale tu chodzi o prostote
> > kodu
>
> Nie wiem... zasymulować to może magnesami i tarciem? Wrogowie to
> magnesy odpychające, zielone pastwiska to magnesy przyciągające. Do
> tego uwzględnić tarcie (wystarczy statyczne) aby krowa nie rozpędzała
> się do prędkości ponaddźwiękowych. No i chaos, od czasu do czasu jakiś
> rand do dx i dy. Albo zamiast rand dać dwa magnesy przyciągające krowę
> które poruszają się całkowicie przypadkowo. Wtedy będzie wyglądało tak,
> jakby krowa miała jakiś wyimaginowany cel i zanim magnes zmieni położenie
> to będzie się gramoliła w miarę w jednym kierunku.
niestety widze ze wylozenie o co mi chodzi zajeloby mi
wiecej nizbym chcial na to przeznaczac,
w zadnym razie nie chodzi mi o algorytm na ruch - to jest
skwantowane na siatce kwadratowych pol, na niektorych stoja
drzewa, inne sa puste, jest tez tam krowa, krowa moze
przejsc sobie w jeden z osmiu kierunkow (lewo-prawo-gora-dol
i na ukosy), krowa spokojnie moze sie poruszac ruchami
browna bo nie jest glowna postacia (postac glowna jest
poruszana przez gracza z klawiatury i moze byc akurat o
kilometr alej) tylko epizodycznym botem, a cala gra jest
skwantowana na kwadratowej siatce
chodzi tylko o to by krowa nie zblizala sie w swoim brownowskim
ruchu do niektorych innych postaci typu np goblin i inne
(ten system relacji miedzy krowa a innymi tez trzeba jakos
okreslic oprogramowac, moze byc na intach floatacjh albo enumach
- i tez jestem ciekaw jak ktos by to zrobil,
chodzi o algorytm (procedure) po jakiej krowa wybieralaby gdzie
isc a gdzie nie, pierwsza wersja zakladala ze krowa sie rozejrzy
w promieniu 10 pol, znajdzie najblizsza postac (co niesie ze soba
trudnosc zwiazana z tym ze rownie odleglych postaci moze byc >1
-( i co wtedy budowac liste i losowac jedna znich - to na maksa
klopotliwe )- dlatego wlasnie pytam o kwestie dokladnej implementacji)
- jesli ta postac budzi krowia nieufnosc skierowac sie w przeciwnym
kierunku niz ta postac - ale jest to algorytm niezbyt dobry teraz
klepie troche lepszy ale nie wiem czy i jego nie da siepoprawic
--
Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/
Następne wpisy z tego wątku
- 17.04.12 16:10
- 17.04.12 16:14 zażółcony
- 17.04.12 16:19 zażółcony
- 17.04.12 16:38
- 17.04.12 16:39 M.M.
- 17.04.12 16:44
- 17.04.12 16:52 M.M.
- 17.04.12 16:56 M.M.
- 17.04.12 17:00 Jordan Szubert
- 17.04.12 17:01
- 17.04.12 17:06
- 17.04.12 17:09 M.M.
- 17.04.12 17:34 M.M.
- 17.04.12 17:36
- 17.04.12 17:52
Najnowsze wątki z tej grupy
- Popr. 14. Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- Arch. Prog. Nieuprzywilejowanych w pełnej wer. na nowej s. WWW energokod.pl
- 7. Raport Totaliztyczny: Sprawa Qt Group wer. 424
- TCL - problem z escape ostatniego \ w nawiasach {}
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- testy-wyd-sort - Podsumowanie
- Tworzenie Programów Nieuprzywilejowanych Opartych Na Wtyczkach
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
Najnowsze wątki
- 2025-02-01 Śmierć mózgu a narządy do pobrania
- 2025-01-31 A niektórym to naprawdę zależy na ekologi w miastach LPG POWRACA ;-)
- 2025-01-31 Lublin => Programista Delphi <=
- 2025-01-31 Łódź => Programista NodeJS <=
- 2025-01-31 Wrocław => Senior SAP Support Consultant (SD) <=
- 2025-01-31 Warszawa => Full Stack web developer (obszar .Net Core, Angular6+) <=
- 2025-01-31 Gdańsk => iOS Developer (Swift experience) <=
- 2025-01-31 Kraków => UX Designer <=
- 2025-01-31 Warszawa => Data Engineer (Tech Leader) <=
- 2025-01-31 Gliwice => Business Development Manager - Dział Sieci i Bezpieczeńst
- 2025-01-31 Gliwice => Business Development Manager - Network and Network Security
- 2025-01-31 Warszawa => Architekt rozwiązań (doświadczenie w obszarze Java, AWS
- 2025-01-31 Warszawa => Full Stack .Net Engineer <=
- 2025-01-31 Warszawa => Programista Full Stack (.Net Core) <=
- 2025-01-31 Gdańsk => Programista Full Stack .Net <=