Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: C++: Totaa

Sivun loppuun

maalari [15.06.2004 12:04:30]

#

Joo ensiks pyydän anteeksi kaikkia törkeyksiäni. ja sitten asiaan miten tehtäis ohjelma joka ensin lataa yhdestä tiedostosta kentän ja toisesta tiedostosta hahmon ja kolmannesta kerättävät tavarat.

firebug [15.06.2004 12:31:28]

#

Otsikoksi olisit voinut keksiä vähän kuvaavamman. Ja tuohon kysymykseesi on hankala vastata; normaalilla file I/O:lla voit lukea tiedostoja, mutta koska et sanonut mitä tiedostomuotoja käytät, on vaikea vastata.

hunajavohveli [15.06.2004 13:31:26]

#

Eli toisin sanoen, binaari, vai ASCII, vai mikä?

Heikki [15.06.2004 16:00:23]

#

Lisäksi mikähän on kieli?

Kun kysymys on tällä alueella, se voi olla joko C:tä, C++:aa tai Delphiä.

C/C++:alla tämä onnistuu esim. fstream.h kirjaston avulla.

maalari [15.06.2004 18:07:11]

#

Siis oon anim8or ohjelmalla tehnyt kentän hahmon ja kerättävät asiat ja käytän kielenä on delphi.

Gwaur [15.06.2004 18:15:55]

#

Kantsii exporttaa objektit vaikka 3d studio maxin käyttämään muotoon (kuten .3ds) sillä varvempi ohjelmointikieli tai -ympäristö tukee anim8orin omaa formaattia :)
Eli objektimuokkaimesta muistaakseni object-valikosta export.

Metabolix [16.06.2004 01:45:29]

#

Hmm...
Vilkaisepa vaikkapa tätä ja kerro oletko vähän samoilla jäljillä...

Minäkin olisin halunnut aloittaa ohjelmoimalla Quake III:n ja Morrowindin...

1. Jos olisit oikeasti sillä tasolla, että osaisit käyttää ohjelmissasi 3D-malleja, et taitaisi olla kysymässä, miten ne avataan ohjelmaan. (Vilkaisin aiempia kysymyksiäsi ja topiccejasi, ne vahvistavat asian.)

2. Delphin tuki 3D:lle on toistaiseksi melko niukka; DelphiX DirectX:lle ja jokin OpenGL-kirjasto varmaankin.

3. Delphi ei ole kieli, se on ohjelmointiympäristö Pascalille.

4. Voin kokemuksesta kertoa, että isomman pelin tekemiseen Delphi ei ole kaikkein paras valinta. Hyötyohjelmia sillä sen sijaan saa paremmin tehtyä.

Dual [16.06.2004 14:13:08]

#

Metabolix kirjoitti:

3. Delphi ei ole kieli, se on ohjelmointiympäristö Pascalille.

Object Pascalille. Nillitystä;)

Metabolix [16.06.2004 15:29:33]

#

[offtopic]
Mutta onhan se Object Pascalkin yksi Pascal...
[/offtopic]

maalari [16.06.2004 15:40:27]

#

No oikeestaa en teen vain peliä jossa hahmo kerää asioita eri ympäristöissä. Ja sitä paitsi satun tietämään ettein delphi ole kieli vaan bordlandin tekemä ohjelma, jolla voidaan ohjelmoida object pascal kieltä. Niin ja mä muuten tiedän myös että ohjelmia ei voi tehdä ilman kääntäjää.

Janezki [16.06.2004 15:51:11]

#

lainaus:

4. Voin kokemuksesta kertoa, että isomman pelin tekemiseen Delphi ei ole kaikkein paras valinta. Hyötyohjelmia sillä sen sijaan saa paremmin tehtyä.

No kyllä noinkin voi sanoa mutta Delphilläkin on aivan samat lähtökohdat ohjelmaohjelmointiin kuin muillakin ohjelmilla. Sen Drag'n'Drop ympäristö on vain tarkoitettu hyötyohjelmille mutta sitähän ei ole pakko käyttää.

Maalari: Sinulla kuulostaa olevan ongelmaohjelmoijan ongelmaohjelman ohjelmointiongelma.

Metabolix [16.06.2004 21:00:45]

#

[offtopic]

Janezki kirjoitti:

No kyllä noinkin voi sanoa mutta Delphilläkin on aivan samat lähtökohdat ohjelmaohjelmointiin kuin muillakin ohjelmilla. Sen Drag'n'Drop ympäristö on vain tarkoitettu hyötyohjelmille mutta sitähän ei ole pakko käyttää.

