játékfejlesztés.hu
FórumGarázsprojectekCikkekSegédletekJf.hu versenyekKapcsolatokEgyebek
Legaktívabb fórumozók:
Asylum:    5440
FZoli:    4892
Kuz:    4455
gaborlabor:    4449
kicsy:    4304
TPG:    3402
monostoria:    3284
DMG:    3172
HomeGnome:    2919
Matzi:    2519

Pretender:    2498
szeki:    2440
Seeting:    2306
Geri:    2185
Orphy:    1893
Joga:    1791
Bacce:    1783
MaNiAc:    1735
ddbwo:    1625
syam:    1491
Frissebbek | Korábbi postok
[1] [2] [3] [4] [5] [6] > 7 < [8] [9] [10] [15] [16]
Kuz - Törzstag | 4455 hsz       Online status #167946   2011.11.04 12:22 GMT+1 óra  
Ezt általában elég jól meg szokták fogalmazni a feladatban:
"Írjon kódot, ami..."
"Írjon pszeudo kódot, ami..."
A memóriám már nem a régi. És ráadásul még a memóriám sem a régi...
Az élet attól szép, hogy bármi megtörténhet. És attól szar, hogy meg is történik...
Ha az egyik szinkronúszó megfullad, mit csinál a többi???

   
4Bit - Tag | 548 hsz       Online status #167945   2011.11.04 12:20 GMT+1 óra  
De most akkor rajzoljak ábrákat a papírra, vagy a szimpla kódot írjam le?
Úgy álljunk meg az életben, akár a sziklaszírt a tengerben; ne engedjük, hogy a szüntelen hullámverés megingasson bennünket.
   
Kuz - Törzstag | 4455 hsz       Online status #167944   2011.11.04 12:02 GMT+1 óra  
Nem kötözködés, csak én még mindig nem látom mivel vagy előrébb, ha papírt használsz (ja, hát mondjuk később a wc-n előnyben leszel), mintha egyből azt kódolod, amit papírra is leírnál. Vagy lehet nem ugyanazt értjük papíron-való programozás alatt? Én lent szerintem elég jól leírtam, hogy mi az én nézetem, de lehet csak a definíciót értjük másképp.
A memóriám már nem a régi. És ráadásul még a memóriám sem a régi...
Az élet attól szép, hogy bármi megtörténhet. És attól szar, hogy meg is történik...
Ha az egyik szinkronúszó megfullad, mit csinál a többi???

   
HomeGnome - Szerkesztő | 2919 hsz       Online status #167942   2011.11.04 11:50 GMT+1 óra  
Egy haladóbb programozó nyilván tudja mi az a struktogramm meg a folyamatábra.
Egy iskolai verseny első fordulójába is nyilván csupa haladóbb programozó jelentkezik, ergo tök felesleges a beugró feladat...

SZERK: Nyilván nem az lesz a feladat az első fordulóban, hogy programozzon le papíron egy komplett raytrace engine-t... Nem hiszem, hogy olyan bonyolult feladatot adnának, amit ne lehetne 1-2 ciklussal meg elágazással megoldani... Ha meg ennyit nem tud papíron lerajzolni, akkor még mindig nem késő más hivatást választani.

Klikk, a JF.hu bulvárlap.
Klikk #6 WIP: 30% (Kuz, sade, ramoryan...)
   
Joga - Törzstag | 1791 hsz       Online status #167941   2011.11.04 11:41 GMT+1 óra  
Szerintem egy haladóbb szintet elért programozónak egy struktogramm vagy folyamatábra nem mondd sokkal többet, mint maga a forrás
(ಠ ›ಠ) Stewie!

   
HomeGnome - Szerkesztő | 2919 hsz       Online status #167940   2011.11.04 11:31 GMT+1 óra  
Okés, látom nem lehet meggyőzni, hogy van valamicske haszna..

@4Bit: Akkor ha azt kérik tőled, hogy papíron vezess le egy feladatot, mondd azt nyugodtan a tanárodnak, hogy "papíron programozni faszság"... Lehet nem jutsz tovább, de később jó fizetésed lesz majd.

Klikk, a JF.hu bulvárlap.
Klikk #6 WIP: 30% (Kuz, sade, ramoryan...)
   
