# Manuale di Galois 0.8

2012
2013
2014
2015
2016
2017
2018
2020
2021
2022
Gerardo Ballabio

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in .

Gerardo
Ballabio
Versione 0.1
Novembre 2012
Versione 0.2
Gennaio 2013
Versione 0.3
Marzo 2014
Versione 0.4
Luglio 2015
Versione 0.5
Novembre 2017
Versione 0.6
Giugno 2018
Versione 0.7
Agosto 2020
Versione 0.8
Novembre 2022
Questo manuale descrive la versione 0.8 di Galois.

## Introduzione

Galois è un videogioco del tipo con i "blocchi che cadono", ma con caratteristiche uniche. Diversamente dalla maggior parte degli altri giochi di questo tipo, non è limitato a blocchi fatti da quattro mattoncini quadrati bidimensionali: potete scegliere tra varie diverse forme di mattoncini, blocchi composti da più o meno mattoncini, e persino tra partite bi e tridimensionali.

Galois è software libero, rilasciato sotto le condizioni della GNU General Public License, versione 3 o successiva. Questo significa essenzialmente che potete usarlo, modificarlo e redistribuirlo senza restrizioni, eccetto che vi si richiede di trasmettere la stessa libertà a tutti coloro ai quali lo redistribuite.

Galois è ospitato su Savannah, il sito di sviluppo software per le persone che tengono al software libero.

### Nome del gioco

Évariste Galois è stato un matematico francese, uno dei fondatori della "teoria dei gruppi", una struttura che attraversa quasi tutti i campi della matematica moderna. Questo gioco fa uso internamente di gruppi di un tipo specifico, i gruppi di simmetria. Poiché il primo gioco con i blocchi che cadono (che sfortunatamente era un programma proprietario) aveva un nome che terminava con "is", ho pensato che chiamare il mio Galois sarebbe stato un bell'omaggio a entrambi. E come bonus aggiuntivo, comincia con G, come Gtk+ e GNOME.

### Note legali

Copyright 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2020, 2021, 2022 Gerardo Ballabio

Galois is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

Galois is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

A copy of the license is included in .

## Come installare

La versione più recente di Galois si può scaricare dal sito web di Galois: https://www.nongnu.org/galois/

Il modo più semplice è installare un binario precompilato, se è disponibile per la vostra piattaforma (vedi ). Altrimenti, dovrete scaricare il codice sorgente e compilarlo (vedi ).

Se state aggiornando da una versione più vecchia, vi può interessare leggere le note per l'aggiornamento (vedi ).

### Piattaforme supportate

Galois dovrebbe funzionare su qualunque sistema sul quale le librerie software da cui dipende siano disponibili (vedi ). Questo comprende (ma non è limitato a) GNU/Linux, BSD, Microsoft Windows, e Mac OS X.

L'ho effettivamente testato sui seguenti sistemi:

- Debian GNU/Linux stabile, architetture i386 e amd64 (cioè PC a 32 e a 64 bit). Il secondo è il mio computer, quindi è e resterà la piattaforma meglio supportata nel futuro prevedibile.

- Microsoft Windows 10.

Se lo provate su un altro sistema, sia che riusciate o che falliate, per favore fatemi sapere.

### Requisiti hardware

Essendo un gioco che non richiede un'animazione veloce né grafica sofisticata, Galois ha requisiti molto ridotti. Dovrebbe funzionare bene anche su computer molto vecchi ed economici e senza accelerazione hardware.

### Pacchetti binari

In questo momento, binari precompilati di Galois sono disponibili per le seguenti piattaforme:

- Debian GNU/Linux: a partire da Debian 10 (Buster) Galois fa parte del rilascio stabile ufficiale di Debian. Questo significa che potete installarlo tramite gli strumenti standard di gestione dei pacchetti di Debian, cioè `apt-get` o `aptitude` sulla riga di comando, o un package manager grafico come `synaptic`. Il nome del pacchetto è `galois`. Per esempio, se siete autorizzati ad usare `sudo`, potete eseguire:

        sudo apt-get install galois

  Il pacchetto è disponibile per tutte le architetture rilasciate. Ho verificato che funziona su i386 e amd64; si suppone che funzioni anche sulle altre architetture, ma non so se qualcuno abbia effettivamente provato. Se provate, per favore fatemi sapere.

  Se c'è una versione di Galois più recente di quella nell'attuale rilascio stabile di Debian, potete scaricare un pacchetto binario per tale versione dal sito web di Galois e installarlo con `dpkg`. Questo è disponibile per le architetture i386 e amd64.

  Il pacchetto Debian potrebbe funzionare anche sulle distribuzioni derivate da Debian. Se provate, per favore fatemi sapere.

