Moi!
Aion tehdä pelin, joka toimii pelkällä tekstillä. Grafiikkaa ei ole. Olen nähnyt sellaisia. Niissä on musta pohja ja teksti valkoista. Ohjaus toimii ehkä pelkästään näppäimillä. Eli niissä on aina vaihtoehtoja, joka valitaan...
Millä kielellä/ohjelmalla tälläisiä simppeleitä pelejä saa aikaan?(jos saa)
ZuBer kirjoitti:
Millä kielellä/ohjelmalla tälläisiä simppeleitä pelejä saa aikaan?(jos saa)
Millä tahansa / useammalla kuin graafisia.
VB6 on ehkä tällä palstalla usein puheena olevista kielistä ainoa, jolla ei ole suorastaan helppoa tehdä komentoriviohjelmia. Mutta sillähän ei kukaan täysjärkinen aloita muutenkaan uutta projektia ja esim. VB.Netilläkin komentoriviohjelmat onnistuu vaivatta.
C tai C++ kun siinä on goto
millä on helppo tehdä tekstiseikkailu.
Python voisi olla yksi hyvä valinta. Sillä voi koodata tekstiseikkailun tähän tapaan:
print "Mitä haluat tehdä seuraavaksi?" print "1. Mene kouluun" print "2. Mene kauppaan" print "3. Mene puistoon" valinta = raw_input("Anna valinta: ") if valinta == "1": print "Tulit myöhässä ja sait jälki-istuntoa." if valinta == "2": print "Ostit kaupasta suklaapatukan." if valinta == "3": print "Löysit maasta lompakon, jossa on rahaa."
Ohjelmointiputkan Python-opas kertoo lisää:
https://www.ohjelmointiputka.net/oppaat/opas.
Voiko Pythonilla luoda sovelluksia, jotka toimivat kaikissa normaaleissa koneissa ilman lisäasennuksia? Esim. VB:llä luotu ohjelma tarvitsi jonkun ladattavan jutun toimiakseen...
Tosin ihan samalla tavalla siinä tulee sen .exe:n lisäksi tiedostoja jotka tarvii jakaa sen exen mukana.
VB.Netillä tehty ohjelma ei vaadi välttämättä muuta kuin .Net -frameworkin joka on vakiona jokaisessa nykyisessä Windowissa (ainakin jos käytät vanhempia versioita), eli jos ei käytä erikoisempia kirjastoja, niin yleensä riittää ihan pelkän .exe:n levittäminen.
Lasketaanko liinuksit ja mäkit normaaleiksi koneiksi?
Suosittelen HTML-sivua ja JavaScriptia. Tekstilaatikon voi tyylitellä näyttämään komentorivi-ikkunalta, eikä numeronäppäinten lukeminen ole kovin hankalaa. Toisaalta pienemmällä vaivalla voi tehdä klikattavat napit tai radiovalinnan vaihtoehtojen eteen.
Suurin syy kielivalinnalle on helppo levitys.
jlaire kirjoitti:
Lasketaanko liinuksit ja mäkit normaaleiksi koneiksi?
No oletin että tarkoitettin Windowsia jos kerran VB toimi muuten mutta "tarvitsi jonkun ladattavan jutun"
Tee php:lla tekstiseikkailu. Webipohjaisena (html-sivuna) sen pitäisi toimia kaikilla laitteilla, jopa mobiilisti.
ZuBer kirjoitti:
Voiko Pythonilla luoda sovelluksia, jotka toimivat kaikissa normaaleissa koneissa ilman lisäasennuksia? Esim. VB:llä luotu ohjelma tarvitsi jonkun ladattavan jutun toimiakseen...
Python pyörähtää suorilta, mut VB tarvis jotain ihme säätöä. Terveisin: linuxisti.
Mietin vaan, että ZuBer ei välttämättä tiennyt VB:n rajoituksista. Jos haluaa jakaa omia ohjelmia omppulaitteita käyttäville kavereillekin, se pitää ottaa huomioon jo kieltä valittaessa.
JavaScript voisi olla ihan hyvä valinta. Sanoisin että sen kanssa alkuun pääseminen on hankalampaa kuin Pythonin, koska HTML-sivu on huomattavasti monimutkaisempi kuin stdin/stdout, mutta toisaalta HTML:n ja CSS:n perusteet oppii kyllä muutamassa päivässä. JavaScriptiä voisi harjoitella aluksi vaikka selaimen konsolissa irrallaan DOM:sta; textarea herää sitten eloon parilla jQuery-loitsulla.
JavaScript vaatisi kyllä kohtalaisesti oma-aloitteisuutta. Tietoa joutunee yhdistämään muutamasta eri oppaasta/speksistä, ellei jostain löydy hyvää opasta joka lähtee tyhjästä ja keskittyy JavaScriptiin. Yleensähän tarkoituksena on lisätä toiminnallisuutta HTML-sivuille, eikä HTML-sivua käyttöliittymäksi JavaScriptille.
HTML pääosin hallussa ennestään. En lähde sillä tekemään. PHP:ssa taas se ongelma, että sen joutuu ladata nettiin, ja sieltä sitä pelataan.
Mielelläni tekisin exe:n. On kyllä jo sen verran kokemusta ohjelmoinnista, että Python lähtee suht nopeasti kulkemaan. Epäilen kyllä vähän, millaista ulkoasua sillä saa aikaan. Olisiko jollain kuvaa ym. pythonilla tehdystä ohjelmasta/pelistä?
//Tulostaako python aina peräkkäin nuo tekstit ym. kuten oppaissa (en ole vielä ladannut ohjelmointiympäristöä) vai voiko sen tehdä niin, että siinä näkyy aina kerralla vain yksi teksti? Meinaan sitä, että esim labyrintti ei piirry näin:
# # # # # # # @ # # # # # # # # # # # # # # # # Suunta (y/a/v/o): a # # # # # # # # # # @ # # # # # # # # # # # # # Suunta (y/a/v/o): o # # # # # # # # # # @ # # # # # # # # # # # # # Suunta (y/a/v/o): o # # # # # # # # # # @ # # # # # # # # # # # # # Suunta (y/a/v/o): o # # # # # # # # # # @ # # # # # # # # # # # # # Suunta (y/a/v/o): y # # # # # # # # # @ # # # # # # # # # # # # # # Suunta (y/a/v/o): o # # # # # # # # # @ # # # # # # # # # # # # # # Pääsit maaliin!
Vaan yksi ruutu kerrallaan...
///Oho, meni vähän rusinaksi tuo "labyrintti"...
Mod. edit: pannaan labyrintti kooditageihin, niin näkyy niinku tarkotettiin.
Suosittelisin VB.NET:tiä. Itse teen sillä konsolissa toimivaa merkkigrafiikkapeliä. Siinä kyllä pitää olla mukana .NET Framework.
ZuBer kirjoitti:
PHP:ssa taas se ongelma, että sen joutuu ladata nettiin, ja sieltä sitä pelataan.
PHP:ta voi ihan samalla tavalla ajaa komentorivillä kuin muitakin skriptikieliä.
ZuBer kirjoitti:
Tulostaako python aina peräkkäin nuo tekstit ym. kuten oppaissa
Komentokehotteen tyhjentäminen pitäisi onnistua kutsumalla käyttiksen CLS-komentoa.
os.system('cls')
Voit myös kokeilla tulostaa 100 riviä rivinvaihtoa ruudun tyhjentämiseksi. ;-) Parempi ratkaisu luolaseikkailun tekemiseksi olisi tietenkin käyttää jotain curses-tyylistä kirjastoa apuna.
kinnala kirjoitti:
Komentokehotteen tyhjentäminen pitäisi onnistua kutsumalla käyttiksen CLS-komentoa.
blaze@nanoha ~ $ python Python 2.7.1 (r271:86832, Mar 27 2011, 19:13:26) [GCC 4.4.5] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> import os >>> os.system('cls') sh: cls: command not found
Tai sitten ei.
kinnala kirjoitti:
Parempi ratkaisu luolaseikkailun tekemiseksi olisi tietenkin käyttää jotain curses-tyylistä kirjastoa apuna.
Tarkoitit paremmalla varmaan "ainoa oikea".
Suoritetaanko Python siis komentorivillä?
Yritän nyt tehdä jotain tämän(en ole testannut, mutta näyttää samalta mitä ajan takaa) tapaista ja ei tämäkään hirveästi suunnitelmistani poikkea. Toisaalta ei tämäkään niin pahalta näytä... Noita en ole siis testannut, mutta kuvien perusteella näyttää siltä, että jotakin tuollaista ajan takaa...
// http://www.jonneweb.net/pelit/file/421/areena-5/
Blaze kirjoitti:
Tai sitten ei.
os.system(['clear','cls'][os.name == 'nt'])
@ZuBer
Areena 5 ei kyllä enää merkkigrafiikka-kategoriaan mene. Kannattaa tosiaan tutustua esim. tähän tai johonkin muuhun curses-implementaatioon, ottaen tietenkin huomioon tuettavat käyttöjärjestelmät. ;-)
Toimiiko VB.NET:issä jokin tietokanta, tekstitiedostosta luku yms... Eli saako pelin tallennuksen rakennettua?
Myös tuo Antti Laaksosen tekemä RavintolaBisnes on aika lailla sen tapainen mitä olen tekemässä. Sekin on siis bisnespeli, eikä siinä tarvitse olla "liikkuvia osia" siis esim. jotain ukkeleita yms...
ZuBer kirjoitti:
Toimiiko VB.NET:issä jokin tietokanta
Toimii, kaikki tietokannat mitä nyt äkkiseltään tulee mieleen
ZuBer kirjoitti:
tekstitiedostosta luku yms...
Toimii.
ZuBer kirjoitti:
Eli saako pelin tallennuksen rakennettua?
Saa, noilla ja monilla muillakin tavoilla.
Kiitoksia. Nyt vain pitäisi ruveta opettelemaan kieltä. Kertokaas nyt viisaat ihmiset, mistä aloitan. Olisiko jotakin suomenkielistä materiaalia? Visual Basicilla olen joskus koodannut. Toinen juttu, mitä tarvitsen koodaamiseen ja ohjelman kääntämiseen exe:ksi?
Jos nyt puhuit VB.Netistä ja aiot Windowsilla ohjelmoida, niin tuossa on kaikki mitä tarvitset koodaamiseen ja ohjelman kääntämiseen exeksi:
http://www.microsoft.com/visualstudio/en-us/products/2010-editions/visual-basic-express
Tuolla olen koodannut aiemminkin. Mitä eroa on siis VB.Netillä ja tuolla Visual Basic expressillä vai onko mitään?
Toki Micosoftin Visual Basic 2010:stä on muitakin versioita kuin ilmainen Express edition, mutta kaikilla koodataa nimenomaan VB.Netiä. Eli voisi sanoa, että ei ole mitään eroa.
Päteekö siis Visual Basic-oppaat VB.nettiin?
Ohjelmointiputkan VB-oppaat eivät sovellu VB.NETin opiskeluun, koska ne käsittelevät vanhempaa VB6-versiota.
Saanko sitten tehtyä tälläisen pelin VB kutosella?
Grez kirjoitti:
VB6 on ehkä tällä palstalla usein puheena olevista kielistä ainoa, jolla ei ole suorastaan helppoa tehdä komentoriviohjelmia. Mutta sillähän ei kukaan täysjärkinen aloita muutenkaan uutta projektia ja esim. VB.Netilläkin komentoriviohjelmat onnistuu vaivatta.
Mielestäni ei ole mitään järkeä alkaa opiskelemaan VB6:tta. Opiskele ennemmin vaikka Java. Sillä voit tehdä tuollaisen pelin ja jos tuntuu että haluat siirtyä .Net -maailmaan niin C# on hyvin lähellä Javaa. Ja voihan siitä sitten siirtyä VB.Netiinkin jos jostain käsittämättömästä syystä haluaa.
Java-opasta täältä ei näytä löytyvän, mutta Javalalla pääsee varmastikin hyvin alkuun.
Menee pää sekaisin, kun kohta kaikkia kieliä on ehdotettu. Ilmaisella haluan päästä, ja ilman hirveän suurta opiskelua. Käyttäjäsivullani lukee kielet, joita olen käyttänyt. Peli tulee siis olemaan TODELLA lähellä RavintolaBisnestä.
Antti: Millä RavintolaBisnes on tehty?
RavintolaBisnes on tehty QBasicilla. Jos haluat tehdä sen kaltaisen pelin, niin QBasic lienee hyvä valinta.
ZuBer kirjoitti:
Menee pää sekaisin, kun kohta kaikkia kieliä on ehdotettu.
Sitten kannattaa selittää sille päälle, että käytettävällä kielellä ei ole asian kannalta juuri mitään väliä: mikä tahansa käy, jos vain osaat käyttää. (Jos taas et osaa, siinä ei paljon kielivalinta auta.)
QBasic on nykyään hankala valinta, koska DOS-ohjelmat eivät toimi kunnolla edes uusimmissa Windowseissa. Sitä paitsi QB-kääntäjä on maksullinen. FreeBASIC on käytännössä yhteensopiva, nykyaikaisempi ja lisäksi oikeasti ilmainen.
Tai QB64 (vai oliko se maksullinen, sivuista saa nopeasti käsityksen että olisi ilmainen). Nopeasti katsoen QB64 toimisi Win, Linux ja MacOS kun taas Freebasic Win, Linux ja DOS.
Onko QB64 siis sama kuin QBasic, tai saako sillä samaa aikaan ja mitä eroja..?
//Onko tuolla Freebasicilla järkeä alkaa vääntämään mitään, vai voiko sillä saada ihan exe:jäkin tehtyä? Voiko sillä käyttää tietokantoja yms. tai rakentaa pelin tallennussysteemin? Voiko sitä periaatteessa opiskella QB-oppaista?
VB6:sta täällä eräät parjaa jatkuvasti. Minulla on juuri päinvastaiset kokemukset .netistä ja sillä tehdyistä sovelluksista. EIVÄT YKSINKERTAISESTI TOIMI VAKAASTI!! Saat kaupan päälle bugeja, joita ei kukaan pysty ratkaisemaan - vaikka täällä jotku muuta väittävätkin. Säästä itsesi jatkuvalta säätämiseltä ja ongemien ihmettelyltä ja unohda .net joksikin aikaa. Eikä kaivinkoneella kannata tehdä teelusikan hommia. Ota vaikka se FreeBasic tms. simppelimpi väline
jtha kirjoitti:
VB6:sta täällä eräät parjaa jatkuvasti.
Ei täällä kukaan parjaa VB6:sta, mutta se nyt vaan on yksinkertainen fakta, että sellaisella sovelluskehitystyökalulla, jota ei ole kehitetty 13 vuoteen ja jonka tuki on lopetettu 3 vuotta sitten, ei ole mitään järkeä aloittaa uusia projekteja. Koskee kaikkia muitakin vastaavia eikä vain VB6.
Lisäksi on fakta, että VB6:lla ei ole erityisen näppärää tehdä komentoriviohjelmia. Toki se sillä onnistuu, mutta melkein millä tahansa muulla onnistuu helpommin.
VB.Net ei ole ainoa vaihtoehto VB6:lle. Jos VB.Net ei toimi, niin sitten kannattaa käyttää jotain muuta kieltä tai kehitystyökalua. En tosin jaa näkemystäsi VB.Netin ongelmista.
ZuBer kirjoitti:
Onko QB64 siis sama kuin QBasic, tai saako sillä samaa aikaan ja mitä eroja..?
Onko ihan mahdotonta kirjoittaa esim. Googleen "QB64" ja selvittää asia itse?
ZuBer kirjoitti:
//
Voisitko lopettaa tällaisen turhan merkinnän käyttämisen tavallisessa tekstissä?
ZuBer kirjoitti:
Onko tuolla Freebasicilla järkeä alkaa vääntämään mitään, vai voiko sillä saada ihan exe:jäkin tehtyä?
Voi tehdä ja on pakkokin tehdä, siinä ei ole tulkkia kuten QB:ssä.
ZuBer kirjoitti:
Voiko sillä [FB:llä] käyttää tietokantoja yms. tai rakentaa pelin tallennussysteemin?
Tietokannalla ei ole paljonkaan tekemistä tallentamisen kanssa. Hyvin harvassa pelissä käytetään oikeasti tietokantaa. Tiedosto on eri asia, ja tiedostoja voi käsitellä lähes kaikilla kielillä. (Tässä mainituista JS on poikkeus.)
ZuBer kirjoitti:
Voiko sitä [FB:tä] periaatteessa opiskella QB-oppaista?
Osittain voi (ainakin, jos laittaa FB:n erityiseen QB-tilaan), mutta kun kerran on tarjolla myös FB-oppaita, kannattaa tietenkin suosia niitä – niissä opetetaan tekemään asiat nykyaikaisemmin, eikä ainakaan tule yllätyksiä, että jokin koodi ei toimisikaan.
Grez, siinä on järkeä jos ja kun sovellus toimii ja toteuttaa tehtävänsä! VB6 on mielestäni ns. "valmis" useimpiin tarkoituksiin. Miksi päivittää jos ei ole tarvetta.
Jotakin tällaistako kysyjä tarkoitti:
Dim Leveys As Long, Korkeus As Long, KursoriX As Integer, KursoriY As Integer, Merkki As String Dim Maski(0 To 11, 0 To 6) As Integer Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer) Merkki = UCase(Chr(KeyCode)) If Merkki = "Y" Then SiirräMerkkiä 0, -1 ElseIf Merkki = "A" Then SiirräMerkkiä 0, 1 ElseIf Merkki = "O" Then SiirräMerkkiä 1, 0 ElseIf Merkki = "V" Then SiirräMerkkiä -1, 0 End If End Sub Private Sub Form_Load() 'Nämä asetin formin ominaisuuksissa: 'Fontti = Courier New 'AutoRedraw = True 'BackColor =&HFFFFFF '"_" = maali 'Huom. Laajemmissa kuvioissa muuta Maskin kokoa ("Dim Maski(0 To 11, 0 To 6) As Integer" ylempänä) TeeMaski 0, "# # # # # #" TeeMaski 1, "# @ # # _" TeeMaski 2, "# #" TeeMaski 3, "# # # #" TeeMaski 4, "# #" TeeMaski 5, "# # # # # #" Leveys = Form1.TextWidth("#") Korkeus = Form1.TextHeight("#") End Sub Private Sub TeeMaski(Rivi As Integer, Teksti As String) Form1.Print Teksti For i = 1 To Len(Teksti) If Mid(Teksti, i, 1) = "#" Then Maski(i - 1, Rivi) = 1 ElseIf Mid(Teksti, i, 1) = "@" Then KursoriX = i - 1 KursoriY = Rivi ElseIf Mid(Teksti, i, 1) = "_" Then Maski(i - 1, Rivi) = -1 End If Next End Sub Private Sub SiirräMerkkiä(SuuntaX, SuuntaY) If KursoriX + SuuntaX > 10 Then Exit Sub ElseIf KursoriY + SuuntaY > 5 Then Exit Sub ElseIf KursoriX + SuuntaX < 0 Then Exit Sub ElseIf KursoriY + SuuntaY < 0 Then Exit Sub ElseIf Maski(KursoriX + SuuntaX, KursoriY + SuuntaY) = 1 Then Exit Sub End If Form1.CurrentX = KursoriX * Leveys Form1.CurrentY = KursoriY * Korkeus Form1.Line (Form1.CurrentX, Form1.CurrentY)-(Form1.CurrentX + Leveys, Form1.CurrentY + Korkeus), &HFFFFFF, BF KursoriX = KursoriX + SuuntaX KursoriY = KursoriY + SuuntaY Form1.CurrentX = KursoriX * Leveys Form1.CurrentY = KursoriY * Korkeus Form1.Print "@" If Maski(KursoriX, KursoriY) = -1 Then MsgBox ("Maali") End Sub
Kyl kannattaa kokeilla Batch/Assemblyy.. Tai C++...
Jos haluat koodata VB.NETillä, niin tästä QBasic -funktiot ja siirryt täältä lukemaan peliohjelmointia QB:llä. Sitten vain oheinen koodi johonkin ja...
Module Methods Sub LOCATE(ByVal X As Single, ByVal Y As Single) System.Console.SetCursorPosition(X, Y) End Sub Sub WIDTH(ByVal x As Integer, ByVal y As Integer) 'x ja y vain yhteensopivuuden vuoksi System.Console.SetWindowSize(100, 58) System.Console.SetBufferSize(100, 58) End Sub Sub PRINT(ByVal TEXT As String) System.Console.Write(TEXT) End Sub Sub INPUT(ByVal TEXT As String, ByRef CONTENTS As String) System.Console.Write(TEXT) CONTENTS = System.Console.ReadLine End Sub Sub CLS() System.Console.Clear() End Sub Function INKEY() As String Dim kc As String = Console.ReadKey(True).KeyChar Return kc End Function End Module
Joudut tekemään hieman muokkauksia QuickBasic -koodiin.
Blaze kirjoitti:
kinnala kirjoitti:
Parempi ratkaisu luolaseikkailun tekemiseksi olisi tietenkin käyttää jotain curses-tyylistä kirjastoa apuna.
Tarkoitit paremmalla varmaan "ainoa oikea".
Ei kai nyt sentään... ;-)
No, Windowsilla tuo ehkä pitkälti noin onkin. Onneksi kuitenkin suurimmalla osalla muista järjestelmistä homma onnistuu ANSI escape sequence koodien avulla suhteellisen mukavasti.
Oma työympäristöni olisi OS/2 ja PL/I-kääntäjä. Mitään kirjastoja työhön ei tarvita.
Jalskille plussaa tuosta. Olisi varsin hienoa, jos softakehittajat osaisivat sen verran puhaltaa yhteen hiileen, ettei jok'ikisen fullscreen-terminaalisovelluksen tarvitsisi linkittaa kirjastoon, joka lukee jarjestelman mukana toimitettua yhteensopimattomuustietokantaa ja haistattaa pitkat jos sinulla sattuu olemaan harvinaisempi terminaali, tai jos kannassa olevat tiedot ovat virheelliset, tai jos ...
Koko systeemin historiahan taitaa olla siina, etta alunperin oikeat lasipaatteet toimitettiin kayttajille osana kokonaisuutta, johon kuului myos itse palvelimet kayttojarjestelmineen. Yhteensopivuudesta ei puhuttu, vaan riitti, etta kokoonpanon toimittaja on kirjoittanut sisaanrakennetun tuen kayttamilleen paatteille. Myohemmin sitten alkoi tulla uusia paatteita uusilla ominaisuuksilla, ja toisaalta olemassa olevia laitteita alettiin sekakayttaa toimittajien vaihtuessa (tai muuten vaan), ja siina tilanteessa tietokanta on ollut toimivin ratkaisu.
Emulaattorien aikakautena ei yhteensopimattomuudelle taida oikeastaan loytya yhtakaan hyvaa syyta, ja itseasiassa emulaattorit ovatkin suurimmalta osin yhteensopivia. Silti (bloatti) kanta on edelleen riesana nykyjarjestelmissa. Viimeksi eilen kaveri valitteli, kun koulun palvelin ei tuntenut rxvt-unicodea, ja vielapa ilmoitti, etta TERM-muuttuja on liian pitka. Piponnosto sille, joka osaa lonkalta etsia tarvitun terminfo-tiedoston, korjata siihen lyhyemman nimen, kaantaa sen haluttuun formaattiin ja laittaa oikeaan paikkaan palvelimelle. Ja enta jos tiedostoa ei loydy? Ei taida moisen kirjoittaminen kovin monelta onnistua. Ei se vaikeaa ole.. mutta MIKSI? Hassua tassa tilanteessa on se, etta jos softat suosiolla kayttaisivat jalskin mainitsemia ANSI-sekvensseja, ei mitaan ongelmaa olisi ollut.
Toki lasiterminaalit ovat hauskoja kapistuksia, mutta jos (yhteensopimattomalla) sellaisella haluaa leikkia, eiko olisi jo aika kaantaa emulointi toisin pain? Ohjelmat voisivat suoltaa standardikamaa, ja retroilijat asettaisivat paatteen ja sovellusten valiin emulaattorin.
API:na curses ei paljonkaan tarjoa ohjelmoijalle. Lahinna syotteenkasittelyn asettaminen raakamoodiin helpottuu hieman. Myos ikkunaviritelmat voivat helpottaa, jos olet jotain perin erikoista tekemassa. Toisaalta dialogien piirtoon tarvittavan koodin kirjoittaa hetkessa, eika sita tule paljon. Omasta ratkaisusta voi tulla monipuolisempi, eika tarvitse vaivata aikaa cursesin oikkujen ymmartamiseen. Joiltain osin cursesin valinta vaikuttaa jopa negatiivisesti, kun taytyy opetella sen tarjoamat funktiot syotteen lukemiseen ja ulostamiseen, vaikka standardissa C:ssa siihen on ennestaan tutut menetelmat.
Omassa fullscreen-koodieditorissa on kuusi makroa, joilla kursorin liikuttelu, ruudun tyhjentaminen, ym. onnistuu ANSI-sekvenssein. Kunkin maarittely vie yhden rivin. Lisaksi loytyy yksi 30-rivinen funktio, jolla syotteenkasittely laitetaan raakamoodiin tai palautetaan alkuperaiseksi. Vertailun vuoksi..
% find /usr/src/lib/libcurses/ -name '*.c'|xargs wc -l|tail -1
37173 total
% find /usr/src/usr.bin/tic -name '*.c'|xargs wc -l|tail -1
2804 total
% ls -l /usr/share/misc/term*.db
-r--r--r-- 1 root bin 3104768 Jul 24 19:07 /usr/share/misc/termcap.db
-r--r--r-- 1 root bin 5640192 Jul 24 19:07 /usr/share/misc/terminfo.db
% ls -l /usr/lib/libcurses.so.12.0
-r--r--r-- 5 root bin 1450073 Jul 24 19:04 /usr/lib/libcurses.so.12.0
Toivottavasti joku kaunis paiva noista paasen eroon :-)
Aihe on jo aika vanha, joten et voi enää vastata siihen.