[successivo] [precedente] [inizio] [fine] [indice generale] [indice ridotto] [indice analitico] [volume] [parte]


Capitolo 200.   Giochi e simili

Nei sistemi BSD e derivati si sono prodotti dei programmi, da usare attraverso uno schermo a caratteri, che sono da considerare come dei giochi o poco più. Questi programmi, che sono disponibili anche nei sistemi GNU, possono avere un significato storico e comunque vale la pena di conoscerne alcuni.

Di per sé, un «gioco» è un programma come un altro, tuttavia, secondo la tradizione questi programmi vanno collocati nella gerarchia /usr/games/, pertanto questa directory deve essere presente tra i percorsi di avvio degli eseguibili (la variabile di ambiente PATH).

200.1   Banner

Il programma banner(1) serve a produrre un testo di grandi dimensioni, possibilmente da stampare attraverso una stampante a modulo continuo, per produrre un «manifesto», così come il nome del programma intende:

banner [opzioni] [-w n] [testo]

Il testo da ingrandire viene indicato alla fine della riga di comando; tuttavia, se manca, viene chiesto espressamente in modo interattivo. Come si vede dal modello, l'opzione più importante è -w, con la quale si può specificare l'ampiezza massima da utilizzare per la stampa o la visualizzazione.

banner -w 40 ciao[Invio]

               ##### 
            ########### 
           ##############
          ##           ## 
          #              #
          #              #
          #             ##
           #          ###
            ##          
          #              #
          ################    ####
          ################    ####
          ################     ##
             ###
           #######    ##
          #########  #### 
          ##     ##   # ##
          #      ##      #
          ##     #      ##
          ############### 
          ##############
          # 
          
               ##### 
            ########### 
           ##############
          ##           ## 
          #              #
          #              #
          #             ##
          ####       ####
            ############
              ########

L'esempio mostra il funzionamento del programma per visualizzare la parola «ciao», usando un'ampiezza massima di 40 colonne di testo.

A seconda della versione, il programma banner potrebbe anche visualizzare il testo in orizzontale, rendendolo utile come un modo per evidenziare dei messaggi da generare attraverso degli script.

200.2   Arithmetic

Il programma arithmetic(2) permette di eseguire degli esercizi di aritmetica elementare:

arihmetic [-o {+|-|x|/}...] [-r n]

Se si utilizza arithmetic senza argomenti, si ottengono degli esercizi molto semplici su somme e sottrazioni; altrimenti, con l'opzione -o è possibile specificare il tipo di operazioni su cui puntare l'attenzione (somma, sottrazione, moltiplicazione e divisione). L'opzione -r consente di indicare il numero intero massimo da usare nelle operazioni (a seconda dei casi può trattarsi degli operandi o dei risultati che si ottengono, secondo un ragionevole buon senso).

arithmetic -r +-*/[Invio]

In questo caso, si vogliono eseguire esercizi su tutte le quattro operazioni, nell'intervallo numerico predefinito:

61 / 7 = $ $ 8[Invio]

Right!

0 x 1 = $ $ 0[Invio]

Right!

94 / 9 = $ $ 10[Invio]

Right!

9 + 6 = $ $ 16[Invio]

What?

15[Invio]

Right!

9 x 7 = $ $ 63[Invio]

Right!

14 - 6 = $ $ [Ctrl c][Invio]

arithmetic -r +-*/ -r 2[Invio]

In questo caso, con l'opzione -r 2 si vuole che il programma si concentri sui valori da zero a due.

200.3   Primes

Il programma primes(3) elenca i numeri primi a partire da un certo valore o appartenenti a un certo intervallo:

primes [inizio [fine]]

Se si utilizza primes senza argomenti, questo attende dallo standard input il valore iniziale e quindi inizia a calcolare i numeri primi da quel valore fino a un certo numero molto grande; altrimenti, i calcoli si limitano all'intervallo indicato negli argomenti.

primes 100 130[Invio]

L'esempio serve a ottenere i numeri primi compresi tra 100 e 130. Ecco cosa si ottiene:

101
103
107
109
113
127

200.4   POM

Il programma pom,(4) ovvero Phase of moon, genera la descrizione della fase lunare del momento presente o di un altro momento specificato nella riga di comando:

pom [[[[[ss]aa]mm]gg]hh]

pom[Invio]

In questo caso si ottiene la fase attuale:

The Moon is Waning Crescent (8% of Full)

Se invece si specifica una data:

pom 2010123100[Invio]

Thu 2010 Dec 30 23:00:00 (CET):  The Moon will be Waning Crescent (21% of Full)

200.5   Worms

Il programma worms,(5) è una specie di salva-schermo per terminali a carattere, che disegna il percorso di alcuni «vermi». Nella riga di comando sono previste delle opzioni, dove è praticamente obbligatorio l'uso di -d n, per specificare un ritardo:

worms [opzioni]

Ecco come può essere usato in una console di un sistema GNU/Linux:

worms -d 100[Invio]

