Miten voin piirtää ruudulle yksinkertaisesti yhden kuvapisteen? Jos on nopeampia/helpompia/muulla tavoin parempia tapoja kiitos kertokaa vaan.
Kieli on C
C:ssä ei ole piirtokomentoja, koska se on laitteistoriippumaton kieli.
Jos teet DOS-ohjelmaa, tutustu dos.h:n komentoihin intr ja int86, laita al-rekisteriin 0x13 ja kutsu keskeytystä 0x10. Tämän jälkeen olet 320x200-tilassa 256 värillä ja voit piirtää ruudulle kirjoittamalla muistiin osoitteesta 0xa0000 alkaen.
Edistyneemmillä alustoilla (Windowsissa, Linuxissa jne) on omia kirjastojaan, joilla on kuitenkin paha tapa toimia vain omalla alustallaan. SDL (Simple DirectMedia Layer) on varsin näppärä rajapinta, jolla saa hyvin monessa järjestelmässä aikaan ikkunan tai vastaavan, jolle voi piirrellä. Heikin SDL-opas sijaitsee Oppaat-osiossa.
Metabolix kirjoitti:
laita al-rekisteriin 0x13 ja kutsu keskeytystä 0x10
Metabolix kirjoitti:
kirjoittamalla muistiin osoitteesta 0xa0000
Öö sori en ymmärrä. Olen C noviisi.
Tuolla Metabolix tarkoitti VGA-näyttötilaa http://fi.wikipedia.org/wiki/VGA
Tuo toki on vain yksi mahdollisuus. Sen avulla voit lähinnä tehdä yksinkertaisia asioita kuten piirtää erivärisiä viivoja näyttöpintaan. Kuten Metabolix sanoikin kannattaa aloittaa vaikkapa tästä
https://www.ohjelmointiputka.net/oppaat/opas.
Tietysti täytyy olla C:n perusteet hallussa jotenkuten.
https://www.ohjelmointiputka.net/oppaat/opas.
Baglair kirjoitti:
Tietysti täytyy olla C:n perusteet hallussa jotenkuten.
Rekisterit ja keskeytykset eivät ole ainakaan C-kielen perusteita. Ei siis kannata tuskastua.
Asensin SDL:n... Ei löydä SDL.dll:ää :(
Tuikkaa sdl.dll ohjelmasi kansioon niin toimii. Jos haluaa pysyvän ratkaisun niin system32 kansioon (ainakin xp:ssä kait).
Missä hakemistossa SDL.dll on?
Start > Search > For files and folders...
Eikös SDL:stä pitänyt hakea devel ja runtime versiot, devel-versiossa tulee headrit ja lib-tiedostot ja runtimessä tule tuo yksi DLL:llä.
No eikä ole, hyvin toimii.
Kyllä se omakin SDL.dll kelpaa, varmaankin olet Dev-C++:n käyttäjä ja asentanut DevPakin.
Sori.
Äsken ei toiminu, nyt toimii.
Joo olen Dev-C++ käyttäjä, mutta omistan silti Visual C++:an. Muuten missä Visual C++ kertoo käännöksenaikaisen virheen sijainnista? Minulla se vain sanoo tylysti löytäneensä niin ja niin monta virhettä ja varoitusta.
EDIT: Typoja korjailtu
Kyllä VC++:ssa lukee hyvin selkeästi käännösvirhelaatikossa ne, en tiedä, mitä olet tehnyt, jos et sitä löydä.
Siis tarkoitatko polkuja joita on yhtä paljon kuin virheitä?
No eikös niistä jokaisessa ole tiedoston nimi, rivinumero ja lopussa se virheilmoitus?
Ja kommenttina tuonne toiseen viestiisi ("Öö sori en ymmärrä"): jos olisit aloittanut ohjeen ensimmäisestä vaiheesta eli etsinyt DOS-kääntäjän ja katsonut sen ohjeista nuo kaksi funktiota, niin olisitpa saattanut ymmärtääkin edes jotain. Ohjeissa kuuluu edetä ensin niin pitkälle kuin suinkin ja vasta sitten kysyä, kun oikeasti on ongelmakohdassa asti.
Kiitos vinkeistä.
Aihe on jo aika vanha, joten et voi enää vastata siihen.