Olen tässä ajankuluessa onnistunut koodaamaan kätevähkön ohjelman sanojen kyselyyn. Ohjelma ei ole läheskään valmis, ja lisää ominaisuuksia on tarkoitus rakentaa.
Mutta nyt tuli mieleen että jonkinlainen käyttöliittyymä pitäisi saada aikaiseksi. Nykyään ohjelma tulostaa uusia ja uusia rivejä sanoja kysellessään. Tästä oli esimerkiksi on tarkoitus päästä eroon.
Käyttöön otan ilmeisesti ncursesin/pdcursesin. Vai onko muita suosituksia jotka toimisivat linux,mac ja windows systeemeissä.
Ongelma on että nykyisin jokainen funktio hoitaa tulostuksen muiden tehtävien ohessa. Miten tämä oikein pitäisi "keskittää". Sorsa vaatii perinpohjaista puukottamista.
Yksi yksinkertainen vaihtoehto on tehdä yksi funktio, joka hoitaa tulostuksen (kaikkine hienouksineen - minne osaan ruutua, muotoilu jne). Kaikissa ohjelman kohdissa, joissa tulostetaan jotrain, kutsutaan sitten tätä tulostusfunktiota.
Voisiko joku heittää linkin oppaaseen tai vaikka ohjelmaan jota voisi tutkia. En oikein löydä sopivaa. (Source forcea yrittäny kattella...).
Toinen asia on ncursen ja pdcurses erot, niistäkään ei tunnu löytyvän tietoa. Tässä pohtinut mahdollisuutta tehdä käyttöliittymä sdl:llä. Onko viisasta?
FrozenFire kirjoitti:
Toinen asia on ncursen ja pdcurses erot, niistäkään ei tunnu löytyvän tietoa. Tässä pohtinut mahdollisuutta tehdä käyttöliittymä sdl:llä. Onko viisasta?
Putkan NCurses-opas kirjoitti:
Järjestelmästäsi riippuen käytä järjestelmäsi käyttämää paketinhallintaa. Ncurses on vain UNIX-tyylisille järjestelmille. Windowsille on olemassa PDCurses, joka on Curses-klooni. Tämä opas pätee myös jotakuinkin PDCursesin kohdalla. Lähdekoodipaketin mukana tulee hyvin kattava ohjeistus asennuksesta, joten en puutu asiaan sen enempää.
SDL:llä saat helposti aikaan koodin, joka kääntyy jokaiselle käyttikselle. Samalla voit hyödyntää hiirtä ja muita graafisen käyttöliittymän ominaisuuksia. Tosin jos käyttöliittymä on pelkkää tekstiä, SDL on vähän turhan "raskas" järjestelmä.
FrozenFire kirjoitti:
Tässä pohtinut mahdollisuutta tehdä käyttöliittymä sdl:llä. Onko viisasta?
Ei. Käyttöliittymän saa aikaan paljon kätevämmin jollain tarkoitukseen suunnitellulla kirjastolla, kuten wxWidgets tai GTK.
No joo... Mutta onko noista mikä/mikään sitten sellainen että toimii linux/mac/windows alustoilla?
wxWidgets ja GTK toimivat molemmat lähes kaikilla kuviteltavissa olevilla alustoilla mukaan lukien jopa matkapuhelimet.
Itse käytän wxWidgets-kirjastoa.
FrozenFire kirjoitti:
Ongelma on että nykyisin jokainen funktio hoitaa tulostuksen muiden tehtävien ohessa. Miten tämä oikein pitäisi "keskittää".
Käyttöliittymä pitäisi erottaa ohjelmalogiikasta. Jos näiden kahden välinen rajapinta on onnistunut, voidaan käyttöliittymä myöhemmin korvata kokonaan toisella, ilman että niitä moduuleja, joissa ohjelmalogiikka on, joudutaan ollenkaan muuttamaan.
Tämä taas johtaa huolelliseen suunnitteluun, mutta sitähän ohjelmointi on.
:)
Itse olen tehnyt viime aikoina omaa graafista käyttöliittymää SDL:llä ja OpenGL:llä. Skreenshotti löytynee tuolta http://sponji.mine.nu/sogui/sogui11.png
Aihe on jo aika vanha, joten et voi enää vastata siihen.