Parallax - Tag | 574 hsz       Online status #167939   2011.11.04 11:29 GMT+1 óra  
Komolyabb DDD rendszereknél pedig már magával az ábrákkal definiáltam is a programot, aztán generate code és ennyi. Ez persze csak az adatkezelés, meg 1-2 üzleti logikára jó, de faszányos tud lenni, amikor egy jó kis UML ábrából egyből kód lesz, state machine-el mindennel együtt. Ennyit a papírozásról.

   
Kuz - Törzstag | 4455 hsz       Online status #167937   2011.11.04 11:18 GMT+1 óra  
SX: érdekes, én is. Lehet egy helyen dolgozunk?

A papíron való programozás szerintem faszság, mert:
- Jóval több időt vesz el tőled, mintha egyből bepötyögöd a kódot és - .Net és értelmes fejlesztői környezet esetén - az intellisense egyből javít téged, egyből látod, ha valami nem áll rendelkezésedre, és emiatt módosítani kell egy modult, etc.
- Sem papíron, sem gépen nem erőből kódolsz, jó esetben először átgondolod, amihez nem hiszem, hogy kell papír (max vázlatnak, de az meg nem papíron programozás, az csak ötletelés).
- Ha annyira bonyolult a feladat, hogy kell hozzá folyamatábra, az meg elég speciális eset, lássuk be, ilyenbe ritkán futunk bele. Bár én erre is inkább excelt, visiot, vagy valami programot használok, mert ott könnyebb/gyorsabb javítani.

Attól meg, hogy tudod hogy kell sütni rántottát, még simán odaégetheted. Ahogy Morpheus is mondta a Matrix-ban: "Más dolog ismerni az utat és járni rajta.".
A memóriám már nem a régi. És ráadásul még a memóriám sem a régi...
Az élet attól szép, hogy bármi megtörténhet. És attól szar, hogy meg is történik...
Ha az egyik szinkronúszó megfullad, mit csinál a többi???

   
SX - Törzstag | 361 hsz       Online status #167936   2011.11.04 11:10 GMT+1 óra  
Idézet
Kuz :
Ez csak azért van, mert rossz programozók vagytok.



Lehet benne valami, de így is megkapom a béremet minden hónapban

   
HomeGnome - Szerkesztő | 2919 hsz       Online status #167935   2011.11.04 11:09 GMT+1 óra  
@DMG: Lehet sántít a hasonlatom, de akkor mondom máshogy.
Tegyük fel főzőversenyen azt a feladatot kapod, hogy írd le hogyan sütsz rántotthúst. És akkor leírod szépen a lépéseket, hogy leveszed a fagyasztóról a karajt, kiolvasztod x idő alatt, felvágod, kiklopfolod, megsózod, bepanírozod liszt, tojás aztán zsemlemorzsa, forró olajban kisütőd x perc alatt, közben megfordítod, végül tálalod. Ha le tudod írni hogyan készíted az ételt, akkor azért el lehet dönteni, hogy tudsz-e sütni, anélkül, hogy konkrétan összekoszoltad volna az edényeket...

@Kuz: Nem hiszem el, hogy Te, mint programozó, a suliban nem rajzoltál folyamatábrákat..

Klikk, a JF.hu bulvárlap.
Klikk #6 WIP: 30% (Kuz, sade, ramoryan...)
   
DMG - Szerkesztő | 3172 hsz       Online status #167930   2011.11.04 10:43 GMT+1 óra  
Én az adatbáziskezelést tanultam papírom meg az SQL-t, na az is cumi volt.

HG rossz a hasonlat.

ha már főzés, ez KB olyan, mintha ki kéne találnod egy új receptet, de nem tudod megfőzni, hogy kipróbáld élesben, csak a receptet írhatod le, aztán vagy jók az arányok vagy nem.
-----------------------------------------
Dont Listen to the Naysayers
   
Kuz - Törzstag | 4455 hsz       Online status #167929   2011.11.04 10:40 GMT+1 óra  
Ez csak azért van, mert rossz programozók vagytok.
A memóriám már nem a régi. És ráadásul még a memóriám sem a régi...
Az élet attól szép, hogy bármi megtörténhet. És attól szar, hogy meg is történik...
Ha az egyik szinkronúszó megfullad, mit csinál a többi???

   
SX - Törzstag | 361 hsz       Online status #167927   2011.11.04 10:23 GMT+1 óra  
Idézet
Kuz :
A papíron való programozás olyan, mint fejben főzni. Lehet, de semmi értelme.



