|
|
Lenne egy kérdésem:
Adott egy pack fájl ilyen felépítésben:
Fájl
Fájl
Fájl
.....
Fájl leíró struktúra
Fájl leíró struktúra
Fájl leíró struktúra
....
Pack leíró struktúra
Ebből kellene fájlokat törölni úgy hogy nem húzom be egyszerre a memóba a pack azon részeit amit nem törlök és nem is másolom át ideiglenes fájlba. Hogyan lehetne ezt megoldani?
Reality is almost always wrong. - House
|
|
|
___________
A lelkesedés az, ami a tudásnak ízt ad...
|
|
|
Igazi zen szellemben készült iromány ez!
|
|
|
Idézet Asylum :
Egyes híresztelések szerint néhányan látták a múltkor gépen programozni a Mestert.  De természetesen ezek csak rosszindulatú útszéli pletykák s mit sem csorbítanak a Mester makulátlan hírnevén.
|
|
|
Asylum, elsőben rágugliztam Fóthi nevére. 
A Mester... 
Messen, másokban is felmerült a kérdés hogy lehet hogy szkript generálta a szkriptet aztán gyorsan el is vetették.
|
|
|
|
|
|
Idézet Asylum :
Tudjátok mi a leggyengébb előfeltétel? 
Azt mindenki tudja.  A ciklus levezetési szabályának megfordítása már érdekesebb kérdés.
|
|
|
Geri biztos úgy született, hogy köpte-vágta a visszalépéses keresés stukiját meg a ciklus definícióját stb. 
Tudjátok mi a leggyengébb előfeltétel?
|
|
|
Jajj, az szkript nagyon kemény volt...  Valahol meg is van még, betettem vitrinbe.  Lehet hogy azt hitte soronként + pont a ZH-n. Vagy csak hülye volt.
|
|
|
Már előre féltem mikor megláttam Geri nevét a Programozás elmélet topik mellett.
Viszont így egymás alatt a két postot látva felmerül bennem a kérdés: nem Geri műve a 35k soros beadandó?
|
|
|
Programozás elmélet = szex helyett pornósztárok neveit bemagolni.
|
|
|
Huhh most eszembe jutott, hogy programozási környezetre mikor jártam valaki beadott egy 35000 (!) soros unix scriptet...Cs.A. kitette a honalpra, hogy megnézzük hát emberek....
A feladat marha eccerü volt: el kellett dönteni hogy egy sudoku tábla formailag helyes-e, azaz hogy 1-9 ig vannak e a számok minden mezőben stb.
Nos a script kb. igy nézett ki (szintaxist már elfelejtettem ugyh csak pszeudonyelven irom):
if a11 != 1
...
exit
fi
if a11 != 2
...
exit
fi
if a11 != 3
...
exit
fi
if a11 != 4
...
exit
fi
if a11 != 5
...
exit
fi
...
fejszámolás: 81 mező, mindegyikre 9 ellenőrzés azaz 729 ellenőrzés!!!!....anyám...ettöl fejreálltam
|
|
|
Hmmm. Ha vektorban tárolod a pontokat, akkor visszintesen roppant egyszerű a malom ellenőrzés. Csak egy maximum 3 mélyésgig futó rekurzió kell hozzá. Az első értéknél tárolt adatot (melyik játékos pöttye) rekurzióval ellenőrizni a tőle "jobbra" lévő elemekre. Ha mindegyiknél egyezik, akkor malom. Ha bármelyiknél eltér, akkor nincs malom. Ezt a vector minden 3. elemére lefuttatni igazán hatékony.
A gui felosztása mehet algoritmusból is, már ha a cél a memóriafoglalás minimalizása.
Gondolok itt arra, hogy a pöttyök helyzete eléggé kiszámítható az index alapján.
- az első három pöttyöt egyszerű x növeléssel el lehet helyezni
- a 4. és 5. pöttynél az y növelése történik
- a 6. 7. nél az x csökkentése
- a 8. nál pedig az y csökkentése.
Erre egy egyszerű függvényt írni, ami visszaadja az index alapján a pötty helyét nem igazán bonyolult. A különböző "körök" csak a kiinduló pozícióban és a lépésközben különböznek, tehát akár egyetlen függvényben összesíteni lehet a dolgot.
|
|
|
Javaslom, hogy amikor a lerakópontot vizsgálod, ne csak az adott pixelt nézd, hanem hozzá viszonyitva + és - irányban is x db pixelt. Igy nem kell majd hajszál pontosan a pixelre kattintani, hanem a 2x+1 oldalhosszúságú négyzetre, aminek a lerakópont a közepe.
Én úgy csináltam régen, hogy a játékállás letárolása, és a lerakópontok táblázata teljesen külön volt választva, de valóban kell egy lerakópontos táblázat is.
Klikk, a JF.hu bulvárlap.
Klikk #6 WIP: 30% (Kuz, sade, ramoryan...)
|
|
|
Na, nekiálltam kódolni is kicsit.
Az iskolában a következő adatszerkezetet javasolják:
Egy 24*2 elemű mátrix, ebben a lerakópontok koordinátái vannak. Erre azért van szükség, hogy egérkezelésnél meg tudjuk határozni, hogy hová rakta pontot. A táblát is ez alapján rajzoljuk ki.
16 esetben fordulhat elő malom. Hogy ezeket meg tudjuk határozni, egy 16*3 elemű mátrixban eltároljuk azokat a ponthármasokat ahol malom lehetséges. Az 1es játékos által lerakott pontokat 1-esek jelzik, a 2-es játékos pontjait 5-ösök. Így ha egy ponthármason a számok összege 3, akkor ott az 1. játékosnak van malma, ha 15, akkor a 2. játékosnak.
Nagyjából ez az alapkoncepció.
Amiket ti javasoltatok, azok jobb megoldások, de ott bajban lennék az egérkezeléssel, mert elvileg mindenképp tudnom kell a lerakópontok koordinátáit, nem?
Lehet hogy még ma, vagy holnap töltök fel forráskódot is...
|
|
|
Azért volt ott a smiley, mert csak viccnek szántam az indokot! Természetesen nem a menü miatt! Tudom, hogy nem lesz egyszerű, főleg hogy még nem írtam ilyet, de szerintem az iskolában azt is értékelik majd ha megmozdul a gép.
Azért akarok rakni bele, hogy a programom ne olyan legyen mint mindenki másé, mert nálunk most úgy van hogy egyetemi kistanárok osztják az észt ami kb abból áll hogy a kivetítőn megmutatnak mindent, a szánkba rágják az egészet és csak le kell kódolni. A jobbik fajta értékeli ha saját módszerrel dolgozunk, de a lámáknak nem tetszik, mert nem tudnak forráskódot olvasni sem és furcsán néznek ha valaki segíteni hívja őket....
Meg amúgyis jó ideje terveztem már hogy szakítok a pascallal, már csak az iskola miatt használom, gondoltam akkor a végére írhatnék valami értelmes programot is, mert eddig nem nagyon voltak ilyenek. Remélem összejön.
|
|
|
Hát, ha csak azért raksz bele AI-t, mert túl üres a menü, akkor gondold át még1x sztem...  Egy jó de gyors kiértékelőfüggvényt kell összehoznod, különben bénán játszik majd a gép...
Klikk, a JF.hu bulvárlap.
Klikk #6 WIP: 30% (Kuz, sade, ramoryan...)
|
|
|
Én három 8 elemű vektorral oldottam meg annó a kérdést. Ha fogod a malom táblát és a sorokat kiegyenesíted egy-egy meghatározott - én sarkot választottam - ponttól fogva, akkor a három kör három 8 elemű vektorként tárolható. Minden második elem egy csomópont. Szerintem ezen a leghatékonyabb az ellenőrzés.
Persze ez ízlés kérdése ;D
|
|
|
AI nem kötelező bele, az alapkoncepció szerint ember vs ember játékmód kell csak bele.
Viszont szerintem úgy túl üres lenne a menü, ezért rakok bele gép elleni játékmódot is!  Ha minden igaz, év végéig kell meglenni vele, és ha rakok bele plusz dolgokat, akkor azt maximum jutalmazni fogják. Az AI megírására még nem volt konkrét ötletem. Játszottam már 1-2 malomprogrammal gép ellen, és volt köztük olyan amely akár 3 mp-t is gondolkodott az iskolai HT procis gépeken. Az is igaz, hogy megvernie sem sikerült senkinek.
Köszi az ötletet, akkor annak utánanézek! Mondjuk az AI megírásáig még jónéhány megoldandó feladatom van, de így legalább lesz egy kis támpontom!
Köszi mégegyszer!
|
|
|
Hát ha már AI is kell, az már szép kis feladat!  Nézz utána a mininax algoritmusnak! Én is csináltam régebben malmot, 3 mélységű minimax keresés van benne (mondjuk a rekurziót nem szeretem, ezért azt máshogy oldottam meg.  )...
Klikk, a JF.hu bulvárlap.
Klikk #6 WIP: 30% (Kuz, sade, ramoryan...)
|
|
|
Logikusan a tábla lyukas. Azért kell 3x3x3, mert van 3 "szint", mindegyiken 3x3 elem, csak a középső mindből hiányzik. Értelemszerűen oda nem lehet rakni és nem is kell megjeleníteni, de a 3x3as felépítmény szemléletesebb.
If your game idea starts with the story it’s not a game idea.
Stories in games are optional.
|
|
|
Köszi mindkettőtöknek!  Próbálom feldolgozni. 
Meg kell mondjam, Matzi módszerét nem teljesen értem. 3x3x3 az 27 elemű tömb lesz, de a pálya csak 24 elemű, akkor melyik részét ne használjam ki?
Egyelőre megpróbálom megírni úgy ahogy HG mondta (az iskolában is hasonló módszert javasoltak). Aztán később próbálom még javítgatni. Így is lesz vele elég munka, mert ember vs cpu módot is szeretnék bele rakni, ahhoz meg alap AI is kell, olyat meg még nem írtam.
Idő szerencsére van rá elég.
|
|
|
Ez a 3x3x3-as tárolás mégelegánsabbnak tűnik, bár sztem az én 24-es tömböm egyszerűbb..  De a lényeg ugyanaz.
Klikk, a JF.hu bulvárlap.
Klikk #6 WIP: 30% (Kuz, sade, ramoryan...)
|
|
|
Szerintem előszöris sorszámozd meg a mezőket 1-24 -ig, fentről lefelé vagy kivülről befelé, ahogy neked szimpatikus.  Kell egy táblázat ami megmondja, hogy melyik mező melyikkel szomszédos (egy mező legfeljebb 4 másikkal szomszédos, javaslom csinálj egy 24x4-es mátrixot. Minden mezőhöz felsorolod a 4 szomszédját, ha csak 2 van, akkor oda irj 0-át. ) Egy másik táblázatban felsorolod azokat a ponthármasokat amik malmokat alkotnak (ez most egy 16x3-as mátrix lesz). Ezek után már többféleképpen is letárolhatsz egy játékállást. Például csinálsz egy 24 elemű tömböt, minden mezőhöz feljegyzed hogy pl.: 0 - üres, 1 - saját bábu, 2 - ellenfél bábuja. + Külön lehet 2 db 9 elemű tömböd, hogy melyik korongod melyik mezőn van, vagy már levették a tábláról. Csinálhatsz mindenre külön függvényt, pl ami megnézi lehet-e lépni, vagy ami megmondja melyik korongok állnak malomban, stb. Annyiban bonyolult a helyzet, hogy a malom játék 3 fázisból áll, lerakási-, lépési-, és ugársi fázis (amikor már csak 3 kongod van). Plussz ha malmot csinálsz arra is kell figyelni, hogy az ellenfél bábui közül nem veheted le amik malomban állnak.. Szóval sokmindenre kell figyelni, szép feladat. 
A tanárnak meg igaza van, ha egymás után 24 if-et meg case-t látnék, akkor úgy bevágnám én is a karót, hogy csak na!  tömbökkel meg for ciklusokkal elegánsan meg lehet oldani.
Klikk, a JF.hu bulvárlap.
Klikk #6 WIP: 30% (Kuz, sade, ramoryan...)
|
|
|
Én a helyedben az egész táblát egy 3x3x3as tömbben eltárolnám, aztán ciklikusan felépítenék egy olyan 16x3 db pontra mutató tömböt, aminek a sorai az gyes nyerő vonalak pontjait jelzik. Így a vizsgálat egy 16os ciklussal megvan, a táblában meg kedvedre lépkedhetsz, nincs redundancia a rendszerben, és az eleje is generálható algoritmukusan.
If your game idea starts with the story it’s not a game idea.
Stories in games are optional.
|
|
|
Hello!
Egy kis segítségre lenne szükségem...
Feladatom, hogy pascalban írjak grafikus malomjátékot, de ez lényegtelen a problémám szempontjából.
Tehát van a malomtábla, amin 24 lerakóhely van, és összesen 16 féle képpen lehet kirakni a malmot.
2 nagy témakörben szorulok segítségre:
1. Az adatszerkezet kialakítása. Ez összefügg a 2. problémával. Nem tudom, hogy lenne a legcélszerűbb eltárolni, hogy a tábla melyik pontján kinek a bábuja van, hogy hol van, hová nem lehet épp lerakni, stb.
2. Kéne egy eljárás vagy függvény, ami megvizsgálja, hogy kialakult-e valahol malom. Ezt meghívnám minden bábu lerakás vagy bábu mozgatás után, így ha a játék bármely fázisában valaki kirakja a malmot akkor rögtön levehet az ellenféltől egy bábut.
Kéne valami támpont, amin elindulhatok, és minél elegánsabb megoldásokra lenne szükségem, mert erősen kikötötték, hogy nem akarnak rengeteg if-et, meg case of-ot látni a kódban, szóval valami matekosabb módszerrel kéne meghatározni, hogy mi történt. Ehhez pedig olyan adatszerkezet kell ami nem hátráltat.
Bármilyen ötletet szívesen fogadok!
|
|
|
Nagyy-nak igaza van, bináris adatokat küldesz át, érdemesebb úgy átküldeni a számokat, és a szöveget kiolvasni. Ami szerintem még lényeges, hogy a szervernek nem kell kiküldenie egy embernek a sajét ID-jét, csak ha a saját karakterét is így kezeli, de akkor a többi ember ID-jét is át kell adnia valahogy úgy, hogy a kliensnél létrejöjjön a megfelelő karakter a megfelelő kezdő adatokkal, és utána már csak azokat kell frissíteni. A szerver meg tudja hogy melyik socketről jön a parancs, és ezzel egyértelműen azonosítja a játékost, és így tudja mozgatni a karaktereket.
Wow-ban a frissítés úghy van, hogy két frissítés között az átadott sebesség és irány adatokkal számol a játék, így ha gyakori a frissítés, akkor folyamatos a mozgás.
If your game idea starts with the story it’s not a game idea.
Stories in games are optional.
|
|
|
Szerintem működne ez a módszer, amit leírtál, régebben mikor egy hálózatos játékon dolgoztam, én is hasonlót használtam.
Mellesleg ha sztringként küldöd az adatokat, akkor valószínűleg valamivel nagyobb méretűek lesznek az üzeneteid, mintha binárisan tennéd. Pl egy float-ot binárisan 4 byteon le tudsz írni, szövegesen viszont több kellene, és még akkor is lehet hogy pontossági problémák léphetnének fel. Ha a pontosság nem olyan fontos, akkor igazából nem biztos hogy ez olyan nagyon számít, mivel ha jól tudom, az IP csomagok mindíg legalább 48 byte méretűek, akkor is, ha te csak 1 byte-ot akarsz küldeni. Én binárisan küldeném az adatokat, de ízlések kérdése...
|
|
|
Mégvalami, értelmes dolog így küldeni az adatokat?
(A számsorok az elküldött kód, a betűsorok tagolsának szántam)
Kód: Elmozdulás
01050000100002010111221343243
ppiixxxxxyyyyyddssttttttttttt
pp = 01-es parancs tehát elmozdulás
ii = a 05-ös IDjü karakterre vonatkoznak a változások
xxxxx = 00001-es X koordinátáról indult a karakter
yyyyy = 00002-es Y koordinátáról indult a karakter
dd = 02 a karakter erre fordul (8 irányba tud esetemben)
ss = 01 a karakter sebessége, másodpercenként
tttttttttt = 0111221343243 timestamp, ekkor indult el a karakter
Chat
0205Szöveg szöveg stb...
ppii--------------------------------------------------
pp = 02-es parancs tehát chat üzenet
ii = a 05-ös IDjü karakter küldte az üzenetet
ezekután eof-ig az első 4 karaktert leszámítva kimásolom az üzenetet
ID kiosztása (szervertől kliensnek, csatlakozás után)
030001
ppiiii
pp = 03-as parancs ID
iiii = a mi ID-nk a 0001-es
█▓▒░ All system gone, prepare for downcount! ➡ ➎➍➌❶ Offblast! ➔
|
|
|
Hali!
Azt szeretném kérdezni hogy az alábbi elképzelés helytálló-e
Szal van egy rakás kliens ami a szerverhez csatlakozik, a szervertől kapnak egy IDt x és y koordinátát hogy hol helyezkednek el a pályán.
Hogy lássák a többi játékost is a szervernek el kell küldenie azokat a koordinátákat is amiken a többi játékos tartózkodik.
Szerver változók:
#define MAX_CHAR 64
#define SZORAS 100 // ha egy kliens 100 egység távolságra van az akciótól azt fölösleges frissíteni
bool char_exist[MAX_CHAR];
int char_x[MAX_CHAR];
int char_y[MAX_CHAR];
Beérkezik az üzenet hogy az egyik kliens elmozdult:
Kód: int recv_id = // adat
int recv_x = // adat
int recv_y = // adat
for (i = 1; i <= MAX_CHAR; i++)
{
// Ha a karakter létezik és távolságon belül van
if (char_exist[i] == true && SZORAS < abs(char_x[i] - recv_x) && SZORAS < abs(char_y[i] - recv_y))
{
// ID és koordináták elküldése az 'i' ID-s kliensnek
}
}
Aztán továbbgondolva, hogy kisebb legyen az adatforgalom: amikor valaki elindul elküldi az indulás irányát, sebességét, időpontját, x,y koordinátáját - ebből a szerver (és az értesített kliensek) ki tudják számolni folyamatos floodolás nélkül hogy abban a pillanatban hol helyezkedik el a kliens karija.
WoWban is így volt asszem (mások netszakadását megfigyelve legalábbis erre jutottam).
█▓▒░ All system gone, prepare for downcount! ➡ ➎➍➌❶ Offblast! ➔
|
|
|
header:
Kód: class cSingleton
{
public:
//------------
//Methods
//------------
static cSingleton* GetInstance();
private:
//-------------
//Members
//-------------
static cSingleton s_Singleton;
//------------
//Methods
//------------
cSingleton();
~cSingleton();
};
.cpp
Kód: //A static változó miatt ez a deklarálás kötelező
cSingleton cSingleton::s_Singleton;
cSingleton* cSingleton::GetInstance()
{
return &s_Singleton;
}
A konstruktort, és a destruktort nem tudod kiirtani, mert amikor az egyetlen példány létrejön az osztályból, akkor ugye azt ő használja. Megoldás: átteszed private-ba, akkor "kívülről" nem lesz elérhető - a compiler hibát dob, de az osztályon belülről el fogja érni a példányod, amikor létrejön (a saját privát metódusát még jó, hogy meg tudja hívni).
Nagyjából ennyi.
|
|
|
Valaki adjon már egy normális leírást Singleton-hoz, mert bár az alap megvan ( GetInstance() ), de a constructorokat nemtom kiírtani. template-esen szeretném megoldani, mert sok helyen kéne használnom, de bárhogy csinálom, mind1 honnan másolok kódot, valami hiba mindíg van. Már egy rakat tutorialt/ leírást megnéztem...
|
|
|
Idézet Seeting :
Basszus
Hmm, most nézem, h a C) mégsem olyan trivi... sőt, ahogy elnézem egész bonyolult!
Csak akkor lesz egyenlő a két index, ha minden elem ugyanaz és egy elemű a vektor vagy az elemszámára igaz, h a következő intervallumok valamelyikébe esik: [2^n - 2^(n-2), 2^(n-1)], ahol n > 1. Azaz 1,3,6,7,12..15,24..31,... és így tovább.
|
|
|
Basszus
|
|
|
Idézet Seeting :
Hali!
Van egy versenyfeladat, amivel nem sikerült még kibékülnöm:
Az alábbi program A és B értékét határozza meg az N elemű X vektor értékei alapján. M értéke kezdetben 1.
Kód: Mitcsinál (X, M, N, A, B) :
Ha N-M<=1 akkor Ha X(M)<=X(N) akkor A:=N: B:=M
különben A:=M: B:=N
különben K:=(M+N) div 2
Mitcsinal (X, M, K, A1, B1)
Mitcsinal (X, K+1, N, A2, B2)
Ha X(A1)>X(A2) akkor A:=A1
különben A:=A2
Ha X(B1)<X(B2) akkor B:=B1
különben B:=B2
Elágazások vége
Eljárás vége.
A. Mi lesz A és B értéke?
B. Hányszor kell összehasonlítani az X tömb elemeit a megoldás során, ha N 2 hatványa?
C. Milyen esetben lesz azonos a futás végén A és B értéke?
A) Ez egy intervallum-felezéses min-max keresés (minden részintervallumra megadja, h abban mi a min és max indexe). Az A-ban lesz a max indexe, B-ben a min indexe.
B) Az összehasonlítások száma: N/2 + 2^logN - 2 lesz (a rekurzió legalján N/2 összehasonlítás van, a fölötte levő logN-1 szintre meg felírható az összehasonlítások száma egy mértani sorozat összegével, a=2, q=2-vel például).
Szebb formában (ha N = 2^M) az összehasonlítások száma: 2^(M-1) + 2^M - 2
C) Azt hiszem innen ez már triviális.
|
|
|
Hali!
Van egy versenyfeladat, amivel nem sikerült még kibékülnöm:
Az alábbi program A és B értékét határozza meg az N elemű X vektor értékei alapján. M értéke kezdetben 1.
Kód: Mitcsinál (X, M, N, A, B) :
Ha N-M<=1 akkor Ha X(M)<=X(N) akkor A:=N: B:=M
különben A:=M: B:=N
különben K:=(M+N) div 2
Mitcsinal (X, M, K, A1, B1)
Mitcsinal (X, K+1, N, A2, B2)
Ha X(A1)>X(A2) akkor A:=A1
különben A:=A2
Ha X(B1)<X(B2) akkor B:=B1
különben B:=B2
Elágazások vége
Eljárás vége.
A. Mi lesz A és B értéke?
B. Hányszor kell összehasonlítani az X tömb elemeit a megoldás során, ha N 2 hatványa?
C. Milyen esetben lesz azonos a futás végén A és B értéke?
|
|
|
Idézet Jedi :
Már jópár éve lenyomtam azt a tárgyat, csak maradtak ilyen emlékfoszlányok. Meg a vizsgáról jópofa emlékek...
Azaz. Mikor jön a mester, ránéz a levezetési szabályaimra, büszkén mosolygok, és megkérdezi, hogy "és a bizonyítás?". Köpni nyelni nem tudtam, gyakorlaton az sosem kellett  De aztán kiötlöttem.
Egyébként ha van köztetek olyan, aki 2003 vagy 2004-ben csinálta a tárgyat, annak lehet hogy tartottam gyakorlatot  úgy belejöttem. Úgyhogy ha van kérdés, valószínűleg tudok segíteni
|
|
|
Ja és mellesleg C# akkor sem tud script értelmezést, nekünk viszont az kell, hogy a kész particle adatait ki tudjuk menteni file-ba, játéknál pedig azt töltjük be és használjuk (ami Cpp).
|
|
|
Hát igen, valami ilyesmi, csak Birmacher megelőzött
|
|
|
mert c++os programba olvassuk be
|
|
|
c#-ot használsz nemde?
akkor miért nem magát a nyelvet használod scriptnek??? 
jobban jársz és sokkla többet tud mint a lua vagy társai.... 
no meg könnyűszerrel integrálhatod az amúgy is c#-os toolodba.....
|
|
|
Egyelőre Lua egyre jobban bejön nekem, főleg a miatt, mert C-ben lett írva és engine is Cpp, az egyetlen kis gubanc, h a tool az meg C#, de van dll-es változata is; elvileg be lehet lőni C# alá is.
Azért köszi, sztem megkukkantok 1-2t, már csak azért is, h lássak olyat, de Lua elég kiforrottnak tűnik és könnyű használni is...
|
|
|
Őőőő nem csak a lua van a világon, ha nem tetszik vannak mások is: Squirrel, AngelScript, SpiderMonkey, Ruby...
|
|
|
Igen, azóta én is sokat gondolkoztam és szvsz a Lua jó szolgálatot tehet, de ezen még majd filózok, mert csak tegnap próbálgattam, h mit is tud.
Scennerekre is lehet vetek egy pillantást, de ha Lua-val összejönne amit akarok, akkor asszem az lenne a legjobb. De azért várom a további ötleteket, ha vkinek van még, az ne fogja vissza magát
|
|
|
Flex és Bison (Yacc) is megy mingw alatt, szóval használhatók win alatt is, a kimenetüket kell csak esetleg kozmetikázni. De ennyi erővel akár valami könnyedebb szkriptnyelvet is nézhetnél.
|
|
|
|
Idézet ShAdeVampirE :
Ezzel csak az a gondom, h 1. nemtom hogy tudnám leprogramozni 2. sztem magának a felhasználónak sem egy túl egyszerű rendszer... Remélem azért megérti vki a problémámat és segít vagy az 1. pontban, vagy kitalálni egy másik rendszert, ami ugyan úgy megadja a szabadságot, csak kicsit egyszerűbben...
Én úgy indulnék neki, hogy vannak a neten library-k / tool-ok, amik egy speciális leíró file alapján interpretert generálnak. Na most a leíró file az általában olyasmi, mint a DTD... Szerintem ha ezzel teszel egy-két kört a google-ban, nem vesztesz semmit...
http://www.gnu.org/software/flex/manual/html_mono/flex.html
Valami ilyesmire gondoltam, de ez még nem az igazi, mert ha jól láttam, ez Unix only... de legalább vágod majd, miről van szó.
|
|
|
"csak aztán belegondoltam abba, hogy a program akkor futás közben hogyan is fogja a posX parancs-ot behelyettesíteni position.x értékkel"
Egyetlen rekurzív függvényhívás elég, ami kezeli a szükséges műveleteket, és az ilyen előre megadott neveket, hogy "PosX" képes rendesen behelyettesíteni.
A képletes dologban meg megcxsinálhatod, hogy annyiszor szerepel, ahányszor kell. Ha a többszöröse kell, akkor egy olyan paramétert is bevezetsz, amivel összeszorzod, ha meg a hatványa, akkor meg a kitevőre. Ha annyire máshová is kell, akkor meg beépíted mindenhová, ahová az effektben kellhet, és egy paramétertől teszed függővé, hogy érvényesüljön e. Akár sok paramétered is lehet, ha nagyon zavaró, akkor később kioptimalizálhatod, vagy ha megvan a végleges formula, írhatsz fix kódot is rá.
If your game idea starts with the story it’s not a game idea.
Stories in games are optional.
|
|
|
Legújabb project:
Smashed Potatoes
Legutóbb frissített project:
Smashed Potatoes
Friss kép a galériából:
|