[C] Ncurses
-
- Imperturbabile Insigne
- Messaggi: 2739
- Iscrizione: mercoledì 16 gennaio 2013, 17:28
- Desktop: ubuntu-2d
- Distribuzione: Ubuntu 12.04.2 LTS i686
- Località: Airuno(Lecco)
[C] Ncurses
Ciao, a tutti, sto iniziando a studiare ncurses, ma prima di fare domande tecniche e chiedere aiuto,mi piacerebbe sapere il vostro parere.
A fronte di librerie grafiche come gtk, opengl, che sono immense e probabilmente richiedono mesi, se non anni di studio, ha senso
buttarsi su ncurses, che comunque è molto più primitiva? Anche se molto più semplice.
Tutto è utile, e sicuramente direte: dipende da cosa devi fare.
Ma la domanda è: non è diventata un po' obsoleta ncurses?
Grazie anticipatamente a tutti
A fronte di librerie grafiche come gtk, opengl, che sono immense e probabilmente richiedono mesi, se non anni di studio, ha senso
buttarsi su ncurses, che comunque è molto più primitiva? Anche se molto più semplice.
Tutto è utile, e sicuramente direte: dipende da cosa devi fare.
Ma la domanda è: non è diventata un po' obsoleta ncurses?
Grazie anticipatamente a tutti
Re: [C] Ncurses
Sono due cose completamente diverse, le librerie GTK o QT ti servono per creare applicazioni grafiche come quelle che usi normalmente con il mouse, le librerie ncurses servono per creare applicazioni testuali che girano in una console a riga di comando, sono utilizzate da programmi come vim, nano, mc, aptitude, menuconfig del kernel, ecc, servono per dare un interfaccia semi grafica alle applicazioni testuali, chiaramente non puoi pensarci di farci chissà cosa, vanno bene per le cose molto semplici, non puoi creare vere e proprie grafiche, resta sempre una console testuale
Se vuoi imparare ad utilizzare delle librerie grafiche vere e proprie io ti consiglierei di puntare su QT comunque, intanto sono multipiattaforma, sono disponibili anche per windows e osx (e volendo anche android e altri os mobile), e in questo facilitano molto la scrittura di codice multipiattaforma, perchè oltre alla gestione della grafica implementano anche la gestione del networking, dei thread, ecc, in maniera che tu non sia costretto ad usare librerie specifiche per la piattaforma e non ti debba preoccupare di essere su windows piuttosto che su linux, inoltre sono abbastanza semplici da usare e sono ben documentate, le GTK sono più complesse, i programmi GTK vanno scritti in C, mentre quelli QT in C++, quindi si ha un linguaggio orientato agli oggetti che per un programma con interfaccia grafica è abbastanza fondamentale se non si vuole diventare matti
Se vuoi imparare ad utilizzare delle librerie grafiche vere e proprie io ti consiglierei di puntare su QT comunque, intanto sono multipiattaforma, sono disponibili anche per windows e osx (e volendo anche android e altri os mobile), e in questo facilitano molto la scrittura di codice multipiattaforma, perchè oltre alla gestione della grafica implementano anche la gestione del networking, dei thread, ecc, in maniera che tu non sia costretto ad usare librerie specifiche per la piattaforma e non ti debba preoccupare di essere su windows piuttosto che su linux, inoltre sono abbastanza semplici da usare e sono ben documentate, le GTK sono più complesse, i programmi GTK vanno scritti in C, mentre quelli QT in C++, quindi si ha un linguaggio orientato agli oggetti che per un programma con interfaccia grafica è abbastanza fondamentale se non si vuole diventare matti
-
- Imperturbabile Insigne
- Messaggi: 2739
- Iscrizione: mercoledì 16 gennaio 2013, 17:28
- Desktop: ubuntu-2d
- Distribuzione: Ubuntu 12.04.2 LTS i686
- Località: Airuno(Lecco)
Re: [C] Ncurses
Si,mi sono espresso male. Non si possono paragonare gtk e ncurses.
Mi chiedevo comunque se valesse la pena. Non vorrei davvero fosse obsoleta.
Ma in campo sono ignorante. Mi piace l'idea di poter interagire col mouse nei programmi c.
Poi non sembra nemmeno difficilissima...almeno le cose fondamentali.
Grazie per il chiarimento
Mi chiedevo comunque se valesse la pena. Non vorrei davvero fosse obsoleta.
Ma in campo sono ignorante. Mi piace l'idea di poter interagire col mouse nei programmi c.
Poi non sembra nemmeno difficilissima...almeno le cose fondamentali.
Grazie per il chiarimento
Re: [C] Ncurses
Non è obsoleta, anzi è ancora usatissima (anche perchè è l'unica), semplicemente sono librerie per scopi diversi, una serve per dotare i programmi a riga di comando di un interfaccia semi-grafica, l'altra per veri e propri programmi grafici
Da usare non è per nulla difficile comunque, impari ad usarla in un pomeriggio volendo, la documentazione è buona, mentre ovviamente imparare ad usare QT è più complesso e richiede un pò di tempo
Da usare non è per nulla difficile comunque, impari ad usarla in un pomeriggio volendo, la documentazione è buona, mentre ovviamente imparare ad usare QT è più complesso e richiede un pò di tempo
-
- Imperturbabile Insigne
- Messaggi: 2739
- Iscrizione: mercoledì 16 gennaio 2013, 17:28
- Desktop: ubuntu-2d
- Distribuzione: Ubuntu 12.04.2 LTS i686
- Località: Airuno(Lecco)
Re: [C] Ncurses
Grazie Ale4...bhè un pomeriggio forse no...almeno io.
Diciamo che le cose base non sono poi complicatissime, nel dettaglio immagino ci voglia tempo ed esperienza.
Per ora sono ai colori, alla creazione di finestre. Ho provato qualcosina col mouse, ma devo ancora mettermi bene.
Qt, sarebbe bello...chissà magari un domani...molto domani
Diciamo che le cose base non sono poi complicatissime, nel dettaglio immagino ci voglia tempo ed esperienza.
Per ora sono ai colori, alla creazione di finestre. Ho provato qualcosina col mouse, ma devo ancora mettermi bene.
Qt, sarebbe bello...chissà magari un domani...molto domani
-
- Imperturbabile Insigne
- Messaggi: 2739
- Iscrizione: mercoledì 16 gennaio 2013, 17:28
- Desktop: ubuntu-2d
- Distribuzione: Ubuntu 12.04.2 LTS i686
- Località: Airuno(Lecco)
Re: [C] Ncurses
Ho una domanda base da porre: quando voglio creare una finestra, esiste la funzione apposita con un puntatore alla struttura WINDOW:
La procedura mi sembra simile al puntatore dei file...comunque.
Dopo logicamente ci sono altre istruzioni che non riporto.
Il punto è che in prossimità degli spigoli, mi vengono messi degli "angolari" :
Io vorrei fare una finestra con un contorno colorato, ma senza gli spigoli es:
https://commons.wikimedia.org/wiki/File ... 5.3-de.png
Per esempio i controlli di alsamixer.
La domanda è: devo costruire in manuale, o la finestra mi forza agli angolari?
Se Uso degli spazi, gli angolari si notano. Ok potrei usare le linee sottili di default direte voi
EDIT: credo di aver risolto
Codice: Seleziona tutto
WINDOW *mia_finestra
....
ecc..ecc.
Dopo logicamente ci sono altre istruzioni che non riporto.
Il punto è che in prossimità degli spigoli, mi vengono messi degli "angolari" :
Codice: Seleziona tutto
┌ ┘
https://commons.wikimedia.org/wiki/File ... 5.3-de.png
Per esempio i controlli di alsamixer.
La domanda è: devo costruire in manuale, o la finestra mi forza agli angolari?
Se Uso degli spazi, gli angolari si notano. Ok potrei usare le linee sottili di default direte voi
EDIT: credo di aver risolto
-
- Imperturbabile Insigne
- Messaggi: 2739
- Iscrizione: mercoledì 16 gennaio 2013, 17:28
- Desktop: ubuntu-2d
- Distribuzione: Ubuntu 12.04.2 LTS i686
- Località: Airuno(Lecco)
Re: [C] Ncurses
Vediamo se qualcuno mi sa dare una mano: ho letto l'istruzione
Che da la possibilità di miscelare in più gradazioni i colori forniti dal terminale, che sono pochi.
Solo che col test:
Mi viene restituito FALSE. Il manuale dice,che nel caso, il mio terminale non supporta tale funzione.
Cosa posso fare? Dipende dalla versione di ncurses, dal terminale, cosa posso fare?
Sarebbe davvero comodo poter dosare le tonalità dei vari colori.
Grazie a tutti nel caso
Codice: Seleziona tutto
init_color()
Solo che col test:
Codice: Seleziona tutto
if(!can_change_color())
addstr(“This probably won’t work, but anyway:\n”);
Cosa posso fare? Dipende dalla versione di ncurses, dal terminale, cosa posso fare?
Sarebbe davvero comodo poter dosare le tonalità dei vari colori.
Grazie a tutti nel caso
- vbextreme
- Entusiasta Emergente
- Messaggi: 1214
- Iscrizione: domenica 12 gennaio 2014, 14:06
- Desktop: lxde
- Distribuzione: xubuntu 14.10
Re: [C] Ncurses
benvenuto nel mondo ncurses......ora potrai ben capire perché esiste la easyconsole che permette di "dosare" i colori del terminale sia con i classici 8 colori sia con le estese 256 tonalità....
E ben presto capirai che se vuoi interagire normalmente col terminale le ncurses non servono a niente se non a friggere il cervello....
ehehehehe rispondo mentre guardo la nave che fa da spola tra l'isola di San Pietro e Calasetta
E ben presto capirai che se vuoi interagire normalmente col terminale le ncurses non servono a niente se non a friggere il cervello....
ehehehehe rispondo mentre guardo la nave che fa da spola tra l'isola di San Pietro e Calasetta
-
- Imperturbabile Insigne
- Messaggi: 2739
- Iscrizione: mercoledì 16 gennaio 2013, 17:28
- Desktop: ubuntu-2d
- Distribuzione: Ubuntu 12.04.2 LTS i686
- Località: Airuno(Lecco)
Re: [C] Ncurses
Ecco!!! mi metto a studiare una libreria che secondo me è fondamentale padroneggiare...e salta fuori che non serve a nulla. Non ne azzecco una!!E ben presto capirai che se vuoi interagire normalmente col terminale le ncurses non servono a niente se non a friggere il cervello....
Ma scusa se voglio usare il mouse, padroneggiare finestre (se pur rudimentali), come faccio??
Credo che ncurses, anche a livello di hobby, sia un passo obbligato, no?
La easyconsolle, sono onesto Vb (mi vergogno un po' ) non mi ricordo bene come si compila, c'era una procedura, devo rispolverare un po'.
Forse tu intendi che è inutile se vuoi usare il terminale in modo classico. Su quello sono d'accordo.
Non so, ora sei in ferie e non ti voglio rompere, ma mi piacerebbe capire bene cosa intendi
- vbextreme
- Entusiasta Emergente
- Messaggi: 1214
- Iscrizione: domenica 12 gennaio 2014, 14:06
- Desktop: lxde
- Distribuzione: xubuntu 14.10
Re: [C] Ncurses
l'avevi disinstallata? perché altrimenti non hai bisogno di ricompilare niente, il mouse e il terminale vivono su due pianete diversi.
ncurses fa sempre bene studiarla
ncurses fa sempre bene studiarla
-
- Imperturbabile Insigne
- Messaggi: 2739
- Iscrizione: mercoledì 16 gennaio 2013, 17:28
- Desktop: ubuntu-2d
- Distribuzione: Ubuntu 12.04.2 LTS i686
- Località: Airuno(Lecco)
Re: [C] Ncurses
No, no non l'avevo disinstallata solo che il tempo per lo studio è sempre meno e non ricordavo come fare.vbextreme [url=http://forum.ubuntu-it.org/viewtopic.php?p=4788747#p4788747][img]http://forum.ubuntu-it.org/images/icons/icona-cita.gif[/img][/url] ha scritto:l'avevi disinstallata? perché altrimenti non hai bisogno di ricompilare niente, il mouse e il terminale vivono su due pianete diversi.
ncurses fa sempre bene studiarla
Ma era un discorso diverso quello del make app... ecc, ricordi?
- vbextreme
- Entusiasta Emergente
- Messaggi: 1214
- Iscrizione: domenica 12 gennaio 2014, 14:06
- Desktop: lxde
- Distribuzione: xubuntu 14.10
Re: [C] Ncurses
si si ricordo, comunque studiati la ncurses che non fanno mai male
-
- Imperturbabile Insigne
- Messaggi: 2739
- Iscrizione: mercoledì 16 gennaio 2013, 17:28
- Desktop: ubuntu-2d
- Distribuzione: Ubuntu 12.04.2 LTS i686
- Località: Airuno(Lecco)
Re: [C] Ncurses
Non sembra difficilissima, poi logico è molto vasta e usarla al 100% è dura.vbextreme [url=http://forum.ubuntu-it.org/viewtopic.php?p=4788761#p4788761][img]http://forum.ubuntu-it.org/images/icons/icona-cita.gif[/img][/url] ha scritto:si si ricordo, comunque studiati la ncurses che non fanno mai male
la cosa che spiazza è abituarsi al fatto che va gestita la posizione del cursore...un po' diverso dal terminale classico.
Fortunatamente esiste move e getyx() che ti restituisce la posizione, senza impazzire a capire (nel caso) dove sei
Re: [C] Ncurses
Quell'altra libreria comunque non l'ho mai sentita, da quel che so io usano tutti ncurses i programmi a riga di comando con interfaccia semi grafica, quindi direi che è meglio puntare su quella che è più usata, e soprattutto è lo standard in ogni distribuzione unix quindi se vuoi poi che il tuo codice sia compilabile ed eseguibile ovunque è necessario, per i 256 colori, verifica che il terminale li supporti controllando la variabile $TERM (dovrebbe dirti xterm-256color o una cosa simile), se non lo dice vuol dire che hai un problema con il tuo terminale
- vbextreme
- Entusiasta Emergente
- Messaggi: 1214
- Iscrizione: domenica 12 gennaio 2014, 14:06
- Desktop: lxde
- Distribuzione: xubuntu 14.10
Re: [C] Ncurses
Mica vorrai offendere la mia creatura!Quell'altra libreria comunque non l'ho mai sentita,
La ncurses e la easyconsole differiscono molto, mentre con la prima ci si appropria del terminale usandolo come se fosse una "nuova finestra" con easyconsole invece si ha la possibilità di interagire facilmente con il terminale in uso.
La easyconsole è nata per gli studenti e non vuole certo scalzare il posto della ncurses, come è già stato detto la ncurses era l'unica libreria per terminale su linux, ora hai anche easyconsole
- Claudio_F
- Entusiasta Emergente
- Messaggi: 1463
- Iscrizione: lunedì 28 maggio 2012, 18:49
- Desktop: Mate/Gnome
- Distribuzione: Ubu22.04
Re: [C] Ncurses
Beh, il terminale "classico" è poco più che un rotolino di carta stampata (e su Linux è già un rotolino di lusso rispetto alla console win). Gestire la posizione di scrittura a video e leggere in tempo reale i tasti è quello che si faceva normalmente prima dell'avvento delle interfacce grafiche... locate e inkey$ del BASIC, gotoxy e keypressed del Pascal ecc. In realtà molte cose si riescono a fare più facilmente così che usando una vera interfaccia grafica.gila75 ha scritto:la cosa che spiazza è abituarsi al fatto che va gestita la posizione del cursore...un po' diverso dal terminale classico.
-
- Imperturbabile Insigne
- Messaggi: 2739
- Iscrizione: mercoledì 16 gennaio 2013, 17:28
- Desktop: ubuntu-2d
- Distribuzione: Ubuntu 12.04.2 LTS i686
- Località: Airuno(Lecco)
Re: [C] Ncurses
Che tempi!!! Come rimpiango il mio MSX, gli sprites put sprites...on gosub sprites (se la memoria non m'inganna!!!)locate e inkey$ del BASIC
Comunque ho scritto un programma che muove un cursore in un array con le frecce. Quando arriva al limite dx e sx viene segnalato.
Mi piacerebbe sapere se l'uso del cursore ecc è corretto.
Grazie ne caso
Codice: Seleziona tutto
#include <ncurses.h>
#include <stdlib.h>
#define DX 261
#define SX 260
#define N 30
void cursor_position(int *x,int *y);
void move_dx (int array [],int *x,int *y, int *col);
void move_sx (int array [],int *x,int *y, int *col);
void cursor_position(int *x,int *y)
{
getyx(stdscr,*x,*y);
}
void move_dx (int array[],int *x,int *y, int *col)
{
int temp;
if ( ((*col)+1)<N)
{
temp=array[(*col)+1]; //copia valore a dx
array[(*col)+1]=array[*col];//valore a dx=valore a sx
array[(*col)]=temp; //copia temp in posizione corrente
attrset(COLOR_PAIR(1));
mvprintw(*x,*y,"%d",array[(*col)]); //stampa
refresh();
++(*col); //aumenta colonne
++(*y); //aumenta y cursore
attrset(COLOR_PAIR(2));
mvprintw(*x,*y,"%d",array[*col]); // stampa ancora
refresh();
}
else
{
mvprintw (15,20 ,"limite dx");
return;
}
}
void move_sx (int array[],int *x,int *y, int *col)
{
int temp;
if ( ((*col)-1)>=0)
{
temp=array[(*col)-1];
array[(*col)-1]=array[*col];
array[(*col)]=temp;
attrset(COLOR_PAIR(1));
mvprintw(*x,*y,"%d",array[(*col)]);
refresh();
--(*col);
--(*y);
attrset(COLOR_PAIR(2));
mvprintw(*x,*y,"%d",array[*col]);
refresh();
}
else
{ attron(COLOR_PAIR(4));
mvprintw (15,20 ,"limite sx");
refresh();
attroff(COLOR_PAIR(4));
return;
}
}
int main()
{
initscr();
start_color();
cbreak();
noecho();
intrflush(stdscr, FALSE);
keypad(stdscr, TRUE);
init_pair(1,COLOR_BLUE,COLOR_GREEN);
init_pair(2,COLOR_YELLOW,COLOR_RED);
init_pair(3,COLOR_BLACK,COLOR_BLACK);
init_pair(4,COLOR_RED,COLOR_YELLOW);
bkgd(COLOR_PAIR(3));
refresh();
int array[N]={0};
int i;
int col=8;
int x,y;
int ch;
curs_set(0);
attrset(COLOR_PAIR(1));
move (10,10);
for (i=0; i<N; i++)
printw("%d",array[i]);
refresh();
array[8]=1;
move (10,18);
attrset(COLOR_PAIR(2));
printw("%d",array[8]);
mvaddstr(7,15,"premere q per uscire");
move (10,18);
refresh();
cursor_position(&x,&y);
refresh();
while (ch != 'q')
{
ch = getch();
if (ch==DX)
{
move_dx(array,&x,&y,&col);
}
if (ch==SX)
{
move_sx(array,&x,&y,&col);
}
}
refresh();
endwin();
return 0;
}
-
- Imperturbabile Insigne
- Messaggi: 2739
- Iscrizione: mercoledì 16 gennaio 2013, 17:28
- Desktop: ubuntu-2d
- Distribuzione: Ubuntu 12.04.2 LTS i686
- Località: Airuno(Lecco)
Re: [C] Ncurses
Nessun consiglio ? Vorrei solo capire se gestico in modo corretto il cursore, o se sto facendo giri inutili
- vbextreme
- Entusiasta Emergente
- Messaggi: 1214
- Iscrizione: domenica 12 gennaio 2014, 14:06
- Desktop: lxde
- Distribuzione: xubuntu 14.10
Re: [C] Ncurses
non conosco molto bene le ncurses.....il gioco va? e allora hai usato correttamente il tutto!
devi imparare a scrivere il codice in maniera un pelo piu elegante, ti faccio vedere un esempio ma con la easyconsole cosi vedi le differenze con la ncurses.....(io ritengo che in questo caso la easyconsole batta la ncurses 10 a 0 ma sono di parte....)
compila con
-leasyconsole -leasythread
ricordi? ad ogni header corrisponde una libreria.....
si potrebbe ridurre notevolmente il codice usando la con_printfk esempio:
e ulteriori accrocchi ma sono troppo obfuscated e finirebbero per rendere incomprensibile il codice.
devi imparare a scrivere il codice in maniera un pelo piu elegante, ti faccio vedere un esempio ma con la easyconsole cosi vedi le differenze con la ncurses.....(io ritengo che in questo caso la easyconsole batta la ncurses 10 a 0 ma sono di parte....)
Codice: Seleziona tutto
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <easyconsole.h>
#include <easythread.h>
#define TITLE_LEFT 12
#define TITLE_TOP 4
#define TITLE_CAPTION "Press 'q' to exit"
#define TITLE_BK CON_COLOR_BK_BLUE
#define TITLE_FR CON_COLOR_WHYTE
#define STATUS_TOP 12
#define STATUS_CAPTION_NORMAL "!move!"
#define STATUS_CAPTION_SX "!limite sx!"
#define STATUS_CAPTION_DX "!limite dx!"
#define STATUS_BK CON_COLOR_BK_RED
#define STATUS_FR CON_COLOR_BLACK
#define GAME_LEFT 6
#define GAME_TOP 7
#define GAME_NOR_CHR '0'
#define GAME_NOR_COLOR_BK CON_COLOR_BK_CYAN
#define GAME_NOR_COLOR_FR CON_COLOR_BLACK
#define GAME_SEL_CHR '1'
#define GAME_SEL_COLOR_BK CON_COLOR_BK_LBLUE
#define GAME_SEL_COLOR_FR CON_COLOR_RED
#define GAME_LINE_SZ 28
#define GAME_CHR_EXIT 'q'
#define cpurelax() thr_msleep(30)
int px = GAME_LINE_SZ / 2;
void draw_title()
{
con_setcolor(0,0);
con_cls();
con_gotorc(TITLE_TOP, TITLE_LEFT);
con_printfk("%*.*k" TITLE_CAPTION, TITLE_BK, TITLE_FR);
con_setcolor(0,0);
}
void draw_status()
{
con_gotorc(STATUS_TOP, 0);
con_clsline(CON_CLLS_RIGHT);
con_setcolor(STATUS_BK, STATUS_FR);
switch( px )
{
default: con_printfk("%*.*t%s", STATUS_TOP, GAME_LEFT + GAME_LINE_SZ / 2 - strlen(STATUS_CAPTION_NORMAL) / 2, STATUS_CAPTION_NORMAL); break;
case 0: con_printfk("%*.*t%s", STATUS_TOP, GAME_LEFT + GAME_LINE_SZ / 2 - strlen(STATUS_CAPTION_SX) / 2, STATUS_CAPTION_SX); break;
case GAME_LINE_SZ: con_printfk("%*.*t%s", STATUS_TOP, GAME_LEFT + GAME_LINE_SZ / 2 - strlen(STATUS_CAPTION_DX) / 2, STATUS_CAPTION_DX); break;
}
con_setcolor(0,0);
}
void draw_game()
{
con_setcolor(GAME_NOR_COLOR_BK, GAME_NOR_COLOR_FR);
con_line(GAME_TOP, GAME_LEFT, GAME_TOP, GAME_LEFT + GAME_LINE_SZ, GAME_NOR_CHR);
con_setcolor(0,0);
}
void cell_sr(int sr)
{
con_gotorc(GAME_TOP, GAME_LEFT + px);
con_setcolor( (sr) ? GAME_SEL_COLOR_BK : GAME_NOR_COLOR_BK, (sr) ? GAME_SEL_COLOR_FR : GAME_NOR_COLOR_FR);
putchar((sr) ? GAME_SEL_CHR : GAME_NOR_CHR);
con_setcolor(0,0);
}
void cell_move(int dir)
{
cell_sr(0);
px += dir;
if ( px < 0 ) px = 0;
if ( px > GAME_LINE_SZ ) px = GAME_LINE_SZ;
cell_sr(1);
draw_status();
con_flush();
}
int main()
{
con_async(1);
draw_title();
draw_game();
draw_status();
cell_move(0);
con_flush();
int chr = 1;
while( chr )
{
chr = ( con_kbhit() ) ? con_getchex() : 1;
cpurelax();
switch ( chr )
{
case GAME_CHR_EXIT: chr = 0; break;
case CON_KEY_SX : cell_move(-1); break;
case CON_KEY_DX : cell_move(1); break;
}
}
con_async(0);
con_cls();
return 0;
}
-leasyconsole -leasythread
ricordi? ad ogni header corrisponde una libreria.....
si potrebbe ridurre notevolmente il codice usando la con_printfk esempio:
Codice: Seleziona tutto
#define draw_title() con_printfk("%0.0k%/%*.*t%*.*k" TITLE_CAPTION "%0.0k",TITLE_TOP , TITLE_LEFT, TITLE_BK, TITLE_FR)
#define cell_sr(SR) con_printfk("%*.*t%*.*k%c%0.0k",GAME_TOP, GAME_LEFT + px, (SR) ? GAME_SEL_COLOR_BK : GAME_NOR_COLOR_BK, (SR) ? GAME_SEL_COLOR_FR : GAME_NOR_COLOR_FR, (SR) ? GAME_SEL_CHR : GAME_NOR_CHR)
-
- Imperturbabile Insigne
- Messaggi: 2739
- Iscrizione: mercoledì 16 gennaio 2013, 17:28
- Desktop: ubuntu-2d
- Distribuzione: Ubuntu 12.04.2 LTS i686
- Località: Airuno(Lecco)
Re: [C] Ncurses
Si si, va. Ma come sai molto meglio di me, in programmazione ci sono 1000 modi per far funzionare le case, ma di solito 999 sononon conosco molto bene le ncurses.....il gioco va? e allora hai usato correttamente il tutto!
giri assurdi
e solo un movimento all'interno di un array. l'hai provato?
Pensavo di aver fatto un bel lavoro Prototipi delle funzioni in cima...tutto (mi sembrava) bello ordinato...devi imparare a scrivere il codice in maniera un pelo piu elegante, ti faccio vedere un esempio
Cerco di andare pari passo con ncurses e la easy consolle...ma sono in ferie e vado a rilento.
Se lo compili vedi cosa fa, è una stupidata, però mi fa prendere confidenza con il cursore.
Chi c’è in linea
Visualizzano questa sezione: 0 utenti iscritti e 12 ospiti