Az algoritmusok/fgvek működésének megtervezésére nagyon jó tud lenni a papír. Kritikus részeket én pl. van, hogy napokig tervezek papíron, mikor belefogok valaminek a kivitelezésébe. Többet gondolkodsz, és mivel nem tudod kapásból futtatni, többször körbe is járod, eszedbe jutnak olyan dolgok, amik amúgy esetleg nem fognak, mert a kód fut jól (legalábbis először).
Na, ezen szemlélet bevezetésére jó a sulis papíron programozás. Mi is utáltuk, de ez olyan, mint gyerekkorban a kötelező rendrakás. Később jössz rá, hogy nem is volt hülyeség..

   
HomeGnome - Szerkesztő | 2919 hsz       Online status #167924   2011.11.04 09:57 GMT+1 óra  
De ha fejben sem tudod a hozzávalókat, akkor hogyan állsz neki főzni? Belerakod a levesbe ami eszedbe jut, aztán ha pl túl csípős lett, akkor kiveszed belőle a paprikát?
Attól, hogy tudsz készételt rendelni, még nem biztos, hogy meg is tudod főzni..

SZERK.: Szerintem ez olyan, (szeretem a hasonlatokat ) mintha 4Bit benevezne egy főzőversenyre egy olasz pizzéria telefonszámával, aztán amikor mondják neki, hogy írja le a receptet, akkor csak pislog, hogy "mi van?"..

Klikk, a JF.hu bulvárlap.
Klikk #6 WIP: 30% (Kuz, sade, ramoryan...)
   
Kuz - Törzstag | 4455 hsz       Online status #167923   2011.11.04 09:47 GMT+1 óra  
A papíron való programozás olyan, mint fejben főzni. Lehet, de semmi értelme.
A memóriám már nem a régi. És ráadásul még a memóriám sem a régi...
Az élet attól szép, hogy bármi megtörténhet. És attól szar, hogy meg is történik...
Ha az egyik szinkronúszó megfullad, mit csinál a többi???

   
HomeGnome - Szerkesztő | 2919 hsz       Online status #167920   2011.11.04 09:29 GMT+1 óra  
Ez olyan, mint hogy pl. el sem tudod képzelni, hogy számológép nélkül is össze lehet adni két számot papíron..
Gondolom valami folyamatábrát is kell majd rajzolni.. Attól meg hogy pythonnal nevezel még nem biztos hogy jobban tudsz algoritmizálni mint a pascalosok, sőt..

Klikk, a JF.hu bulvárlap.
Klikk #6 WIP: 30% (Kuz, sade, ramoryan...)
   
LugaidVandroiy - Törzstag | 504 hsz       Online status #167919   2011.11.04 09:27 GMT+1 óra  
Valószínűleg csak elméleti és logikai feladatok vannak, általában pszeudó kódban. Azért érdemes rákeresni az előző évi feladatokra, biztos elérhető valahol. Vagy kérdezd meg a tanárod. Egyébként sok sikert!

   
DMG - Szerkesztő | 3172 hsz       Online status #167917   2011.11.04 09:02 GMT+1 óra  
Ez attól függ, hogy hogyan gondolták.
-----------------------------------------
Dont Listen to the Naysayers
   
4Bit - Tag | 548 hsz       Online status #167913   2011.11.04 00:36 GMT+1 óra  
Jelentkeztem egy programozói versenyre. (Ajajajaj! )

Az első forduló papíron történik meg, pár napon belül, szóval. Szabadon választott nyelvből lehet indulni, (én személy szerint Pythonnal nevezek, míg mindenki körülöttem Pascallal fog szívni.. )
a megmérettetés pár napon belül lesz az iskolában.

Na most azt szeretném kérdezni: Hogy ez a papíron történő programozást mégis hogy a bánatban gondolták? Ugyanazt írjam le, mint amit a gépbe pötyögnék be?
Úgy álljunk meg az életben, akár a sziklaszírt a tengerben; ne engedjük, hogy a szüntelen hullámverés megingasson bennünket.
   
Pretender - Törzstag | 2498 hsz       Online status #167308   2011.10.22 10:04 GMT+1 óra  
Senki nem szülője most senkinek. Bent van 2 dolog: egy picture box meg egy group box. Mind a kettőnek a main window a szülője. Ha úgy adom hozzá, hogy:
- picture box
- group box
akkor látszik mind a kettő rendesen, ha viszont
- group box
- picture box
akkor olyan, mintha a pb "kitakarná" a groupboxot, és nem látszik.

szerk.:
Ha máshogy csinálok "picture box"-ot, akkor jó
Kód:
m_Handle = CreateWindowExA(WS_EX_TRANSPARENT, "BUTTON", "picture box",
WS_VISIBLE | WS_CHILD | BS_FLAT, m_X, m_Y, m_Width, m_Height,
p_Parent, 0, p_HInstance, 0);

