Teoria robienia gier

0

Dzień dobry :)
Powiedzmy że mam plansze widzianą z góry, ludzika i jakieś kwadraty,
no chciałbym żeby ludzik chodził sobie ale nie mógł wejść na żaden
z kwadratów?

No i czy coś takiego robi się po przez:
A. Miliard IF'ów.
B. Jakiś wzór na podstawie którego można sprawdzić czy jakiś obszar
nie wchodzi w jakiś innych.
C. Jest jakiś gotowiec, albo może najlepiej komponent.

Prosiłbym także jeśli to możliwe, o jakiś przykłąd lub wyjśnienie.
Z góry dziękuję...--__________________________________
Pozdrawiam...
piechnat

0

no wiec ja jak musze to sie bawie w Ify :P
moj kolega hyba uzywa do tego tablic(niewiem jak),
a o gotowcu i komponencie nigdy nieslyszalem

Pozdrowienia {browar}

0

Ify ify i jeszcze raz ify no bo co innego mozna wymysleć no a na tablicach to mozna zrobić pod warunkiem ze te kwadraty są ciągle w tym samym miejscu no chyba ze dodatkowa procedura pobierająca dane kwadratów w momencieich rozmieszczania.
Można zrobić ze jak wejdzie w kwadrat to zginie wystarczy porównywać pozycje ludzika z danymi w tablicy(dużo kwadratów długo sprawdza). na pewno jest t do zrobienia ale trzeba nad tym posiedzieć. Proponuje jednak ify to chyba szybciej pójdzie-- Waldi Koronowo
goldcar1@wp.pl

0

A czy jesteście pewni że prawdziwe gry też się robiz if'ami bo mi aż się nie chce wierzyć, dlatego zadałem tu pytanie.

A poza tym jeżli tak to do Quake III Arena troche narobili tych if'ów :D --__________________________________
Pozdrawiam...
piechnat

0

Moze ja czegos nie rozumiem, ale ja bym to zrobil tak:

tablica dwuwymiarowa Kwadraty z danymi o kazdym kwadracie (jakis rekord np.), m.in. zmienna Boolean DozwoloneWejscie

i wtedy if jest jeden.

jesli ludzik probuje wejsc na kwadrat x,y

If Kwadraty(X,Y).DozwoloneWejscie then
LudzikWchodzi(X,Y)
else
LudzikDostajeKopaIZostajeGdzieByl;

--Pawel {Delphi 6 Personal}

Po pierwsze: naciśnij F1

0

co do quake ii arena to pliki batów są prawie na podstawie if

nie pamiętam jak było z kodem co do

robienia gier to: trzeba wykorzystać tabicę + pętla for (jeżeli dwuwymiarowa to 2 pętle for)

jakbyś chciał przykładzik napiszę tobie LECZ skontaktuj sie ze mną na gg

0

No dobra, dajmy spokój z wieloma kwadratami, powiedzmy że są tylko dwa.
A i B . Dostępne dane dla nich to Left, Top, Width, Height.

No i jak najszybciej sprawdzić czy jaki kolwiek punkt z kwadratu A
znajduje się, zachodzi na kwadrat B, bo ja to widzę tylko tak,
ale to strsznie długo:

If ((A.Left &gt (B.Left - A.Width)) and
(A.Left &lt (B.Left + B.Width)) and
(A.Top &gt (B.Top - A.Height)) and
(A.Top &lt (B.Top + B.Height))) then // kwadrat A zachodzi na B

nie wiem czy to jest potrzebne do tego o czym mówie,
bo przecieŻ ludzik powinien być okrągły no i ta przeszkoda
też nie musi być kwadratem :))
ale tego z Tablicą dwu wymiarową to trochę nie rozumiem :(
możecie jakiś przykłąd podać--__________________________________
Pozdrawiam...
piechnat

0

Osobiscie proponuje pocztac o kolizjach w grach oraz odwiedzenie stron:
http://warsztat.pac.pl
http://www.codeclan.prv.pl/ - o ile pamietam to tu jest duuuzo o kolizjach
P. S. propponuje takze poklikanie na bannery obok jak juz przestudiujesz obie strony:)--Delphi vs. Visual C++ = ?:?

0

TABLICA , TABLICA , TABLICA--DELPHI RULEZ

0

ja uzylem zeby obiekty nie wchodzily na siebie kolizji spritow w delphix jak chcesz to moge wyslac ci przyklad
ale uprzedzam ze to rozmiazanie jest bardzo pamiecia chlonne :) ale bardzo latwe.
---=-OiDnus-=-

1 użytkowników online, w tym zalogowanych: 0, gości: 1