- Microsoft Windows: c'è un binario di Galois che potete scaricare ed eseguire, ma non c'è un pacchetto di installazione completo che installi anche i file di documentazione e faccia comparire Galois nel menù dei programmi. La documentazione è comunque disponibile sul sito web di Galois.

  Il binario è stato compilato su Debian GNU/Linux usando l'ambiente di cross-compilazione MXE.

- Questa pagina web: https://repology.org/project/galois/packages elenca altre distribuzioni GNU/Linux che contengono binari di Galois. Io non mantengo questa pagina, né questi binari, e non li ho testati.

Per le altre piattaforme, Galois deve essere compilato da sorgente (vedi ). Sono disponibile a fornire pacchetti binari se qualcuno si offre volontario per compilarli e mantenerli.

### Installazione da sorgente

Per installare Galois da sorgente, per prima cosa dovete controllare che tutte le sue dipendenze siano installate sul vostro sistema, e installare tutte quelle mancanti (vedi ). Quando avete fatto questo, estraete il file archivio compresso `galois-0.8.tar.gz` in una directory a vostra scelta. Poi aprite una shell di comando (console o terminale), spostatevi nella directory base dell'albero dei sorgenti estratto, `galois-0.8`, e scrivete i seguenti comandi:

      ./configure
      make
      make install

`configure` ha molte opzioni da riga di comando con cui potete specificare dove installare, dove trovare le dipendenze (questo vi servirà se sono installate in posizioni non standard), quali flag di compilazione usare, e così via. Eseguite `./configure --help` per una lista completa.

Per il passo `make install`, dovete avere il permesso di scrittura sulla directory di installazione. Su GNU/Linux e altri sistemi Unix-compatibili, se state installando nella posizione standard (cioè sotto `/usr/local`), ciò vuol dire che dovete eseguire questo comando come root (usate `su` o `sudo`).

### Dipendenze

Per poter compilare Galois, i seguenti pacchetti devono essere installati sul vostro sistema:

- Un ambiente Unix di base, compreso il programma `make`

- g++ o un altro compilatore C++ che supporti almeno lo standard C++11

- gtkmm 3

- libxml++

Per tutte le principali versioni di GNU/Linux, versioni precompilate di questi pacchetti sono disponibili. Le librerie precompilate sono solitamente suddivise in un pacchetto "base" e uno "di sviluppo" (il secondo ha un nome che termina con `-dev` o `-devel`). Per compilare Galois, dovete installare entrambi; mentre per eseguire il programma compilato, sono richiesti solo i pacchetti base. Se volete anche poter ricompilare le versioni HTML e PDF della documentazione, vi serviranno anche questi:

- xmlto

- dblatex (per la versione PDF)

Nomi dei pacchetti per Debian 11 (Bullseye):

- pacchetti base: `libgtkmm-3.0-1v5`, `libxml++2.6-2v5`.

- compilatore e pacchetti di sviluppo: `make`, `g++`, `libgtkmm-3.0-dev`, `libxml++2.6-dev`.

- strumenti per compilare la documentazione: `xmlto`, `dblatex`, `texlive-lang-italian` (per la versione italiana).

I pacchetti per altre distribuzioni di GNU/Linux dovrebbero avere nomi simili, in particolare per le distribuzioni derivate da Debian.

Se state installando un pacchetto binario precompilato (vedi ), normalmente non vi dovete preoccupare di avere le necessarie dipendenze installate perché il sistema di gestione dei pacchetti se ne occupa automaticamente.

### Note per l'aggiornamento

In Galois 0.3, i percorsi dove sono conservati i file di dati degli utenti sono stati cambiati per essere più coerenti con le convenzioni comunemente usate. Se state aggiornando da una release più vecchia, i file esistenti non verranno spostati automaticamente nei nuovi percorsi: se non volete perdere le vostre impostazioni e i punteggi, dovete spostarli manualmente prima di lanciare la nuova versione.

Il nuovo percorso per il file delle impostazioni è config_dir`/galois/galois.conf`, dove config_dir è il percorso restituito dalla funzione di glibmm `get_user_config_dir()` sul vostro computer (tipicamente `$HOME/.config` nei sistemi GNU/Linux). Il vecchio percorso era config_dir`/galois.conf` (senza la sottodirectory `galois`). Dovete creare la sottodirectory e spostarvi il file.

Il nuovo percorso per il file dei punteggi è data_dir`/galois/galois.res`, dove data_dir è il percorso restituito dalla funzione di glibmm `get_user_data_dir()` sul vostro computer (tipicamente `$HOME/.local/share` nei sistemi GNU/Linux). Il vecchio percorso era data_dir`/galois.res` (senza la sottodirectory `galois`). Dovete creare la sottodirectory e spostarvi il file.