Bár ez nem igazán picture box. Mondjuk amúgy is csak arra használom, hogy ezt adjam át a render device-nak
Avagy a dummyfv szerinti kódnál a STATIC helyére BUTTON-t írok, és akkor megy is.

szerk.2:
Végül úgy lett megoldva, hogy group boxot csinálok, és annak a handler-jét adom át a Game-nek (a feliratot úgy is kitakarja, szóval kvázi nincs vele gond)

Ezt a hozzászólást Pretender módosította (2011.10.22 11:32 GMT+1 óra, ---)

   
Asylum - Törzstag | 5440 hsz       Online status #167307   2011.10.22 09:58 GMT+1 óra  
A groupboxnak a pictureboxot add meg parent-nek?
Amugy minden logikával ellentétben ha jol emlékszem a groupbox elemeinek nem a groupbox a szülöje.
C++ fordítóval és macival alszom
http://darthasylum.blog.hu/
   
Pretender - Törzstag | 2498 hsz       Online status #167306   2011.10.22 09:52 GMT+1 óra  
Nem teljesen ide való, de hátha.
Szóval WinApi-s WinForms-ot használok Asy tutorja alapján.
Az a helyzet, hogy ha először egy picturebox-ot adok hozzá aztán egy groupboxot, akkor jó mind a kettő, de ha fordítva (először group box, aztán picture box), akkor a group box nem látszik. Ötlet, hogy miért? (HWND mindkettőnek ugyan az, a szülő ablak, csak más sorrendben adom őket hozzá...)

   
HomeGnome - Szerkesztő | 2919 hsz       Online status #167292   2011.10.21 21:20 GMT+1 óra  
Én csak 12x12 -ig rajzoltam le kockás füzetbe, de ezek szerint működik az elgondolás, juppí.

Klikk, a JF.hu bulvárlap.
Klikk #6 WIP: 30% (Kuz, sade, ramoryan...)
   
borsi - Tag | 180 hsz       Online status #167291   2011.10.21 20:35 GMT+1 óra  
150x150es táblán teszteltem, azon jó

   
HomeGnome - Szerkesztő | 2919 hsz       Online status #167283   2011.10.21 15:05 GMT+1 óra  
Hát, borsi, nem tudom van-e egyszerűbb megoldás, én addig jutottam, hogy ha a+b páros, akkor n is páros, egyébként páratlan, illetve n<=a+b, kivéve ha a+b==1, mert akkor n=3. Ennyi, feladom, többre most nincs energiám.

SZERK:
Kód:
if ((a+b)%3==2) return ((a+b)/3+2);


SZERK2: és ez se jó, csak a<=8 -ig..

Kód:
if (a==0 && b==0) return 0;

sor nem kell.

Na, akkor a legújabb kísérleti megoldásom (nem próbáltam, csak papíron )

Kód:
int minSteps (int dx, int dy)
{
    int a,b,x,y;

    x=abs(dx);
    y=abs(dy);

    a=max(x,y);
    b=min(x,y);

    // kivételek
    if (a==2&&b==2) return 4;
    if ((a+b)==1) return 3;

    if (a<(b*2))
    {
        x=(b*2-a);
        y=x/3;
        if (x%3) y++;    // ide talán a ceil() is jó lett volna..
        a+=y;
        b-=y;
    }
    // innentől a>=b*2

    x=(a+1)/2;
    if ((a/2+b)%2) x++;

    return x;
}


Ennyi. Nem garantálom, hogy jó, le kéne teszteni...

Ezt a hozzászólást HomeGnome módosította (2011.10.21 18:16 GMT+1 óra, ---)

Klikk, a JF.hu bulvárlap.
Klikk #6 WIP: 30% (Kuz, sade, ramoryan...)
   
borsi - Tag | 180 hsz       Online status #167280   2011.10.21 14:22 GMT+1 óra  
Ami eddig megvolt nekem:

Kód:
int minSteps(const int& dx, const int& dy){
             int adx = abs(dx);
             int ady = abs(dy);

             int a = max(adx, ady);
             int b = min(adx, ady);

             if(a == 0 && b == 0){
                          return 0;
             }

             // a = 2b
             if( a == 2 * b){
                          return b;
             }

             // a > 2b
             if(a > 2 * b){
                          if((a - 2 * b) % 4 == 0){
                                       return a / 2;
                          }

                           switch((a - 2 * b) % 5){
                          case 0:
                                       return (3 * a - b) / 5;
                          case 1:
                                       if((a - 2 * b) == 1)
                                                    return 3 + (a - 1) / 2;
                                       else
                                                    return (3 * a - b - 8) / 5  + 2;
                          case 2:
                                       return (3 * a - b + 4) / 5;
                          case 3:
                                       return (3 * a - b + 6) / 5;
                          case 4:
                                       return (3 * a - b - 2) / 5;
                          }
             }
             //a < 2b
             else{
                          return 666;
             }
}


