[Risolto] Problemi con libreria <ncurses.h>/<curses.h>

di il
4 risposte

[Risolto] Problemi con libreria <ncurses.h>/<curses.h>

Buonasera a tutti!
Sono nuovo, sono un programmatore alle prime armi e uso Linux!

Mi è venuto la bella idea di replicare il gioco del Tris (Tic-Tac-Toe) in C. Ne ho già fatto una versione, il problema è che è a scorrimento, ovvero ad ogni casella modificata da un giocatore viene stampata a schermo la griglia aggiornata.

Un bel giorno scoprii che esiste una libreria molto versatile per i giochi ed in grado di ricevere input anche da mouse (o qualcosa del genere) ed è ncurses. Ho letto qualche documento in giro sul Web ma ho un po' di dubbi, spero che voi siate in grado di aiutarmi!

Il senso del gioco è trovarsi di fronte la griglia numerata e la richiesta di inserire il numero di una casella. Il giocatore passa da tastiera la casella e, se possibile, si vede il cambiamento in "tempo reale". Il mio problema riguarda proprio questo per via della mia poca conoscenza della libreria: se io ho la griglia stampata contenente i numeri, come posso farglieli cambiare in lettere?

Ho provato una cosa del tipo:

mvscanw(LINES-1, 32+dis,"%c",  c);    //leggi numero casella (come carattere) 
switch(c) {                
	case '1':	//
		cas[0]=segno;   //se il carattere inserito è 1, allora al primo quadrato della griglia assegna
		refresh();           //il segno del giocatore (X o O)
		break; 
	case '2':	                
		cas[1]=segno;  //se il carattere inserito è 2, al secondo quadrato della griglia assegna
  		refresh();    //il segno del giocatore (X o O)
		break;

E così via ma il risultato è "Errore di segmentazione (core dump creato)" proprio nel momento in cui il giocatore batte invio per dare conferma della sua casella.

Innanzitutto grazie a tutti in anticipo, come secondo punto scusate il testo lungo e non fatevi problemi a chiedermi di spiegare meglio, so di aver scritto in un Italiano poco scorrevole.

4 Risposte

  • Re: [Risolto] Problemi con libreria <ncurses.h>/<curses.h>

    Mvscanw(LINES-1, 32+dis,"%c", &c);
  • Re: [Risolto] Problemi con libreria <ncurses.h>/<curses.h>

    Grazie per avermi risposto!

    Mi scuso per aver fatto un errore così banale, ma con i char non deve essere omesso &?

    Anche se fosse ho corretto su consiglio e ora.....non succede niente! Inserisco il numero della casella, premo invio e non succede niente.
  • Re: [Risolto] Problemi con libreria <ncurses.h>/<curses.h>

    Beh, l'errore era per quello. Che non succeda nulla non so, dipende dal tuo programma
  • Re: [Risolto] Problemi con libreria <ncurses.h>/<curses.h>

    Il problema è che non avendo esperienza con la libreria non sapevo neanche cosa dire, mi mancavano delle piccole nozioni base che sono riuscito ad introdurre a tentativi in questi due giorni.

    Sono riuscito a creare un gioco del tris funzionante con ncurses, ora non mi resta altro che abbellirlo!

    Grazie comunque per avermi seguito, se non mi avessi fatto notare quel riferimento sarei rimasto lì ancora per molto tempo!

    Saluti!
Devi accedere o registrarti per scrivere nel forum
4 risposte