## Come giocare

Le partite di Galois si giocano su un tabellone fatto di celle quadrate, esagonali, triangolari o cubiche, dove blocchi fatti di "mattoncini" attaccati insieme, ciascuno dei quali occupa una cella, cadono a passo costante, uno per volta, finché si posano sul fondo del tabellone o sopra altri blocchi.

Mentre cadono, potete muoverli orizzontalmente, ruotarli e (se questa opzione è abilitata) rifletterli, in modo che quando si posano, si incastrino con gli altri blocchi, lasciando meno celle vuote possibile. Quando una linea orizzontale (o, nelle partite 3D, un piano) è occupata completamente da mattoncini, viene rimossa dal tabellone, e tutti i mattoncini che stavano al di sopra di essa cadono giù di una cella. (Potete anche rimuovere più linee in una volta sola se le completate con lo stesso blocco.)

L'obiettivo è rimuovere le linee (o i piani) abbastanza in fretta da evitare che i mattoncini si impilino fino alla cima del tabellone: quando non c'è più spazio per collocare un nuovo blocco che cade, la partita è finita. Questo diventa sempre più difficile man mano che la partita procede, perché, a seconda della modalità di gioco selezionata, o la velocità con cui i blocchi cadono, o il numero di mattoncini che compongono i blocchi, aumenta man mano che più linee vengono completate.

### Lanciare Galois

Se state utilizzando un ambiente grafico che supporta la specificazione dei menù XDG (per esempio GNOME o KDE), vedrete una voce per Galois nei menù di sistema (sotto Applications Games in Gnome 2) o nella funzionalità equivalente fornita dal vostro ambiente (panoramica delle applicazioni in Gnome 3 o successivo), e potete lanciarlo cliccando su di essa. Altrimenti, potete creare un collegamento al file eseguibile `galois` sul vostro desktop (se il vostro ambiente permette i collegamenti sul desktop), o aprire un file manager e navigare nella directory dove esso è stato installato (tipicamente `/usr/games` o `/usr/local/games` nei sistemi GNU/Linux), o eseguirlo dalla riga di comando.

Per iniziare una nuova partita, scegliete Game New dalla barra dei menù, o premete Ctrl N . Questo comando è disattivato quando una partita è già attiva (in corso o in pausa).

Per mettere in pausa una partita, o far ripartire una partita in pausa, premete il tasto assegnato all'azione Pause: di regola è Esc.

Per fermare definitivamente una partita in corso o in pausa, scegliete Game Stop dalla barra dei menù. Se non c'è al momento una partita attiva, questo comando è disattivato.

Per aprire la finestra delle preferenze, scegliete Game Preferences dalla barra dei menù. Questo comando è disattivato quando c'è una partita attiva.

Per aprire la finestra dei punteggi, scegliete Game Scores dalla barra dei menù. Questo comando è disattivato quando c'è una partita attiva. La finestra dei punteggi si aprirà anche alla fine della partita ogni volta che realizzate un punteggio che si collochi tra i primi 10 per le impostazioni correnti, e vi permetterà di inserire il vostro nome in quella riga.

Per avere aiuto su Galois, scegliete Help Contents dalla barra dei menù, o premete F1. Il Manuale di Galois (cioè questo documento) verrà visualizzato. Se non state utilizzando GNOME, questo potrebbe non funzionare; in ogni caso una versione HTML del manuale è distribuita con l'archivio dei sorgenti, e le versioni HTML e PDF possono essere scaricate dal sito web di Galois.

Per avere informazioni di base su Galois, scegliete Help About dalla barra dei menù.

Per uscire da Galois, scegliete Game Quit dalla barra dei menù, o premete Ctrl Q .

### Interfaccia del gioco

La finestra di Galois contiene i seguenti elementi:

Barra dei menù (1)

  In cima alla finestra. Contiene le voci del menù per iniziare una nuova partita; fermare la partita in corso; aprire le finestre delle preferenze e dei punteggi; ottenere aiuto e informazioni su Galois; e uscire dal programma.

Anteprima del prossimo blocco (2)

  Nell'angolo in alto a destra della finestra.

Tabellone del gioco (3)

  Sulla sinistra della finestra. Questo è l'elemento principale dell'interfaccia del gioco: qui è dove cadono i blocchi.

Visualizzazione del punteggio (4)

  Sulla destra della finestra. Mostra il punteggio attuale, il livello, e il numero di linee completate.

### Controlli del gioco

Mentre i blocchi cadono, potete compiere le seguenti azioni su di essi:

- Muoverli a destra o a sinistra, e nelle partite 3D in alto e in basso.

- Ruotarli: nelle partite 2D c'è un solo modo di rotazione (in senso antiorario), nelle partite 3D ce ne sono tre (intorno agli assi X, Y, e Z).