Viszont jó lenne, ha lenne valami könnyebben bizonyítható, egyszerűbb megoldás

   
Kalapacs - Tag | 185 hsz       Online status #167279   2011.10.21 14:08 GMT+1 óra  
HG:
Na ez jó kérdés, lehet, hogy a kannibáloknak is van egy erőssége, vagy simán nem 1, hanem pl 1.5 ös erősségre gondolt a misszionáriusoknak.
Habár az jobb lenne, ha azt lehetne megadni, hogy mennyire éhesek a kannibálok.
...a játékfejlesztés nem éppen a programozásról szól...
/4Bit
   
HomeGnome - Szerkesztő | 2919 hsz       Online status #167278   2011.10.21 14:06 GMT+1 óra  
@borsi: első próbálkozásom:
Kód:
d=(dx>dy)?dx:dy;
n=d/4*2;
switch (d%4)
{
case 3:
    n+=3;
    break;
case 2:
    n+=2;
    break;
case 1:
    n+=3;
    break;
}

de valószínű ennél kevesebb. mondjuk nem próbáltam ki.

SZERK: hát ezt még tuti optimalizálni kell, mert biztos h nem pontos. sőt, tuti nem jó

Ezt a hozzászólást HomeGnome módosította (2011.10.21 14:16 GMT+1 óra, ---)

Klikk, a JF.hu bulvárlap.
Klikk #6 WIP: 30% (Kuz, sade, ramoryan...)
   
Matzi - Szerkesztő | 2519 hsz       Online status #167276   2011.10.21 13:54 GMT+1 óra  
borsi:
Ez nem nehéz, a lólépés 2 az egyik irányba és 1 a másik irányba. Szóval csak ki kell hozni ,hogy a két dimenzió különbségében milyen arányban kell lépkedni. Nem nehéz.
If your game idea starts with the story it’s not a game idea.
Stories in games are optional.
   
HomeGnome - Szerkesztő | 2919 hsz       Online status #167275   2011.10.21 13:51 GMT+1 óra  
Szerintem ezt egy sima fa-kereséssel meg lehet oldani, csak le kell tudni írni az aktuális állapotot (hol vannak a misszionáriusok meg a kannibálok, hol a csónak), megnézni, hogy ez egy érvényes felállás-e (megeszik-e valamelyik misszionáriust), illetve átjutottak-e, aztán felírni a lehetséges lépéseket, és jöhet a következő szint.. Esetleg még ki lehet szűrni az egyforma állásokat, vagy egy max mélységet megadni..
De az "erősséget" nem értem, velük van a szentlélek is, vagy mi?
Az erősségnek nem azt kéne jelentenie, hogy ha
misszionáriusok száma * erősség < kannibálok száma
akkor megeszik őket? Ez hogy jön ki a 4:3-ra?

Klikk, a JF.hu bulvárlap.
Klikk #6 WIP: 30% (Kuz, sade, ramoryan...)
   
borsi - Tag | 180 hsz       Online status #167274   2011.10.21 13:50 GMT+1 óra  
Egy másik probléma: végtelen méretű sakktáblán két mező között a legrövidebb út hossza szabályos lólépéssel. Elég a hossza (viszont az konstans idő alatt kéne), azzal már menne az útkeresés (A*), de annak hiányában csak szélességi bejárással tudom megtalálni a legrövidebb utat.

   
Kalapacs - Tag | 185 hsz       Online status #167273   2011.10.21 13:41 GMT+1 óra  
Ahh, így azért más a helyzet, mint ahogy eredetileg leírta. Csónakokról pl szó sem volt.

Szerintem az erősséggel valamiféle sebzésre gondolt a misszionáriusok részéről(a leírás alapján.) Vagy lehet, hogy inkább védelem, arról nem írt, hogy a kannibálok kinyiffannak, ha kevesebben vannak.
...a játékfejlesztés nem éppen a programozásról szól...
/4Bit
   
