Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: C++: Kuvia Dos ohjelmaan

Sivun loppuun

Tumpelo [15.12.2005 18:55:44]

#

Eli, pitäis saada muutama kuva dos ohjelmaan, mutta eipä tietenkään SDL:llä onnistu kun sdl:llä ei toimi mun aiempi koodi. Eli mitäs nyt, pitääkö tässä ruveta kaiken maailman neekerinkenkiä kahteleen..?

Meitsi [15.12.2005 19:55:16]

#

Riippuu vähän ohjelmasta. Windowsin konsolissako ajelet? Vaiko _ihan oikeasti_ dosissa? Voithan tehdä asmilla putpixel-funktion, tms. systeemin jolla pääset rämpläämään näyttömuistia. Jos kuvia haluat tiedostosta, niin putpixel ei ehkä ole kätevin, mutta johonkin yksinkertaiseen piirtelyyn luulisi sen olevan riittävän nopeahko.

EDIT: Paitsi jos oikein vanhalla koneella ajelet niin putpixel->roskis ja nopeammat systeemit tilalle.

Tumpelo [15.12.2005 20:12:56]

#

No toimia pitäis Dossilla ja komentorivillä. Ihan tiedostosta pitäis saada kuvia.. Pitää tutustua tuohon putpixeliin...

Baglair [15.12.2005 20:36:30]

#

Se ei olekaan ihan yksinkertainen juttu. Tämä viesti ei varmaan auttanut paljoa mutta nyt ainakin tiedät mihin olet lähdössä.

Tumpelo [15.12.2005 20:41:14]

#

Nojuu aluksi pitäs saada tuo hikinen allegro toimimaan.. Kopsasin jotakin tiedostoja dev-c++:n include kansioon mutta ei pelitä kunnolla...

Heikki [15.12.2005 21:17:56]

#

Eikös Dev-C++:n package managerista löydy Allegron devpack, joka hoitaa Allegron kuntoonlaittamisen? Näin ainakin muistelisin.

Tumpelo [15.12.2005 21:35:19]

#

Juu niin löyty, mutten saanut putpixeliä toimimaan... En jaksa nyt selostoo..

sqwiik [16.12.2005 21:16:51]

#

Tumpelo, mitä kääntäjäsysteemiä käytät tässä ohjelmassasi? Jos se on DJGPP (mikä kääntäjä siinä lienikään), niin yksinkertainen putpixel olisi tässä (textmode 13):

#include <go32.h>     // farpokeb, farpeekb
#define LEVEYS 320
// Itse keksitty tapa (C-kieli) pyssäyttää hetkeksi
#define Wait   {char d; printf("-press Enter-");scanf("%c", &d);}

#define putpixel(x, y, c) _farpokeb( _dos_ds, 0xA0000+(y)*LEVEYS+(x), (c))
#define getpixel(x, y)    _farpeekb( _dos_ds, 0xA0000+(y)*LEVEYS+(x))

int main(int argc, char ** args){
  textmode(0x13);
  putpixel(110, 50, 15); // pikseli kohdassa (110, 50) väriksi 15
  Wait // odota enterin painallusta
  textmode(0x03);
}

Kääntyy ainakin itselläni seuraavasti:
gcc testi.c -o testi.exe

Mikäli haluat tarkempaa grafiikkaa (esim. 640x400x256 tai true color), niin en osaa siinä kuitenkaan auttaa.


Sivun alkuun

Vastaus

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

Tietoa sivustosta