|
|
|
|
Strumenti |
26-08-2014, 17:48 | #1 |
Member
Iscritto dal: Sep 2012
Messaggi: 44
|
impostare colori al write prolog
Ciao a tutti! sto cercando di creare un semplice programmino in prolog, premetto che sono praticamente a zero, sto consultando diversi esempi ma nessuno è riuscito a soddisfare la mia esigenza. In pratica vorrei che durante l'esecuzione del programma mi dia la possibilità di stampare delle scritte colorate. Per ora riesco solo a stampare tutto in nero, che credo sia il colore di default, vorrei però poter impostare diversi parametri della stampa, in particolare il colore e il grassetto. Per esempio vorrei stampare:
Codice:
prova :- write('ciao') ho letto forse che si ha la necessità in alcuni casi delle librerie, ma come si caricano? e quali sono quelle per questa funzione? grazie in anticipo a tutti! |
27-08-2014, 14:28 | #3 |
Member
Iscritto dal: Sep 2012
Messaggi: 44
|
Si avevo letto questo articolo, ma non sono stato capace ad impostarlo nel mio write....
|
29-08-2014, 10:38 | #4 |
Member
Iscritto dal: Apr 2007
Messaggi: 182
|
Ma ora sei riuscito a risolvere?
|
31-08-2014, 09:27 | #5 |
Member
Iscritto dal: Sep 2012
Messaggi: 44
|
No non ci sono riuscito, il fatto i utilizzare colori differenti nel write mi serve per rendere meno monotono lo script del tris a cui hai risposto, in pratica dove c'è scritto:
Codice:
printsquare(N) :- o(N), write(' o '). printsquare(N) :- x(N), write(' x '). printsquare(N) :- empty(N), write(' '). |
01-09-2014, 13:50 | #6 |
Member
Iscritto dal: Apr 2007
Messaggi: 182
|
Questo codice dovrebbe fare quello che vuoi tu. Purtroppo però non sono sicuro che non si possa scrivere meglio. :/
Codice:
o(1). x(2). printColored(N) :- o(N), !, ansi_format([bold,fg(blue)], N, [ ]). printColored(N) :- x(N), ansi_format([bold,fg(red)], N, [ ]). |
02-09-2014, 08:50 | #7 |
Member
Iscritto dal: Sep 2012
Messaggi: 44
|
Dire che il tuo aiuto è stato prezioso è dire poco! Funziona, ma per adattarlo meglio alle mie esigenze, in modo da non sfalsare la griglia e che escano i segni o e x al posto dei numeri ho cosi modificato:
Codice:
printsquare(N) :- o(N), ansi_format([bold,fg(blue)], ' o ', [ ]). printsquare(N) :- x(N), ansi_format([bold,fg(red)], ' x ', [ ]). Ho un'altra domanda,l'ultima, da fare sempre su questo script...posso postare qui o posto sull'altro? Grazie ancora! |
02-09-2014, 10:32 | #8 |
Member
Iscritto dal: Sep 2012
Messaggi: 44
|
Ho scritto la mia ultima domanda nell'altra discussione di questo script spero tu possa darne un'occhiata, grazie!
|
02-09-2014, 14:38 | #9 |
Member
Iscritto dal: Apr 2007
Messaggi: 182
|
Mi spiace ma non so come aiutarti. La funzione prende una lista di argomenti eventualmente da stampare anche quelli, ma non so perché sia implementata così. Come ti ho detto non sono molto esperto di Prolog.
|
03-09-2014, 11:23 | #10 |
Member
Iscritto dal: Sep 2012
Messaggi: 44
|
Non sarai esperto ma sicuramente sai molto di più del sottoscritto, e mi hai aiutato tantissimo, quindi un grazie è anche riduttivo!
|
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 09:55.