HomeGnome - Szerkesztő | 2919 hsz       Online status #167271   2011.10.21 13:18 GMT+1 óra  
Ez egy érdekes logikai feladat, szerintem erre gondolt: Missionaries and Cannibals
Azt nem pontosan értem, mi az az "erősség"? Definiálnád, kérlek?
Én valami sima rekurzív-szerű kereséssel oldanám meg.

u.i.: elég 1 helyen a hsz, legyen mondjuk itt, a többit törlöm.

Klikk, a JF.hu bulvárlap.
Klikk #6 WIP: 30% (Kuz, sade, ramoryan...)
   
Kalapacs - Tag | 185 hsz       Online status #167269   2011.10.21 13:11 GMT+1 óra  
Mi kell neked pontosan? Útvonalkeresés?
A balhét(feltéve, hogy jól értem a feladatot, és minden misszionáriusnak ugyanakkora "ereje" van) meg kb ennyivel ki tudod számolni:

if kannibálokszáma - (misszionáriusokszáma * misszionáriuserőssége) >= 1:
<nyert.>

Btw marha sok értelme volt 3 topicba beírni ugyanazt.
...a játékfejlesztés nem éppen a programozásról szól...
/4Bit
   
danielkekk - Tag | 1 hsz       Online status #167267   2011.10.21 12:52 GMT+1 óra  
Sziasztok!

Az lenne a kérdésem, hogy tudtok valami általános algoritmust a címben említett probléma megoldására vagy egy oldalt ahol le van írva? A konkrét feladat a következő: A parton van X darab kannibál és Y darab misszionárius és át kell juttatni őket a túlpartra. Ezenkívül meg lehet adni a misszionáriusok erősségét. Ha például azt adom meg, hogy 1es erősségű akkor ha 4 kannibál és 3 misszionárius van a parton még életben maradnak. C-ben kellene megoldanom a feladatot.

Köszönöm a segítséget előre is.

   
borsi - Tag | 180 hsz       Online status #166236   2011.10.05 09:42 GMT+1 óra  
Amúgy szerintem a helyett, hogy egyes formátumokhoz írnál konvertert, érdemesebb valami ehhez hasonlót használni. Így elég egy adatszerkezetet ismerned, és több mint 20 formátumot tudsz használni

   
syam - Törzstag | 1491 hsz       Online status #166232   2011.10.05 09:15 GMT+1 óra  
Ha jól emlékszem ez a téma már (legalább) egyszer felmerült .obj loader kapcsán :3
alias aalberik
   
Matzi - Szerkesztő | 2519 hsz       Online status #166230   2011.10.05 09:10 GMT+1 óra  
Nem tökéletes, de ez biztos benne van.
Link.
If your game idea starts with the story it’s not a game idea.
Stories in games are optional.
   
Pretender - Törzstag | 2498 hsz       Online status #166226   2011.10.05 08:46 GMT+1 óra  
Nekem is X importer amúgy
Valóban egy egyszeri dolog, csak fura, hogy amit a dxviewer 2mp alatt megnyit, azt nekem 10-15mp-ig "konvertálja" (mert a végén kimentem binárisba, és azt töltöm be)

@Matzi: lehet átküldted anno, nem tudom azóta van-e frissebb változat, mert mintha nekem még az lett volna meg, amibe teszt jelleggel beraktad ezt a fajta "rendezést"

   
Matzi - Szerkesztő | 2519 hsz       Online status #166225   2011.10.05 08:37 GMT+1 óra  
Nekem speciel pont van egy X importerem, ami pont ugyanezt csinálja, és ha érdekel oda is tudom adni, ha még nem tettem meg.
If your game idea starts with the story it’s not a game idea.
Stories in games are optional.
   
dvorgaz - Törzstag | 575 hsz       Online status #166224   2011.10.05 08:33 GMT+1 óra  
Ez valami modell exporter? Ha igen, én ezt úgy oldottam meg, hogy a modellezőben egy háromszög 3 csúcsához le vannak tárolva a pozíció/normál/texcoord indexek és egyszerűen kiexportáltam háromszögenként 3 vertexet pos/norm/tex-szel együtt. Ezután végigmentem a vertex listán és kiszórtam amiből több volt, ezzel együtt újraindexeltem a csúcsokat.
Egyébként szerintem ennek tökmindegy, hogy mennyi keresgélés van benne, mert úgyis egy preprocessz jellegű dolog.
   
Pretender - Törzstag | 2498 hsz       Online status #166210   2011.10.05 05:32 GMT+1 óra  
@ddbwo: újra indexelni mindenképpen kell. Mondom, képzeld csak el egy kocka egyetlen csúcsát. Vicces lenne, ha csak egy normal tartozna hozzá. = több vertex lesz = módosulnak az indexek