Ecco come potrebbe presentarsi lo schermo dopo un po':

                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                        *       
                                                                       *        
                                                                       *        
              OO                                                      *         
             O  O                                                **  *          
           OO   O                                         ***  **  **           
          O                                                  **                 
          O                                                                     
         O                                                                      
       OO                                                                       
###   O                                                                         
#     O                                                                         
#    O                                                                          
 #  O                                                                           
 #                                                                              
#                                                                               
#     ##                                                                        
 #   #                                                                          
  ###                                                                           

Per aumentare la quantità di vermi sullo schermo, basta usare l'opzione -n n:

worms -d 100 -n 5[Invio]

In tal caso i vermi sono cinque.

200.6   Rain

Il programma rain,(6) è una specie di salva-schermo per terminali a carattere, che simula sullo schermo il gocciolio della pioggia:

rain [-d n]

L'opzione -d serve a richiedere un ritardo nel ciclo di iterazione, che diventa praticamente obbligatorio per poter distinguere qualcosa:

rain -d 100[Invio]

Ecco come potrebbe presentarsi lo schermo durante il funzionamento:

                                                                                
                                                                                
                                                                                
                                                                                
                                       -                                        
                                      |.|                                       
                    -                  -                                        
                   / \                                                          
                  | O |                                                         
        .          \ /                                                          
                    -                                                           
                                                                                
                                                                                
                                                                                
                                               O                                
                                                                                
                                                                                
                       o                                                        
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                

200.7   Fortune

Il programma fortune(7) serve a mostrare degli «epigrammi» (delle «massime», ma spesso sono semplici barzellette), raccolti in file appositi, che di norma accompagnano il programma stesso:

fortune [opzioni]

Il programma viene usato normalmente senza opzioni, per ottenere una massima a caso:

fortune[Invio]

Extreme feminine beauty is always disturbing.
                -- Spock, "The Cloud Minders", stardate 5818.4

200.8   Worn

Il programma worm(8) è il gioco del verme che cresce allungandosi. Lo scopo del gioco è quello di «mangiare» dei numeri, raggiungendoli con la testa del verme, senza che il verme tocchi se stesso o i bordi dello schermo:

worm [dimensione]

Il verme è costituito da una sequenza di caratteri «o» e la testa la si distingue perché è rappresentata da «@». Inizialmente il verme si presenta lungo otto caratteri in tutto, a meno di utilizzare l'opzione numerica, che può servire per riprendere il gioco con un verme più grande.

worm[Invio]

Ecco come si presenta il gioco dopo un po' di tempo che viene utilizzato, quando ha raggiunto la dimensione di 85 caratteri:

Worm                                                               Score:  85
 *****************************************************************************
*                    oooooooooooooooooooooooooooooooooooooooooooo             *
*                    o                ooooooooooooooooooooooooooo             *
*                    o                o                                       *
*                    o                                                        *
*                    o                                                        *
*                    o                                                        *
*                    o                                                        *
*                    o                                                        *
*                    o                                                        *
*                    o                                                        *
*                    o                                                        *
*                    o                                                        *
*                    o                                                        *
*                    o                                                        *
*                    ooooooo@                         1                       *
*                                                                             *
*                                                                             *
*                                                                             *
*                                                                             *
*                                                                             *
*                                                                             *
*                                                                             *
 *****************************************************************************

Per dirigere il verme dovrebbe essere possibile usare i tasti freccia, ma rimane la possibilità di usare i tasti [h], [j], [k], e [l], come con il programma VI.

200.9   Tetris

Il programma tetris-bsd(9) è il gioco del «tetris», nella versione per terminali a caratteri.

tetris [opzioni]
tetris-bsd [opzioni]

Attraverso le opzioni è possibile incrementare il livello di gioco e attivare l'anteprima del pezzo successivo. Si veda eventualmente la pagina di manuale tetris(6) o tetris-bsd(6).

tetris-bsd[Invio]

Ecco come si presenta il gioco dopo un po' di tempo che viene utilizzato:

tetris

Per dirigere i pezzi si usano i tasti [j], [k] e [l], che servono rispettivamente per spostare a sinistra, ruotare e spostare a destra. Per fare una pausa si usa il tasto [p], mentre per far scendere immediatamente un pezzo si usa la [barra spaziatrice].

Appunti di informatica libera 2007.02 --- Copyright © 2000-2007 Daniele Giacomini -- <daniele (ad) swlibero·org>


1) BSD utils   UCB BSD

2) BSD games   UCB BSD

3) BSD games   UCB BSD

4) BSD games   UCB BSD

5) BSD games   UCB BSD

6) BSD games   UCB BSD

7) Fortune   UCB BSD

8) BSD games   UCB BSD

9) BSD games   UCB BSD


Dovrebbe essere possibile fare riferimento a questa pagina anche con il nome giochi_e_simili.htm

[successivo] [precedente] [inizio] [fine] [indice generale] [indice ridotto] [indice analitico]

Valid ISO-HTML!

CSS validator!