- Rifletterli: questa azione può essere attivata o disattivata nella finestra delle preferenze. Inizialmente è disattivata.

- Farli cadere: il blocco cade giù molto velocemente.

Potete eseguire ciascuna di queste azioni premendo il tasto corrispondente sulla tastiera. La mappatura tra azioni e tasti è mostrata nella finestra delle preferenze (scheda Controls) e può essere cambiata dall'utente. La mappatura di partenza è come segue:

- Per le partite 2D: ← e → per muovere il blocco, ↑ per ruotarlo, ↓ per rifletterlo (se permesso) e spazio per far cadere il blocco.

- Per le partite 3D: ←, →, ↑ e ↓ per muovere nelle quattro direzioni, 1, 2 e 3 per ruotare, 4 per riflettere (se permesso) e spazio per far cadere il blocco.

Ho impostato diversi gruppi di controlli per le partite 2D e 3D perché in 2D, ↑ per ruotare è la norma nei giochi con i blocchi che cadono e permette di giocare comodamente con una sola mano; ma in 3D è naturale usare i quattro tasti freccia per muovere nelle quattro direzioni.

### Preferenze

La finestra delle preferenze ha due schede:

Game

  Impostazioni sulla geometria e le modalità di gioco:

  - Scegliete la geometria tra: quadrata, esagonale, triangolare (tutte queste 2D), e cubica (3D), con o senza riflessione dei blocchi.

  - Scegliete la larghezza del tabellone e (per le partite in 3D) la profondità.

  - Scegliete cosa fare ai cambi di livello (ogni 10 linee completate): aumentare la velocità del gioco, la dimensione massima dei blocchi, o la dimensione dei superblocchi. Se scegliete la dimensione massima dei blocchi, potete anche scegliere se aumentare, tenere fissa o diminuire la dimensione minima. I superblocchi sono blocchi più grandi del massimo: sono abilitati solo se scegliete la dimensione dei superblocchi.

  - Scegliete il livello di velocità iniziale e la dimensione massima e minima dei blocchi.

  - Scegliete se rimuovere le linee anche quando non sono completamente piene: si possono permettere fino a 2 mattoncini mancanti.

  - Scegliete se visualizzare il prossimo blocco.

  - Scegliete se visualizzare dove si poserà il blocco.

Controls

  Impostazioni sui tasti di controllo: per cambiarne uno, fate doppio clic sul nome del tasto corrente (o selezionatelo con la tastiera e premete Invio) e quando viene evidenziato, premete il tasto con cui lo volete sostituire.

Le impostazioni sono salvate nel file config_dir`/galois/galois.conf`, dove config_dir è il percorso restituito dalla funzione di glibmm `get_user_config_dir()` sul vostro computer (tipicamente `$HOME/.config` nei sistemi GNU/Linux). Potete ripristinare le impostazioni iniziali cancellando questo file.

### Punteggi

Galois registra i punteggi delle migliori partite insieme alle rispettive impostazioni. La finestra dei punteggi mostra i migliori 10 punteggi per le impostazioni correnti.

I punteggi possono essere filtrati secondo vari criteri, per esempio potete scegliere se vedere solo le partite giocate con uno specifico intervallo di dimensioni iniziali, o tutte le partite giocate con mattoncini quadrati, o persino con qualunque forma di mattoncini. I filtri possono essere cambiati usando i pulsanti e i campi in cima alla finestra dei punteggi.

Ho cercato di calibrare i punteggi proporzionalmente alla difficoltà del gioco, in modo che partite giocate con impostazioni differenti possano essere confrontate; ma è molto arduo dare una valutazione oggettiva di quanto sia difficile una data modalità di gioco.

I punteggi sono salvati nel file data_dir`/galois/galois.res`, dove data_dir è il path restituito dalla funzione di glibmm `get_user_data_dir()` sul vostro computer (tipicamente `$HOME/.local/share` nei sistemi GNU/Linux).

## Come contribuire

> "Gratuitamente avete ricevuto, gratuitamente date." (Matteo 10,8)

Se desiderate aiutare a migliorare Galois, siete invitati a contattarmi (vedi ). Dovete accettare di rilasciare i vostri contributi come software libero sotto la licenza con cui Galois è rilasciato (la GNU General Public License, versione 3 o successiva).

## Informazioni per contatti

Il sito web di Galois è su https://www.nongnu.org/galois/

La pagina del progetto su Savannah è https://savannah.nongnu.org/projects/galois

Per qualsiasi richiesta su Galois, mandate una email a galois-list@nongnu.org

Per iscrivervi alla mailing list, o consultare i suoi archivi, andate su https://lists.nongnu.org/mailman/listinfo/galois-list