@Asylum: nem értem mire gondolsz... már hogy duplikáljam? Nem tudom, hogy miből kell kettő, vagy három, vagy több, és hogy annak milyen új indexe lesz...

   
Asylum - Törzstag | 5440 hsz       Online status #166204   2011.10.04 22:49 GMT+1 óra  
Ezt igy felejtsd el, duplikáld a pozíciókat / amit kell 24-re.
C++ fordítóval és macival alszom
http://darthasylum.blog.hu/
   
ddbwo - Tag | 1625 hsz       Online status #166203   2011.10.04 22:41 GMT+1 óra  
Ne legyen újra indexelés, csak hagyja ki ami nincs, vagy párhuzamosan az újra indexelés mellett kerüljenek be 0 indexek a false-hoz.
A Half-Life 2: Deathmatch promóció megszűnt! [B¤°
Kezdetben volék az üresség. Ám akkor a Struktúrfüggöny megteremté az Urat.
DrunkenDragon* Blackwolf
   
Pretender - Törzstag | 2498 hsz       Online status #166017   2011.10.03 12:50 GMT+1 óra  
Na hát talán ide való a kérdés:
Szóval van egy rakat pozícióm, normálom, texcoordom, a pozíciókra és a normálokra vonatkozó indexem. Tekintsünk egy kockát
8 pozíció, de kapásból 24 normal és texcoord. Ami természetesen indexelve van, az alap viszont a pozícióra és a normalra külön vonatkozik. Valahogy ebből nekem értelmesen össze kellene raknom egy saját vertexstruktúra elemeit.

Jelenleg működő állapotban van, de ez így nem az igazi, elég sok a keresgélés. Berakom a kódot, hátha megérti valaki rajtam kívül
Kód:
/*m_PositionIndices = a pozíciók indexelése
m_NormalIndices = a normálok indexelése
m_Vertices = a vertexstruktúrámból egy vector
m_VertexIndices = ez pedig a végső index lista, hiszen változni fognak az indexek (pl. az előbbi kocka esetén nem 8*3 lesz, hanem több, mert hiába 8 csúcsa van, de a csúcsoknál különbözőek a normalok*/

for (int i = 0; i != m_PositionIndices.size(); i++)
{
    int positionIndex = m_PositionIndices[i];
    int normalIndex = m_NormalIndices[i];

    //create vertex
    VertexNTB vertex = VertexNTB(m_Positions[positionIndex], m_Texcoords[positionIndex], m_Normals[normalIndex], Vector3::Zero, Vector3::Zero);

    //vertex exist?
    bool exist = false;
    for (int k = 0; k != m_Vertices.size(); k++)
    {
        //vertex exist
        if (m_Vertices[k] == vertex)
        {
            exist = true;
            m_VertexIndices.push_back(k);
            break;
        }
    }

    //if vertex exist
    if (exist)
    {
        //move to next index
        continue;
    }

    //create vertex and add new index
    m_Vertices.push_back(vertex);
    m_VertexIndices.push_back(m_Vertices.size()-1);
}


szerk.:
Ugyan ez igaz a vertexeknek "felskinnelésére". Az X miután definiálta a mesheket, megadja csontonként, hogy az melyik id-jű vertexet milyen súllyal befolyásol. Csak mivel nekem változtak az indexek, így az X-ben lévő indexek nekem nem jók.
Kód:
int numSkins = m_Skins.size();
for (int s = 0; s != numSkins; s++)
{
    XSkin* skin = m_Skins[s];

    //search the frame to the skin
    int bone = GetBoneId(skin->m_Name);

    //set parameters
    int numVertexIndices = skin->m_VertexIndices.size();
    for (int i = 0; i != numVertexIndices; i++)
    {
        int pid = skin->m_VertexIndices[i];

        for (int v = 0; v != m_Meshes[m]->m_VerticesBone.size(); v++)
        {
            if (m_Meshes[m]->m_VerticesBone[v].Position == m_Meshes[m]->m_Positions[pid])
                m_Meshes[m]->SetVertexBoneValues(v, bone, skin->m_VertexWeights[i]);
        }
    }
}

Ezt a hozzászólást Pretender módosította (2011.10.03 13:08 GMT+1 óra, ---)

   
Asylum - Törzstag | 5440 hsz       Online status #165881   2011.10.02 12:43 GMT+1 óra  
Ha pl. plasmagunra gondolsz, akkor rendes ütközésvizsgálat kell (ami alatt sweep test-et értek).
C++ fordítóval és macival alszom
http://darthasylum.blog.hu/
   
ddbwo - Tag | 1625 hsz       Online status #165877   2011.10.02 12:21 GMT+1 óra  
Ja visszatérve a nyíl példára, a kezdő és végpont megadja az irány vektor, a végpont vagy kezdőpont pedig lehet a lövedék modelljének középpontja.

Ha nincs ütközés mondjuk fallal, akkor a modell megjelenik, különben történik aminek kell, megmaradó nyilaknál meg a falon számolt végponton jelenik meg egy új objektum, a régit lehet törölni még a rajzolás előtt. Hogy semmiképpen ne jelenjen meg olyan helyen, ahol nem is lehetne. Pl fal mögött. De ha a kezdőponton jelenik meg mindig, annak jónak kell lenni,.

De magát a lövedék fizikáját vonalként vagy szakaszként a legspórolósabb kezelni. persze a tengelyen végig lehet küldeni karikákat, hogy hengernek számítson. meg ha indokolt, lehet korong, gömb, hasáb, stb. A lehető legegyszerűbb kell ami leírja a lövedék viselkedését.

Ezt a hozzászólást ddbwo módosította (2011.10.02 12:28 GMT+1 óra, ---)
A Half-Life 2: Deathmatch promóció megszűnt! [B¤°
Kezdetben volék az üresség. Ám akkor a Struktúrfüggöny megteremté az Urat.
DrunkenDragon* Blackwolf
   
Matzi - Szerkesztő | 2519 hsz       Online status #165870   2011.10.02 10:58 GMT+1 óra  
Speciel az FPS-ek többségében a sima gépfegyver lövedékek egyetlen vonal ütközést vizsgálnak a lövés pillanatában, és utána kb random a lőpálya valamelyik szakaszát felvillantják. Van egy játék, amiben ez nagyon durván megfigyelhető, a többiben nem feltűnő.

A lassabb lövedékeknél, pl gránát, rakéta, stb... ott valószínűleg rendesen kell ütköztetni és mozgatni.
If your game idea starts with the story it’s not a game idea.
Stories in games are optional.
   
ddbwo - Tag | 1625 hsz       Online status #165863   2011.10.02 10:22 GMT+1 óra  
A lövedék sebességéből meg lehet kapni, hogy mekkora távot tesz meg egy "logic step" alatt. A kezdőpont és a végpont közt egy vonal keletkezik, amire vonalas ütközésvizsgálatot lehet csinálni.
Amennyire kell, annyira pontos lesz a vizsgálat és tévedhetetlen, csak minden step-nél az előző végpontból kell a következőt kiszámolni. Így be lehet iktatni a ballisztikus pályát is, gellert, meg ami kell.

Ha a vonal ütközést mutat, a kezdőpontból kis karikákat lehet "kilőni" a végpont felé, hogy kiderüljön az ütközés pontos helye, valamint hogy a fal miatt meddig érvényes a golyó. Csak hogy el legyen kerülve a falon átlövés meg ilyenek.

A megjelenítés lehet sárga csík, ami a vonal tört részére vagy egészére kerülhet. Vagy bármi más. De pl a cod-okban meg sok fps-ben így van megoldva és elég életszerű szokott lenni.
A Half-Life 2: Deathmatch promóció megszűnt! [B¤°
Kezdetben volék az üresség. Ám akkor a Struktúrfüggöny megteremté az Urat.
DrunkenDragon* Blackwolf
   
zeller - Törzstag | 464 hsz       Online status #165862   2011.10.02 09:25 GMT+1 óra  
Projectile-ok.
Tfh van olyan fegyver, vagy barmi, aminek a lovedeke nem fenysebesseggel halad, hanem lathatoan animalni kell, szoval ugyanolyan mozgasallapottal rendelkezo merev testkent kell kezelni, mint barmely masik jatekbeli objektumot, csak eppen rovidebb eletu.
Ezt hogyan szokas optimalizalni? Meg egyaltalan kezelni
Elvileg akar rajzolhatnank is csak egy valamit minden frame-ben egy kicsit eltolva es elore kiszamoljuk az idopontot amikor talalkozik, a hatasat pedig kesleletve fejti ki egy dummy valami.
Vagy erdemesebb merev testet es utkozeseket kezelni? Akar egy nyilvesszonel is?

   
Frissebbek | Korábbi postok
[1] [2] [3] [4] [5] [6] > 7 < [8] [9] [10] [15] [16]