--
JohsMic
> Hei! Har begynt å knote med litt primitiv c-programmering under
> unix-skallet i OSX. Mye bedre hjernetrim enn sudoku spør du meg - men
> jeg har noen problemer...
Skriv en sudokuløser.
> -Finnes det en grei funksjon som leser hvilken tast brukeren holder
> nede i øyeblikket (uten echo og avbrudd). Så vidt jeg skjønner går
> ikke dette med <stdio.h>.
> -Trenger også en funksjon for å printe et tegn på valgfri posisjon i
> tekstvinduet.
For å gjøre dette bruker du curses. Se for eksempel:
http://heather.cs.ucdavis.edu/~matloff/UnixAndC/CLanguage/Curses.pdf
for en introduksjon. (eller du kan google selv.)
Alle cursesbibliotek kan svært mye mer enn det du finner i et lite
tutorial. "man curses" er grei å fortsette med hvis du trenger noe
mer. Jeg vet ikke hvilket eller hvilke curses-bibliotek som følger
med MacOS X. (Standard/Native curses og/eller GNU ncurses.) Jeg vil
anbefale deg å holde deg til standardfunksjonene som du vil finne i
ethvert curses-bibliotek.
Du kan uansett ikke se "hvilken tast brukeren holder nede i
øyeblikket", men du kan lese enkelttaster med en gang. (uten echo)
Som antagelig er det du egentlig vil.
Dersom du *må* se om en tast "holdes inne" (dvs på noen annen måte enn
å besere seg på termialvinduets autorepeat) kan du *ikke* gjøre dette
i unix-skallet. Da trenger du et grafisk program. (Enten X11 eller
MacOS X-tingene (Cocoa osv).)
> -Og i samme slengen: Går det an å adressere til mac-skjermen direkte
> (quick&dirty)?
X11 har funksjoner som kan gi deg direkte minneaksess til et *vindu*
som er åpnet av programmet ditt (selvfølgelig under forutsetninger
slik som at programmet kjører på samme maskin som displayet er på).
Kombinert med fullskjermsvindu kan dette ligne på det du spør om. Jeg
vil anta det det virker på akkurat samme måte med MacOS sitt native
API. (Det er slik på alle moderne opertivsystemer.)
Uansett er ikke dette noe å tenke på for en som holder på å lære seg
C. (Med Cocoa og de tingene der er det vissnok ganske lett å bygge
enkle applikasjoner, men det kan bli litt fjernt fra egentlig
*programmering*, for ikke å snakke om at det egentlig ikke er C,
engang.)
Steinar
--
JohsMic