Delphistä ei suoraan löydy mahdollisuutta hylätä tuo ihana Drag'n'Drop-ympäristö; täytyy melkein valita Console Application ja tietää täsmälleen, mitä tekee jotta saa luotua ikkunan ja WndProcin niinkuin normaalissa C++-ohjelmassa. Tässä vaiheessa ollaankin jo aika kaukana Delphin eduista Dev-Pascaliin ja Free Pascaliin verrattuna.

[/offtopic]

PS. Mukava keskustelunaihe, tehdäänkös uusi topicci ihan tätä varten?

Ja Maalarille:
En millään pahalla tuota tarkoittanut, vaan ihan siltä kannalta, että 3D-ohjelmointi tosiaan on vaikeaa, kannattaa siis aloittaa helpommasta.

Janezki [17.06.2004 14:36:41]

#

Metabolix kirjoitti:

Mukava keskustelunaihe, tehdäänkös uusi topicci ihan tätä varten?

Ei taida kannattaa kun kysessä on paljolti mielipiteellinen asia. Onhan näitä mielenkiintoista pohdiskella niin kauan kun keskustelu ei muutu 'nyrkkitappeluksi'.
Mutta faktana vielä että teen itse pelejä Delphillä eikä mitään valittamista.

Antti Laaksonen [17.06.2004 14:53:09]

#

Kannattaa tosiaan käyttää sitä ohjelmointikieltä, josta itse tykkää ja jolla saa parasta jälkeä aikaan.

Metabolix [17.06.2004 15:32:40]

#

Janezki kirjoitti:

Mutta faktana vielä että teen itse pelejä Delphillä eikä mitään valittamista.

Mutta et taida käyttää Drag'n'Droppia? Sehän on se, joka varsinaisesti erottaa Delphin noista muista... Käytän minäkin Delphiä Console-systeemeissä (esim. tuo ristinolla-kilpailu), mutta en sanoisi tekeväni niitä Delphillä, koska sama koodi kääntyisi kuitenkin muillakin Pascal-kääntäjillä...

Janezki [17.06.2004 15:44:06]

#

Käytän yleensä lomaketta tai TpaintBoxia piirtopohjana enkä mitään muita komponentteja.

Metabolix [17.06.2004 18:01:32]

#

Kiinnostaisi tietää, millaisia pelejä ja mitä käytät timerina?
Taidanpa laittaa oman ThdTimerini tuonne Koodivinkkeihin

Janezki [17.06.2004 18:28:12]

#

En ole tähän mennessä tehnyt pelejä missä olisi tarvinnut hirveästi Timeria. Tuohon palikkapelikilpailuun osallistuin Shangai-nimisellä pelillä. Nyt olen tekemässä riekonmetsästyspeliä ja kuten kaikki muutkin täällä; roolipeliä, tai oikeastaan moottoria ja myöhemmin peli. Aika paljon pitänyt perehtyä canvasiin ja kuvankäsittelyyn.
Tuo Timerin käyttö on vähän hankala juttu ainakin Delphissä.

hunajavohveli [17.06.2004 18:59:58]

#

Itse olen tullut ainakin Visual Basicissa siihen tulokseen, etten juuri tarvitse Timereita. Saan ne aina korvattua helposti tavallisella luupilla, jonka sisälle vain pistetään DoEvents sopivaan väliin. En vain tiedä, miten tuo DoEvents tehtäisiin Pascalilla.
Edit: Oikeastaan Timerin käytöstä tuppaa koitumaan vain harmia. Mitään tarkistuksia niihin esimerkiksi ei pidä laittaa.

Metabolix [17.06.2004 19:09:57]

#

Tämähän "kuuluu" toteuttaa GetTickCount()-funktiolla, ja yhdellä LongWordilla, jolloin nähdään kauanko on aikaa kulunut ja jos on kulunut yhden framen verran, käydään kaikki tekoälyt ja muut läpi... Tein juuri oman tetris-kloonin (vei ~3h) ja nyt ymmärrän peliohjelmointia paljon syvällisemmin :D (Oli tosin C++, mutta osaisin Pascalillakin.)
Jotain tällaista voin muuten maalarillekin suositella...

Janezki [17.06.2004 20:46:59]

#

Minkä arvon tuo GetTickCount() palauttaa? Sekunnit keskiyön jälkeen vai...?

peki [17.06.2004 21:06:09]

#

Se palauttaa millisekunnit tietokoneen viimekäynnistymisestä.
Ediit: Äh se olikin milli ei mikro

zacura [21.06.2004 18:50:28]

#

hunajavohveli kirjoitti:

En vain tiedä, miten tuo DoEvents tehtäisiin Pascalilla.

Application.ProcessMessages hoitaa homman.


Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta