Zobrazit předchozí téma :: Zobrazit následující téma |
Autor |
Zpráva |
babca
Založen: 07. 04. 2008 Příspěvky: 5
|
Zaslal: 25. listopad 2008, 14:13:56 Předmět: |
|
|
tak jinak. Lze nejak jednoduse udelat scritovaci jazyk? Vize: Mam program a chci aby, dejme tomu, kdyz mu zadam nejaky text (treba podobny c) a on vykona co je tam napsany... Nebo jinak, jak imlementovat py scripty do c/c++? Jinak pokud bude moznost, mile rad si to zapisu... |
|
Návrat nahoru |
|
|
Tutchek
Založen: 28. 07. 2007 Příspěvky: 140 Bydliště: Praha -Pankrác
|
Zaslal: 25. listopad 2008, 15:25:57 Předmět: |
|
|
pokud uzijes existujici jazyk, zpravidla dostanes nejake api - napr prilinkujes k tvemu programu nejakou hlavicku, ktera bude mit funkce "interpretuj", ktera dostane na vstupu program a neco udela a ty ji treba reknes "kdyz uzivatel zavola v programu kresli() tak zavolej tuhle danou funkci"
jina vec je, pokud si budes interpreter psat sam.. to je zajimavejsi, ale nemusi to byt to proc chces zdrzet vyvoj hry o dalsi cas... pak doporucuji podivat se na nastroje jako bison... pripadne nejaky "uplnedebilni" parser, ktery nejaky napevno zadratovany jazyk treba precte, nahraje do pameti jako nejakou posloupnost prikazu, kterou pak jen postupne vyhodnotis...
moznosti je plno _________________ Nemarni čas u kompu, pojď si zaběhat do lesa
function god_exists() { return false; } |
|
Návrat nahoru |
|
|
MD
Založen: 29. 07. 2007 Příspěvky: 437 Bydliště: Praha
|
Zaslal: 25. listopad 2008, 15:34:21 Předmět: |
|
|
Ano skriptovaci jazyk jde udelat jednoduse. Ale tak nejak na ukor toho, co umi a na ukor prehlednosti.
Napriklad tohle jsem pouzil pro skriptovani me adventury:
kód: |
'Ý006Ý014Ý000',
'üip0001c000d001Čp000=c000t000ţ',
'Kamen üÝ000a1t001a2t001a3t001a5t002p0001c001ţ',
'Prohluben üÝ000ip0001c001a2ip0002c000t003p0002c001Čt004p0002c000a3ip0002',
'c000t003p0002c001Čt004p0002c000a8Ý255ip0002c000t003p0002c001Čt004p0002c000ţ',
'Svetlusky üÝ000ip0002c001a1t005a5t006ţ',
'Krapnik üÝ000ip000=c192a2p0003c001t007a3p0003c001t007a5t008ţ',
'Zapadni sraz üÝ000ip0002c001a0ip0003c001t009p000=c000p001=c002m002Čt010',
'p000=c000p001=c002m003a5t011ţ',
'Severni sraz üÝ000ip0002c001a0t012p000=c000p001=c002m002a5t013ţ',
'Ý007Zhmotnil ses v tmave jeskyni. Prestoze nic nevidis, prozradim ti, ze ses',
' na uzke skalni rimse, nad kraterem velmi aktivni sopky, ktera je 3000 m pod ',
'hladinou neznameho oceanu.ţ',
'Ý007Kamen je moc tezky.ţ',
... |
Prikazy jsou jednopismenne, treba t znamena vypis text, i je if, p je odkaz na promennou. Jednopismenne prikazy zjednodusuji parsovani.
V jazyku nejsou komentare, mezery a podobne blbosti - spis je to takovy strojovy kod
Jazyk nepracuje se jmeny promennych, promenne pouze cisluje.
Tak asi vidis jake jsou vyhody a nevyhody. Udelat pro tohle interpret je opravdu jednoduche, asi bys na to sam prisel a zvladl bys to na 2 stranky.
Nevyhoda je samozrejme bidna citelnost a srozumitelnost jazyka.
Presto je mnohem lepsi pouzit i takovyto sileny jazyk, nez dej adventury promixovat s kodem enginu - tedy napsat to natvrdo. _________________ - play with objects - www.krkal.org - |
|
Návrat nahoru |
|
|
Marek
Založen: 28. 07. 2007 Příspěvky: 1782 Bydliště: Velká Morava
|
Zaslal: 25. listopad 2008, 17:12:33 Předmět: |
|
|
Přijde mi (a už jsem to tady jednou psal), že dělat skriptovací jazyk pro tým s jedním člověkem je ztráta času. Na pluginy se mi zdá vhodnější použít to DLL a nějaký společný interface pro komunikaci mezi jádrem a pluginem. Lepší systémy na pluginy dokonce umožňují komunikaci mezi samostatnými pluginy a podporují i multicast a broadcast. Je jen na tvůrci daného systému, jak moc obecně to chce dělat. Jestli se použije nativní kód nebo interpretovaný, už nemá s pluginama moc společného. _________________ AMD Open Source Graphics Driver Developer |
|
Návrat nahoru |
|
|
babca
Založen: 07. 04. 2008 Příspěvky: 5
|
Zaslal: 26. listopad 2008, 11:36:16 Předmět: |
|
|
Tutchek: Dekuji za rady. Jinak k tomu pozdrzeni, samozrejme je to prace navic, ale pokud to udelam jednou a aspon poradne, budu mit jiz klid
MD: Velice hezke, ale vazne docela necitelne, ikdyz by to mozna slo vyresit pres prostrednika (cisty text -> "zkopilovat" -> nejaky takovito script. BTW: To s tim mixovanim je prave duvod, proc bych si chtel neco takoveho vytvorit .
Eosie: Pres dll jsem to do ted resil, ale vadi mi, ze po kazde uprave kodu se musi znova prekompilovat, toto by asi resilo, kdyby kod byl interpretovany (pokud chapu spravne [plain text -> prolezi se do bajtoveho kodu -> vola se jadrem], tak me prave zajima ta cast, jak prekladat do bajtoveho kodu).
Velice dekuji vsem za vase redy. |
|
Návrat nahoru |
|
|
Quiark
Založen: 29. 07. 2007 Příspěvky: 816 Bydliště: Chlívek 401
|
Zaslal: 26. listopad 2008, 12:11:42 Předmět: |
|
|
Pokud nejsi zrovna nadšenec do jazyků, překladačů a spol a důležitější pro tebe je hotová hra než skriptovací jazyk, tak asi bude nejlepší použít něco existujícího (Lua, Python). _________________ Mám strach |
|
Návrat nahoru |
|
|
babca
Založen: 07. 04. 2008 Příspěvky: 5
|
Zaslal: 26. listopad 2008, 12:27:49 Předmět: |
|
|
No prave ze bohuzel jsem fanatik . Nejde mi ted ani tak primo o to dobastlit nejakou hru (je jich uz markay), jako se spis naucit naco novyho, dokonalejsiho |
|
Návrat nahoru |
|
|
Yossarian
Založen: 28. 07. 2007 Příspěvky: 274 Bydliště: Šalingrad
|
|
Návrat nahoru |
|
|
babca
Založen: 07. 04. 2008 Příspěvky: 5
|
Zaslal: 26. listopad 2008, 13:31:23 Předmět: |
|
|
Dekuji, to je presne to, co jsem hledal . Treba nic neudelam, ale urcite se chci o to pokusit |
|
Návrat nahoru |
|
|
|