voisiko joku neuvoa miten saan tehtyä c:llä kokonäytön vievän ohjelman jossa olisi samanlaista pixeli grafaa kuin esim. lierossa tai minebombersissa?
Tarvitset ensinnäkin DOS-ohjelmia tekevän kääntäjän, DJGPP voisi olla ihan hyvä valinta. Lisäksi tarvitset kirjaston grafiikan piirtämistä varten. Esimerkiksi Allegro-kirjasto sisältää funktiot grafiikan piirtämiseen ja moneen muuhun peliohjelmoinnissa tarvittavaan asiaan. Muistaakseni Suomipelit.comissa oli asiaa käsitteleviä oppaita, mutta sivusto ei tunnu toimivan tällä hetkellä.
pixeli grafa = graffaa pienellä resoluutiolla esim vga. 640x480 (en ny muista oliks toi reso oikein)
millä koodin pätkällä onnistuisi saada aikaan näytölle selvästi näkyvä neliö jota pystyisi liikuttamaan nuolinäppiksillä?
Mitä kirjastoa nyt siis käytät? Allegroa?
Älä hyvä ihminen tee enää DOS ohjelmia. DOS on kuollut jo kauan sitten. Nykyään grafiikkaa tehdään käyttäen hyväksi nykyaikaisia näytönohjaimia jonkin rajapinnan kautta kuten OpenGL tai Direct3D (ennen oli myös Glide ja DirectDraw, mutta ne alkavat olla kuolleita. varsinkin Glide).
Jos et halua rajapintoihin koskea paras vetosi on SDL http://www.libsdl.org (tai ehkä allegrokin). Etsi googlella tutoriaaleja.
Markus: DirectDraw on DirectX:n osa, kuten myös Direct3D.
Meitsi kirjoitti:
pixeli grafa = graffaa pienellä resoluutiolla esim vga. 640x480 (en ny muista oliks toi reso oikein)
Et muista? :o totta kai se oikein.
juu offtopic...
Deewiant kirjoitti:
Markus: DirectDraw on DirectX:n osa, kuten myös Direct3D.
Tiedän. Mitään muuta yhteistä niillä ei sitten keskenään olekkaan, kuten ei muillakaan DirectX-rapapintapaketin osilla.
DirectDraw:tä ei olekkaan päivitetty aikoihin, toisin kuin Direct3D:tä.
Eikös perinteinen DOS-grafiikka ole 320x200?
No kuitenkin, eiköhän ole aika siirtyä DirectX:n ja OpenGL:n pariin? OpenGL on siinä mielessä parempi, että se toimii muillakin kuin Windowsilla, mutta DirectX ei ole myöskään huono valinta.
Osaako joku kertoa, miten tarkalleen toimivat nuo monista peleistä löytyvät Software Rendering -vaihtoehdot? Onko kaikki tehty uudestaan vai käyttävätkö ne OpenGL:ää Software-tilassa?
Miksi sen pitäisi muka olla DOS-ohjelma?
Saahan Windowsillekin (uskoisin että Linuksillekin) kokonäytön ja matalan reson ohjelmia tehtyä.
"Pikselipelejä" on nykyään parempi tehdä vähintään 640x480 resolla, mutta käyttää vain skaalattuja kuvia. Silloin lopputulos on graffan osalta sama, mutta muuten parempi. (esim sulavampi liikkuminen, koska "yksi pikseli" on kahden< pikselin kokoinen.)
Ja laitteisto, lähinnä näyttö, ei nykyään tykkää liian pienestä resosta.
Allegroa kannatan.
WinAPI sisältää ChangeDisplaySettings-funktion, jolla saa reson juuri mihin tahansa laitteiston tukemaan tilaan. Sitten voi käyttää Windows-ikkunaa, josta on karsittu reunukset pois, ja lopputulos on graafisesti sama kuin DOSissa.
Itse teen DirectX:ää käyttäen peliä, joka toimii ikkunassa ja jonka resoluutio on 320x240, ikkunan kokoon skaalautuen.
Aloittelijalle suosittelen ehdottomasti SDL:ää. Sillä tehdyn koodin voi portata useille käyttöjärjestelmille, voi tehdä sovelluksia sekä ikkunaan että kokoruututilaan ja käyttö on todella helppoa.
Putkasta löytyy SDL:n asennusohje, ja perusopaskin on tulossa joskus (oollut tulossa jo monta kuukautta).
hei venatkaas vähän... nimittäin mulla sattuu olemaan 12/97 vuosmallia oleva kone (jolla coodaan), eli haluaisin tehdä siihen toimivia ohjelmia + pelejä, en mitään hewy 3d massapelejä, vaan sellaisia mitkä toimii moiteettomasti, mielellään vielä nopeasti 233Mhz MMX prossulla! Eli Allegro +c ja dos-pelejä kannattaa kehittää tähän masiinaan?
SDL voisi olla myös varteenotettava vaihtoehto tuollaiselle koneelle. Saa niillä rajapinnoillakin muutakin aikaan kuin 3D:tä.
Aihe on jo aika vanha, joten et voi enää vastata siihen.