# Manuale di &kajongg;

## Introduzione

### Tipo di gioco:

Da tavolo, arcade

### Numero di possibili giocatori:

Quattro

&kajongg; è un gioco da tavolo creato basandosi sul famoso gioco orientale del Mah Jong (dal Cinese 麻將). Viene giocato da quattro giocatori. Al mondo esistono molte e diverse regole in uso. Al momento &kajongg; supporta le regole classiche cinesi, come giocate in Germania; e seguiranno, eventualmente, altri importanti regole. È possibile personalizzare o aggiungere nuovi schemi di regole. Se lo fate, inviatele cortesemente all'autore del programma per l'integrazione!

&kajongg; può essere usato in due modi differenti: conteggio dei punti di una partita manuale, in cui giochi come tuo solito senza l'aiuto del computer e utilizzi &kajongg; per il conteggio e il mantenimento dei punti; oppure puoi usarlo per giocare contro qualsiasi combinazione di utenti umani e digitali.

## Aspetto della schermata

Schermata di &kajongg; Schermata

Una rapida spiegazione delle parti della schermata di gioco.

Barra degli strumenti

- La barra degli strumenti è posizionata sotto la barra dei menu e contiene i pulsanti per le azioni più utilizzate. Il contenuto della barra degli strumenti può essere modificata. Puoi anche renderla invisibile, dando più spazio al tavoliere.

  A seconda della dimensione del tuo schermo, potresti decidere di far scomparire la barra degli strumenti o di spostarla nel lato sinistro della finestra. Puoi eseguire il comando facendo clic col tasto destro del mouse sulla barra degli strumenti.

Tavoliere

- Il tavoliere è la sezione più ampia della finestra. Puoi vedere i quattro muri della lunghezza di 18 tessere (l'esatto numero dipende dalle regole come usare le tessere bonus o no). I nomi dei giocatori sono scritti sul muro, insieme con il valore corrente della mano (per quanto conosciuta) e le loro tessere di vento. Il vento prevalente ha uno sfondo colorato, Est nella schermata qui sopra.

  Quando si gioca, l'interno dei muri conserva le tessere scartate dai giocatori. Essi sono posizionate a caso. L'ultima tessera scartata è evidenziata con una cornice azzurra.

  Quando si conteggiano partite manuali, l'interno dei muri ha una selezione di tutte le tessere disponibili, il selettore centrale. Puoi assegnarle ai giocatori utilizzando il mouse o la tastiera.

Area del giocatore

- Ciascun giocatore ha un'area di schermata per le proprie tessere. La fila superiore contiene le tessere dichiarate, quella inferiore quelle coperte. Quando si conteggia manualmente una partita, le tessere coperte sono mostrate con un'ombra sopra l'intera tessera. Le tessere bonus vanno all'estrema destra.

Finestra di dialogo

- La finestra di dialogo mostra le scelte che ha il giocatore. Il più delle volte presenta un timer che indica una barra di avanzamento indicante il tempo rimanente.

Barra di stato

- La barra di stato è posizionata in basso nella schermata e contiene i totali correnti per i giocatori.

## Conteggio dei punti di una partita manuale

In questa modalità, &kajongg; viene utilizzato solo per eseguire il conteggio. giochi come al solito con persone vere in un tabellone vero, e alla fine della partita puoi inserire in &kajongg; le tessere che un giocatore ha in mano e qualsiasi altra informazione che &kajongg; necessita per calcolare i punteggi (che è quello che farà il programma). In alternativa, puoi calcolare manualmente i punteggi di mano e inserirli. &kajongg; eseguirà poi i pagamenti tra i giocatori e scriverà i risultati in un database. È possibile interrompere una partita, avviarne una con altri giocatori e riprendere vecchie partite. Tutte le regole saranno salvate con le partite, perciò partite diverse possono essere giocate con regole diverse.

- Dal menu, seleziona Partita / Conteggia partita manuale o premi &Ctrl;C.

- Ora puoi sia selezionare una partita esistente non terminata, sia iniziare una nuova partita. Se inizi una nuova partita, ti verranno chieste informazioni sui giocatori e sullo schema di gioco. &kajongg; proporrà gli stessi valori usati per la partita precedente. Se non esistono partite precedenti, proporrà i primi quattro giocatori definiti. Nota che non puoi modificare lo schema di gioco e qualsiasi altra sua regola dopo questa selezione. Puoi farlo anticipatamente nell'editor degli schemi.

- Ora otterrai una nuova finestra intitolata «Inserisci i risultati di mano». Leggi Fare in modo che &kajongg; calcoli il punteggio per una descrizione dettagliata.

- Dopo aver salvato i risultati di mano, continua con la mano successiva.

### Inserire i risultati di mano

#### Punteggi

Schermata di &kajongg; Schermata

Questa è la finestra per l'inserimento dei risultato di mano. Viene mostrata automaticamente quando &kajongg; pensa che tu ne abbia bisogno. Puoi sempre visualizzarla o nasconderla premendo &Ctrl;S o selezionando la voce di menu corrispondente.

Come sempre, il vento prevalente ha lo sfondo colorato.

Qui puoi inserire manualmente i punteggi per tutti i giocatori. In alternativa puoi definire esattamente quali tessere aveva in mano un giocatore. Se scegli questa azione, il campo corrispondente per il punteggio manuale diverrà grigio. &kajongg; calcolerà automaticamente il punteggio.

Dopo aver inserito tutti i dati rilevanti per una mano, premi il pulsante Salva mano. I valori della mano saranno inseriti nel database e nel tabellone del punteggio. Ti potrebbe essere chiesto di cambiare le posizioni dei giocatori, ma puoi scegliere anche di non cambiarle. I posti proposti sono al momento non personalizzabili: se uno schema di gioco necessita qualcosa di diverso, lo cambieremo.

Se il giocatore può aver vinto, sarà attivata la casella nella colonna «Vincitore»: facci clic sopra per il vincitore.

La barra di stato ora mostrerà il bilancio aggiornato per i giocatori, ed è possibile continuare con la mano successiva.

##### Inserire manualmente il punteggio

Un buon giocatore preferirà probabilmente calcolare il proprio punteggio da sé. In questo caso puoi inserire direttamente il punteggio. Questo non è possibile se non vi è alcuna tessera selezionata per il giocatore.

Se inserisci manualmente un punteggio, esso deve contenere tutto eccetto le penalità, e non vi saranno regole facoltative da cui scegliere. Esiste un'eccezione: «Gioco pericoloso». Questo non influenza alcun punteggio, e non è neppure un'irregolarità. Significa solo che il pagamento tra i giocatori è diverso: il giocatore irregolare paga tutto per tutti al vincitore. Gli altri due giocatori non si scambiano pagamenti. Questa opzione al momento non è personalizzabile.

##### Far calcolare il punteggio a &kajongg;

Se indichi esplicitamente a &kajongg; quali tessere possiede un giocatore, l'inserimento dei punteggi in questa finestra saranno disattivati per quel giocatore. Durante l'associazione delle tessere a un giocatore noterai che il punteggio aumenta, ma non appena aggiungi la quattordicesima tessera il punteggio è riportato a zero. Questo può sorprendere ma, a meno di non dichiararla vincitrice, questa mano è riconosciuta come mano morta, che ha sempre zero punti. Questo comportamento è definito dallo schema di regole cinesi classiche, e può differire se cambi le regole o utilizzi uno schema di gioco diverso.

Puoi associare tessere e combinazioni a un giocatore utilizzando il mouse, la tastiera o entrambi. Col mouse basta trascinare e rilasciare le tessere nell'area del giocatore. Quando rilasci la tessera ti verrà chiesto cosa vuoi rilasciare: singolo, coppia, tris, poker, poker dichiarato o scala. La fila superiore è riservata alle tessere scoperte, mentre quella inferiore a quelle coperte. Le tessere bonus appariranno all'estrema destra. Puoi anche muovere le tessere e le combinazioni tra le righe, tra i giocatori o indietro al selettore centrale.

Se preferisci utilizzare la tastiera, puoi usare il tasto per spostarti tra il selettore centrale e le aree dei giocatori. I tasti eswnESWN spostano una tessera ai giocatori Est, Sud, Ovest e Nord. I tasti xX la riportano indietro al selettore centrale. ESWN sposta alla fila delle tessere coperte, eswn sposta a quella delle scoperte. Puoi muovere il cursore tra le tessere o le combinazioni tramite i tasti freccia, e la tessera o la combinazione correntemente selezionata viene evidenziata con un riquadro azzurro. Dato che i tasti freccia stanno abbastanza lontano dalle lettere nella tastiera, puoi usare anche le lettere hjkl o HJKL per lo spostamento del cursore. hH sposta a sinistra, jJ sposta giù, kK sposta su, lL sposta a destra. Questo è il metodo utilizzato dall'editor unix «vi». Anche il browser KDE Konqueror e questo programma di aiuto supportano quei tasti allo stesso modo. Essi possono variare se utilizzi una lingua diversa dall'Inglese, ma al momento non è possibile configurarli.

Le opzioni «Ultima tessera» e «Ultima combinazione» sono necessarie ad alcune regole come «l'ultima tessera completa la coppia». Esse possono essere utilizzate solo per la mano vincente.

Nella parte destra della finestra puoi applicare manualmente alcune regole. Le regole che appaiono in quest'elenco dipendono dallo schema di giocoattivo e dalle tessere. Nell'esempio della schermata in alto, i giocatori perdenti potrebbero avere l'opzione «gioco pericoloso»: anche in questo caso, essa dipende dallo schema di gioco e dalle sue tessere. Lo scopo degli sviluppatori è mantenere più corto possibile quest'elenco di regole selezionabili manualmente. In una condizione ottimale &kajongg; dovrebbe essere sempre in grado di determinare se una regola è applicabile, ma talvolta non ha abbastanza informazioni o conoscenze per decidere.

#### Penalità

Schermata di &kajongg; Schermata

Nella finestra di inserimento dei risultati della mano, il pulsante Penalità conduce alla finestra in cui inserire le penalità. Questo può essere eseguito in qualsiasi momento indipendentemente dal normale meccanismo di attribuzione del punteggio.

La selezione Irregolarità mostra tutte le irregolarità che possono essere alle mani che il giocatore possiede. Scegli tra esse.

Ora puoi adattare la Penalità totale. Questa è la somma totale che viene spostata dai paganti ai pagati. Verrà divisa equamente tra di loro.

A seconda del tipo di penalità, il numero di paganti e pagati varia. viene visualizzato l'esatto numero di giocatori. Se selezioni un giocatore, &kajongg; assicura che questi esista solo una volta, adattando gli altri giocatori.

## Giocare

Puoi attivare la modalità Dimostrazione in qualsiasi momento. In questa modalità, il computer giocherà per te. Se non stai giocando alcuna partita, ne verrà iniziata una nuova con l'ultimo schema di gioco usato.

### Gioca contro il computer

In primo luogo ti appare una finestra di accesso. Digita il server di gioco cui vuoi collegarti e il tuo nome utente. Se scegli la voce speciale «Partita locale», devi solo digitare il tuo nome (o accettare quello proposto) e lo schema di gioco desiderato. Ciò avvierà immediatamente una partita locale in cui giochi contro tre giocatori robot. Tuttavia, se esistono partite in sospeso, esse saranno visualizzate in un elenco. Puoi dunque selezionare la partita che desideri continuare o iniziarne una nuova.

### Gioca con amici

Se desideri giocare contro persone reali, hai bisogno di un server di gioco a cui tutti i giocatori, incluso tu, devono collegarsi. Esegui questa azione selezionando qualsiasi altro host o digitando manualmente il nome di un nuovo host e specificando la password appropriata. Verrà proposta l'ultima password usata.

Se non hai un account in quel server corrispondente al nome che hai digitato, ti verrà chiesto a aprirne uno. Se rispondi sì, otterrai una nuova finestra di dialogo in cui digitare due volte la password scelta. L'account sarà creato automaticamente.

Dopo aver avuto correttamente accesso al server di gioco cui vuoi collegarti, otterrai un elenco di tavoli con i posti disponibili su quel server. Unisciti a un tavolo o creane uno nuovo. Se ne crei uno nuovo, aspetta fino a quando i posti vengono occupati da altri giocatori. Puoi iniziare la partita in qualsiasi momento nel tavolo da te creato, i posti vuoti verranno occupati da giocatori robot.

L'elenco della tavoliere mostra anche il nome dello schema giocato in quel tavoliere. Lo schema e il suo nome vengono inviati al server di gioco dal giocatore che inizia il tavolo. Se hai uno schema identico, il tavoliere mostra il tuo nome per lo schema: questo può essere utile se chi ha aperto il tavolo parla un'altra lingua e chiama lo schema in modo diverso. Inoltre, il nome del tuo schema locale sarà visualizzato in nero. Tuttavia, se non possiedi lo stesso il nome appare in rosso e puoi premere il pulsante Confronta per confrontarlo con quelli in tuo possesso.

Puoi avviare il server di gioco di &kajongg; in due modi diversi:

- collegarti al server "localhost". questo è il tuo computer. Se fai questa scelta e non è avviato alcun server di gioco, esso sarà avviato automaticamente. Quando finisci di giocare, anche il server viene fermato.

- avviare manualmente un server su un computer di tua scelta. Tutto quello che serve è avviare da riga di comando il programma «kajonggserver». Se scrivi «kajonggserver --help» ti verranno mostrate le opzioni disponibili, come la modifica della porta predefinita 8149. Questo server rimarrà avviato fino a che non lo termini.

In entrambi i casi devi dire agli altri giocatori come possono raggiungere il tuo server di gioco. Essi hanno bisogno dell'&URL;, o semplicemente di un indirizzo IP e la porta in cui il tuo server è in ascolto. Può essere qualcosa tipo «miopc.dyndns.org:8149», dove 8149 è la porta. Naturalmente devi configurare il tuo firewall affinché il giocatore remoto possa raggiungere quella porta. La comunicazione sarà cifrata.

Se ti imbatti in possibili errori, potresti voler utilizzare l'opzione «--showtraffic». Questa ti mostrerà, nella console in cui è stato avviato il server di gioco, quali messaggi vengono scambiati tra il server di gioco e i client.

#### Limitazioni

- Se vuoi essere sicuro che nessuno possa imbrogliare, nessuno dei giocatori umani devono avere accesso al computer in cui è avviato il server di gioco. Non puoi, naturalmente, evitare che due giocatori si aiutino a vicenda, perché non puoi sapere cosa realmente stanno facendo. Due giocatori possono essere anche la stessa persona.

### Regole del gioco

Esistono, a livello internazionale, molte varianti del gioco. Al momento descriviamo solo le regole per il Cinese classico, così come giocato in Germania. Tuttavia, la maggior parte delle regole di base sono le stesse nella maggioranza delle varianti.

Poiché il programma &kajongg; sa come giocare, questa descrizione contiene solo le cose che potrebbero non essere ovvie.

Se vuoi apprendere il Mah Jong in modo più approfondito, consulta la bibliografia.

#### Scopo del gioco

Ciascun giocatore tenta di raccogliere le tessere in modo da ottenere una mano vincente. Nel riuscirvi, egli chiama il «Mah Jong». In una mano vincente le tessere sono normalmente raggruppate in cinque combinazioni: quattro combinazioni con tre o quattro tessere ciascuna e una quinta composta da due tessere uguali. Una combinazione normale contiene tre o quattro tessere identiche (chiamate rispettivamente Tris o Poker) oppure tessere in sequenza come Bambù 3, Bambù 4, Bambù 5 (chiamata Scala).

#### Svolgimento della partita

Inizialmente, il giocatore col vento Est (come indicato sul muro) possiede una tessera in più rispetto agli altri giocatori. Est inizia a scartare una tessera indesiderata.

Ogni volta che viene scartata una tessera, gli altri giocatori possono dichiararla annunciando ciò che con essa possono completare (Scala, Tris, Poker, Mah Jong). Solo il giocatore successivo può dichiarare una scala, mentre le altre dichiarazioni possono essere eseguite da tutti. Una combinazione completata da una dichiarazione verrà esposta, ossia resa visibile a tutti i giocatori.

Se nessuno dichiara la tessera scartata, il giocatore successivo, Sud (e di seguito Ovest e Nord), prende una tessera dal muro e scarta una tessera indesiderata.

Esistono varie regole sul modo in cui un tris può diventare un poker (dichiarando la quarta tessera od ottenendola dal muro): essere non vengono trattate qui. Ma &kajongg; conosce, naturalmente, tali regole e fa in modo che esse siano rispettate. Se viene dichiarato un poker, il giocatore ottiene automaticamente un rimpiazzo di tessera dal muro - diversamente non sarebbe possibile costruire le cinque combinazioni, come affermato sopra.

#### Anno, Giro e Mano

Quando un giocatore dichiara Mah Jong o si termina in parità, viene completata una mano. Ora, ad eccezione delle mani pari, i venti ruotano tra i giocatori. Questo sistema è ripetuto fino a che ciascun giocatore ha ottenuto tutti i venti. Questa unità intera viene chiamata giro. Una partita intera, chiamata anche anno, consiste di quattro giri: vento di giro Est, vento di giro Sud, vento di giro Ovest, vento di giro Nord. Il vento di un giro è anche chiamato vento prevalente, che può determinare anche punteggi superiori.

Dunque una partita completa (un anno) consiste almeno di sedici mani. Dato che i venti non ruotano per le mani pari o quando il giocatore Est dichiara Mah Jong, per portare a termine un'intera partita è necessario normalmente un numero superiore di mani.

#### Tessere bonus

Una partita può contenere otto tessere bonus (a meno che le regole non le escludano). Esse sono esposte separatamente sul lato destro dell'area del giocatore, poiché essere non vengono mai utilizzate per costruire combinazioni. Esse, comunque, generano punti bonus.

Se un giocatore ottiene una tessera bonus, ottiene automaticamente anche una tessera di rimpiazzo dal muro.

#### Punteggio

Alla fine di una mano, viene calcolato il punteggio per ciascun giocatore. Per primo, i punti base sono conteggiati come due punti per un tris scoperto semplice o 20 punti per una vittoria. Poi, viene applicato un altro gruppo di regole - quelle regole possono raddoppiare i punti, come un punteggio doppio per una combinazione di draghi. Quando il punteggio per ciascuna mano è noto, le differenze sono pagate tra giocatori - mentre il vincitore ottiene il punteggio pieno pagato da tutti gli altri giocatori. Est ottiene e paga sempre due volte il proprio punteggio.

Ovviamente &kajongg; conosce tutte le regole applicabili, ma un buon giocatore sa il punteggio delle varie combinazioni, e ottimizza le proprie giocate. Durante l'apprendimento, è bene attivare la finestra Spiega punteggi.

Le esatte regole di calcolo del punteggio spesso variano - in &kajongg; si è liberi di modificarle con l'editor degli schemi.

L'editor degli schemi mostra anche tutti gli schemi disponibili e il loro significato. Posiziona il mouse sopra di essi: per le regole più particolari apparirà un testo esplicativo.

### Come si gioca a &kajongg;

Ti verrà domandato cosa desideri fare. Questa è una finestrella sulla destra o sulla parte inferiore, a seconda della dimensione della finestra. Puoi renderla più larga che alta, in tal caso essa apparirà a destra. A volte la finestrella è a tempo: una volta scaduto, la prima risposta possibile viene selezionata automaticamente per te. Il tempo è configurabile nell'editor degli schemi, sotto Opzioni, Dichiara il tempo. Tutti i giocatori devono avere lo stesso tempo a disposizione, ecco perché esso fa parte dello schema di gioco.

Se devi selezionare una tessera dalla tua mano, puoi spostarti tra le tessere utilizzando i tasti freccia destro e sinistro o le lettere h e l sulla tastiera. Ovviamente puoi usare anche il mouse.

Puoi scaricare una tessera usando sempre la tastiera, per qualsiasi azione. In alternativa, puoi usare il mouse e spostare la tessera dalla tua mano all'interno dell'area di scarto (all'interno delle mura). Il posizionamento della tessera nell'area di scarto verrà ancora eseguito dal computer - poiché il posizionamento deve essere uguale per tutti i giocatori.

Spesso, le finestre di dialogo offrono scelte che non sono veramente applicabili, tipo la chiamata di Tris quando non possiedi le tessere necessarie. Ciò è voluto: proprio come in una partita vera.

Le tessere scartate sono distribuite casualmente tra i muri. Alcune varianti di gioco definiscono il punto in cui le tessere devono essere posizionate, ma ciò non è ancora configurabile. Quando lo sarà, diventerà parte dello schema di gioco.

## Panoramica dell'interfaccia

### Il menu Partita

Partita Conteggio dei punti di una partita manuale

- Conteggia solo i punti di una partita giocata manualmente.

  Puoi caricare una vecchia partita o iniziarne una nuova. Per impostazione predefinita, solo le partite in corso (ad es., quelle non terminate) vengono mostrate nell'elenco di selezione. Facoltativamente, puoi visualizzare tutte le partite, incluse quelle terminate. Qui puoi anche eliminare partite.

Partita Gioca

- Gioca con altri (persone e computer).

Partita Interrompi

- Termina la partita corrente. Se è una partita manuale col solo conteggio dei punti, puoi riprenderla in seguito. Se giochi con &kajongg;, non puoi riprendere la partita.

Partita Esci

- Esce da &kappname;.

### Il menu Visualizza

Visualizza Punteggio

- Finestra del punteggio: mostra o nasconde la finestra di dialogo del punteggio. Questa finestra è spiegata qui.

Visualizza Bacheca punteggio

- Bacheca punteggio Bacheca punteggio Schermata Mostra la bacheca del punteggio. La colonna Giro/Mano indica gli attuali giri (Est, Sud, Ovest, Nord) seguiti dal conteggio delle mani giocate in quel giro. I valori del vincitore hanno uno sfondo verde. La colonna Pagamenti mostra quanto il giocatore ha pagato o ricevuto da tutti gli altri giocatori in questa mano. La colonna Bilancio mostra il bilancio attuale di tutti i giocatori. La colona Grafico mostra l'andamento dei valori del bilancio. I suggerimenti offrono maggiori dettagli: mostrano tutte le regole applicate a questa mano. Basta muovere il mouse sul valore cui sei interessato.

  La parte inferiore mostra lo schema di gioco usato. Tra la bacheca del punteggio e lo schema di gioco usato è presente un divisore che ti permette di modificare le relative dimensioni di entrambe le aree.

Visualizza Spiega punteggi

- Spiega punteggi Bacheca punteggio Bacheca punteggio Spiega come è stato calcolato il punteggio per la mano corrente.

### Il menu Impostazioni

Impostazioni Giocatori

- Aggiunge, modifica ed elimina i giocatori.

  Le password in questa tabella sono quelle utilizzate per impostazione predefinita quando si accede a un server di gioco. La modifica della password scelta al principio per il server non è in realtà per niente utile, perché non esiste ancora il modo di cambiare la tua password sul server di gioco. Dovresti chiedere all'amministratore del server di farlo al tuo posto, direttamente nel database.

Impostazioni Cambia angolo di visuale

- Cambia in senso antiorario l'angolo di visuale delle tessere.

Impostazioni Modalità dimostrazione

- Abilita o disabilita la modalità Dimostrazione. Per dettagli, leggi qui.

Impostazioni Mostra la barra di stato

- Mostra o nasconde la barra di stato.

Impostazioni Modalità schermo intero

- Alterna le modalità a schermo intero e normale.

Impostazioni Configura scorciatoie...

- Mostra una finestra &kde; standard di configurazione delle scorciatoie da tastiera per &kappname;.

Impostazioni Configura barre degli strumenti...

- Mostra una finestra &kde; standard in cui configurare le icone della barra degli strumenti.

Impostazioni Configura &kappname;...

- Apre una finestra di configurazione per &kappname;.

Impostazioni Mostra barra degli strumenti

- Mostra o nasconde la barra degli strumenti.

### Il menu Aiuto

&help.menu.documentation;

## Configurazione del gioco

Finestra di configurazione Finestra di configurazione

La voce di menu Impostazioni Configura &kappname;... apre la finestra di dialogo Configura - &kappname;.

Se premi qui il pulsante Annulla, tutte le tue modifiche alla configurazione saranno annullate, incluse tutte le modifiche eseguite con l'editor degli schemi di gioco.

Puoi anche selezionare le varie schede con la tastiera: &Ctrl;1 seleziona la prima scheda delle opzioni Gioca, &Ctrl;2 seleziona la seconda, e così via.

### Opzioni Gioca

Mostra ombre delle tessere

- Mostra le tessere con bordi e ombre. C'è anche un po' di spazio tra le file delle tessere e vengono mostrate le tessere del muro, in modo che possa vedere quanto esso è alto (due o tre file di tessere). Se l'opzione è disabilitata, si ottiene una vista più semplice con tessere leggermente più grandi, utile per schermi piccoli.

Ridisponi le tessere coperte in combinazioni

- Raggruppa le combinazioni nella mano. Talvolta il raggruppamento non è come vorresti, e dunque potresti desiderare di non averne alcuno, proprio come nelle partite reali.

Mostra solo le azioni possibili

- Durante la partita, mostra solo le azioni possibili come «Nessuna dichiarazione» o «Tris».

Usa suoni, se disponibili

- Permette di ascoltare gli scarti e le dichiarazioni. Se gli altri giocatori hanno registrato file sonori della propria voce, puoi sentirli.

Permetti agli altri di sentire la mia voce

- Se registri file sonori con la tua voce, questa opzione permette agli altri giocatori di sentire la tua voce quando scarti o dichiari.

Velocità animazione

- Definisce quanto rapidamente si spostano le tessere. Se sposti l'indicatore completamente verso destra, il movimento delle tessere non viene animato: le tessere cambieranno semplicemente di posto.

#### Suoni

È possibile registrare file sonori per i tuoi annunci, udibili dagli altri giocatori. È necessario un po' di lavoro manuale:

- In primo luogo devi decidere dove memorizzare i tuoi file vocali. La cartella è in genere ~/.kde/share/apps/kajongg. Se il tuo nome utente è mario, essa deve essere /home/mario/.kde/share/apps/kajongg. Lì si trova anche la base di dati kajongg.db.

- Nella cartella appena individuata crea una cartella secondaria di nome `voices`.

- Nella cartella `voices` crea un'altra cartella col tuo nome da giocatore. Questo è il nome che usi quando ti colleghi al server di gioco. Potresti anche desiderare di definire le voci per i giocatori `ROBOT 1`, `ROBOT 2` e `ROBOT 3`.

- In quella cartella secondaria, puoi sistemare i file sonori. Essi devono essere codificati con la compressione audio Ogg Vorbis e i nomi dei file devono avere l'estensione `.ogg`.

- Un singolo file ha un nome tipo `p3.ogg` - questo è Pietra 3. Devi definire questi file per tutte le tessere, le dichiarazioni e gli annunci.

Rendi il suono breve ma parla chiaramente: il gioco può svolgersi molto rapidamente, una volta preso confidenza con esso. Se scrivi un elenco di tutti gli elementi da pronunciare ti renderà più facile il lavoro. Non leggere gli elementi in sequenza ma sforzati di pronunciare ciascuna voce come un elemento isolato e come se stessi giocando. Questo tipo di lettura necessita di un po' di pratica.

Di seguito, un metodo per creare i file sonori:

- Registra un file sonoro col programma `qarecord`, salvalo nel formato `WAV`. In quest'unico file registra tutti i suoni.

- Modifica il file con l'editor di suoni `audacity`. Nell'editor, usa il mouse per evidenziare un intervallo di suono. L'editor riprodurrà quella porzione. Ripeti fino a quando non selezioni la porzione corretta. Quest'operazione può risultare più semplice con Visualizza Zoom avanti. Usa il comando File Esporta selezione e salvala in formato ogg. Nelle Opzioni, scegli una bassa qualità: questa è sufficiente e anche necessaria, poiché riduce il tempo del trasferimento dei suoni agli altri giocatori.

I seguenti nomi sono i nomi dei file da generare. Associa loro sempre l'estensione `.ogg`:

#### Nomi dei file sonori

&s1; .. &s9; | Da pietra 1 a pietra 9
&b1; .. &b9; | Da bambù 1 a bambù 9
&c1; .. &c9; | Da carattere 1 a carattere 9
&we; &ws; &ww; &wn; | I venti Est, Sud, Ovest, Nord
&db; &dr; &dg; | I dragoni blu/bianchi, rossi, verdi
&chow; &pung; &kong; &mahjongg; | Le dichiarazioni principali
&originalcall; &violatesoriginalcall; | Chiamata originale e sua violazione
&dangerousgame; | Un giocatore rilascia un cannone (gioco pericoloso)
&nochoice; | Un giocatore dichiara di non avere alcuna possibilità se non eseguire un gioco pericoloso

### Opzioni delle tessere

Selettore del set di tessere Selettore del set di tessere

Usa il selettore delle tessere per selezionare le immagini per le tessere.

### Opzioni dello sfondo

Selettore sfondo Selettore sfondo

Usa il selettore dello sfondo per selezionare un'immagine di sfondo per il gioco.

Alcuni sfondi, come il panorama cinese, impiegano del tempo a caricare. Se ritieni che il programma debba avviarsi più rapidamente o che il ridimensionamento della finestra principale impieghi sia troppo lento, puoi provare altri sfondi.

### Editor degli schemi di gioco

Editor schemi di gioco Editor schemi di gioco

Usa l'editor degli schemi per personalizzare gli schemi di gioco. Gli schemi di gioco predefiniti sono mostrati in corsivo, mentre quelli personalizzati in carattere normale. Gli schemi di gioco predefiniti non possono essere modificati in alcun modo dall'utente, ma potrebbe farlo un aggiornamento di &kajongg;. Gli schemi personalizzati non saranno mai modificati da un aggiornamento.

Quando avvi una nuova partita, potrai selezionare per essa uno schema di gioco. Possono essere utilizzati tutti gli schemi di gioco definiti nell'editor degli schemi. Lo schema di gioco è salvato assieme alla partita, così che puoi sempre cambiare le regole al suo interno: le tue modifiche avranno effetto solo sulle partite future.

#### Schema, punteggio e unità

Fai semplicemente doppio clic su ciò che vuoi modificare.

#### Definizione

La definizione per una regola può essere piuttosto complessa. Per essa esiste un capitolo dedicato: Definizione di una regola. In genere non dovrai modificare una definizione. Questa definisce essenzialmente a quali mani la regola si applica.

#### Copia e rimuovi

Puoi copiare un intero schema di gioco o le singole regole all'interno di uno schema. Poiché gli schemi di gioco predefiniti non sono modificabili, le singole regole possono essere copiate solo all'interno degli schemi di gioco personalizzati.

Puoi rimuovere gli schemi di gioco personalizzati o le singole regole al loro interno. Questo può essere eseguito se le partite esistenti usano questo schema di gioco, dato che ogni partita possiede la sua propria copia dello schema. Puoi visualizzare gli schemi di gioco delle vecchie partite: Carica la vecchia partita emostra la sua bacheca punteggio.

#### Confronta

Comparatore di schemi di gioco Comparatore di schemi di gioco Puoi selezionare questo comando quando è selezionato un intero schema di gioco. Ti consente di confrontare lo schema selezionato con gli altri schemi.

### Combinazioni predefinite della tastiera

La voce di menu Impostazioni Configura... ti permette di modificare le combinazioni predefinite della tastiera.

Le scorciatoie predefinite della tastiera sono le seguenti:

F1

- Mostra questo manuale.

&Ctrl;C

- Conteggia una partita manuale.

&Ctrl;N

- Gioca una partita con amici o computer.

&Ctrl;W

- Interrompi la partita corrente.

&Ctrl;Q

- Esci dal programma.

&Ctrl;T

- Mostra la bacheca punteggio.

&Ctrl;G

- Cambia l'angolo di visuale.

&Ctrl;D

- Abilita o disabilita la modalità Dimostrazione.

&Shift;F1

- Che cos'è? Aiuto

&Ctrl;&Shift;F

- Modalità schermo intero

## Definizione di una regola

Il motore del punteggio e molti altri aspetti di &kajongg; possono essere personalizzati tramite l'editor degli schemi di gioco. Una regola consiste di un nome, un punteggio (incluse le sue unità) e una definizione.

### Gruppi di regole

Esistono diversi gruppi di regole:

Regole di combinazione

- Le regole di combinazione sono applicate a combinazioni singole indipendenti dal resto della mano.

Regole di mano

- Le regole di mano sono applicate all'intera mano, per tutti i giocatori.

Regole del Mah Jong

- Le regole del Mah Jong specificano come una mano vincente deve apparire. Questa è di solito formata da quattro combinazioni con tre o quattro tessere ciascuna e una coppia. Ma le mani speciali possono apparire diverse, ad esempio le Tredici lanterne meravigliose nel Cinese classico.

Regole del vincitore

- Le regole del vincitore sono applicate all'intera mano, ma solo per il vincitore. Questo include la maggior parte delle mani speciali. Quelle regole non devono imporre il corretto numero di tessere.

Opzioni

- Qui puoi trovare vari parametri speciali come i punti per una mano limite.

Penalità

- Le penalità sono applicate manualmente dall'utente.

#### Ordine di esecuzione

- costruisci un elenco di regole applicabili dalle regole di combinazione e quelle di mano

- usando le regole del Mah Jong si scopre se la mano vincitrice dichiarata è veramente una mano vincente.

- per il vincitore aggiungi le regole del vincitore applicabili

- se qualcuna delle regole individuate contiene l'azione &absolute;, mantieni solo quelle. Non è ancora definito il risultato se ne viene individuata più di una.

- se qualcuna delle regole definisce i limiti massimi, scarta tutte le altre

- applica le regole individuate in quell'ordine

### La Definizione

La definizione è una stringa singola, perché vogliamo che sia facile salvarla in un database. Consiste di varie parti separate dai due caratteri «||». Una parte esprime una condizione sotto cui la regola si applica o esprime alcune azioni. Può essere definita solo una parte per le azioni ma varie espressioni di condizione. La regola è applicata non appena almeno una condizione coincide con la mano.

&kajongg; contiene uno schema di gioco predefinito che implementa le regole cinesi classiche, come definite dal DMJL tedesco. Questo dovrebbe fornirti molti esempi.

Queste sono tutte le parti riconosciute:

Espressione regolare con maiuscole/minuscole variabili

- Una parte che inizia per I è un'espressione regolare che non distingue tra maiuscole/minuscole. Tuttavia, tale distinzione viene sempre ignorata nella prima e principale parte dell'espressione regolare. Per le parti che iniziano per m,M,x o L, la distinzione tra maiuscole e minuscole è sempre valida.

Azione

- Una parte che inizia per A è un elenco di Azioni.

Espressione manuale

- Una parte che inizia per M è un'espressione regolare facoltativa. Per il conteggio manuale delle partite, definisce se questa regola deve essere selezionata dall'utente tramite una casella di attivazione. La M iniziale non appartiene all'espressione regolare. Un esempio può essere la regola "L'ultima tessera è presa dal muro morto".

Funzione

- Una parte che inizia per F è una funzione. A volte le espressioni regolari potrebbero essere troppo complicate o troppo lente. In tali casi la regola è codificata all'interno dello stesso programma e ci si può riferire qui a essa fornendo il suo nome di funzione. Al momento è definita solo una funzione `LastOnlyPossible`. Questa funzione determina se l'ultima tessera era l'ultima tessera possibile per la vittoria.

Espressione regolare

- Qualsiasi altra parte è un'espressione regolare.

### Espressioni regolari

Le espressioni regolari sono uno strumento molto potente di programmazione, per l'individuazione di stringhe di caratteri. Potente ma anche piuttosto difficile. Questo strumento non è adatto al normale giocatore. Sono disponibili manuali dedicati interamente alla spiegazione delle espressioni regolari.

Esistono vari dialetti di espressioni regolari. &kajongg; è scritto nel linguaggio di programmazione Python. Poiché la libreria standard di Python contiene un modulo per le espressioni regolari, questo è il dialetto che noi utilizziamo.

Per dettagli, consulta

Tutto ciò che riguarda una mano e che può influenzare il punteggio è codificato in un'unica stringa. &kajongg; controlla, poi, se l'espressione regolare coincide con questa stringa. Se essa coincide, la regola viene applicata.

Come esempio, questa espressione regolare individua la mano limite «Tutto verde»:

    ( |[bB][23468]|[dD]g)*[fy/]

#### Struttura di una stringa di mano

Il contenuto di una stringa di mano è sempre la stessa, non ha importanza quale lingua usi nel tuo desktop.

La stringa che rappresenta una consiste di diverse parti separate da uno spazio. L'ordine di queste parti è sempre lo stesso, ad eccezione per le parti della combinazione all'inizio.

&kajongg; è in grado di raggruppare le tessere coperte all'interno di combinazioni allo scopo di ottenere un risultato più alto. Non importa come le tessere coperte sono raggruppate per questo scopo. Tuttavia, quando esso raggiunge mani limite il sistema può sbagliare. Ecco perché &kajongg; tenterà sia il raggruppamento originale delle tessere eseguito dall'utente, sia un nuovo loro raggruppamento. Tutte le regole sono applicate per entrambe le varianti. Sarà utilizzata la variante che raggiunge il punteggio più alto.

Ecco un esempio. Questa è veramente una singola riga, ma è stata divisa per una migliore leggibilità. Inoltre, questa frase è ripetuta solo una volta perché alcune espressioni regolari sono molto più facili da scrivere se le parti possono essere sistemate in un altro ordine. Consulta la regola per il Pezzo rubato: la sua espressione regolare prima guarda il gruppo L (Ultima tessera) prima di guardare le combinazioni.

    c1c1c1C1 s1s2s3 b6b6b7b7b8b8 b5b5 fn yn
    /c416s000b000b000b200 -C416s000b000b000b200 %n Mneka LB5B5B5

Una tessera è rappresentata da 2 caratteri. Il primo è s per pietra, b per bambù, c per carattere, w per vento, d per dragone, y per bonus stagione, f bonus fiore. Il secondo 1..9 per i semi, e,s,w,n per i venti, w,r,g per i draghi (bianco, rosso, verde) e 1,2,3,4 per le tessere bonus. Le tessere scoperte hanno il primo carattere in minuscolo, quelle coperte in maiuscolo.

Tutte le parti seguenti sono sempre presenti in questo ordine, ad eccezione della parte «Ultima tessera», che esiste solo per la mano del vincitore.

Combinazione

- La parte che inizia con uno qualsiasi dei caratteri `sbcdwSBCDW` è una combinazione. Una combinazione può contenere qualsiasi numero di tessere. &kajongg; dividerà le combinazioni con troppe tessere, tentando di massimizzare il punteggio.

  Utilizziamo una sintassi speciale per i poker: c1c1c1c1 è un poker scoperto. c1c1c1C1 è un poker scoperto, la quarta tessera è stata chiamata, per completare un tris coperto. Ciò è necessario per la partita limite 'partita di vero colore coperto'. c1C1C1c1 è un poker dichiarato coperto. C1C1C1C1 sarebbe un poker coperto non dichiarato. Ma poiché non è dichiarato, viene conteggiato come tris. Questa combinazione, dunque, sarà suddivisa nel tris C1C1C1 e il singolo C1.

  Le tessere bonus appaiono dopo le altre combinazioni.

Riepilogo

- La parte che inizia per / contiene le informazioni di riepilogo sulle combinazioni. Ciò rende più semplice la scrittura di alcune espressioni regolari. Ciascuna combinazione è rappresentata da quattro caratteri. Il primo carattere è uno al di fuori di `sbcdwSBCDW`, il minuscolo indica le tessere scoperte e il maiuscolo le coperte. Il secondo carattere è un numero che indica quante tessere contiene la combinazione. Esso è da 1 a 4 per un poker, lo zero è usato per una scala. Gli ultimi due caratteri contengono il punteggio per la combinazione.

Riepilogo alternativo

- La parte che inizia per - è identica al riepilogo di cui sopra, ma contiene poker dichiarati come poker coperti. Alcune regole, come «Tre tris coperti», trattano un poker dichiarato come coperto.

Lunghezza della mano

- La parte che inizia per % contiene informazioni sulla lunghezza della mano: s sta per mano breve che troppo poche tessere, n sta per una mano col numero corretto di tessere, l sta per mano morta, con troppe tessere.

Mah Jong

- La parte che inizia per m, M o x contiene informazioni aggiuntive. M sta per la mano vincente, m per una perdente e x sta per una mano alla quale è vietato dichiarare Mah Jong. M/m/x è seguita da un carattere del proprio vento, un carattere per il vento prevalente, un carattere per l'origine dell'ultima tessera che conduce al Mah Jong, un carattere per le dichiarazioni che un giocatore ha fatto.

  Queste sono le possibili origini dell'ultima tessera: w=muro, d=scartata, e=fine morta, z=ultima tessera di living end, Z=ultima tessera di living end, scartata, k=pezzo rubato, 1=uscita degli dei. I valori w e d sono speciali: sono una sorta di valori intermedi. scegliendo una tessera coperta come quarto pezzo, l'origine è impostata a w. Diverse regole, poi, dicono che essi si applicano solo se l'ultima tessera proviene dal muro. Questo permette, così, una miglior preselezione delle regole manuali al momento applicabili. Per una miglior comprensione, consultare le regole manuali e leggere azione &lastsource;.

  Queste sono le possibili dichiarazioni: a=chiamata all'inizio, t=fortuna doppia.

Ultima tessera

- La parte che inizia per L contiene informazioni sull'ultima tessera. Essa contiene la stessa ultima tessera, seguita dalla combinazione che è stata completata con essa. Abbiamo necessità di questa combinazione per la regola «Ultima tessera è l'unica possibile» perché a volte conoscere l'ultima tessera non basta. Nota che l'ultima combinazione non può essere un poker, perché se essa completa un poker devi scartare una tessera di sostituzione.

Chiamata della mano limite

- Essa non è ancora implementata, ma potrebbe essere necessaria per regole tipo quelle definite da BMJA (in Inghilterra). La parte che inizia per K contiene tutte le tessere possibili da controllare se distribuiamo punti per una chiamata di mano limite. Potremmo usare la forza bruta e verificare ciascuna tessera, ma potrebbe richiedere troppo tempo.

### Azioni

Tutte le azioni per una regola sono definite in una stringa. Esse sono separate da spazi. Alcune di esse definiscono un valore.

&payforall;

- Il giocatore ha fatto qualcosa di veramente brutto, e dunque deve pagare per tutti. Non è ancora una penalità, dato che la somma di pagamenti è la stessa: cambia solo il pagante. Inoltre, i due paganti non coinvolti non scambiano i pagamenti.

&payers;=X

- Definisce quanti paganti questa regola di penalità implica. X è un numero.

&payees;=X

- Definisce quanti pagati questa regola di penalità implica. X è un numero.

&absolute;

- Questa azione definisce un pagamento assoluto. Il punteggio della mano è ignorato. Usata per le regole di penalità.

&lastsource;

- Questa azione definisce la provenienza dell'ultima tessera. Usata dalle regole manuali come «ultima tessera dalla fine morta». L'impostazione dell'ultima provenienza con questa azione serve come filtro per le altre regole: se esse si attivano solo per certe provenienze. Queste altre regole possono, naturalmente, essere anche regole manuali. In questo modo, questo filtraggio restringerà il numero di regole manuali che l'utente visualizzerà nella finestra del punteggio. Se sembra complicato, fate delle prove con la finestra del punteggio e osservate le caselle apparire e scomparire in base alla provenienza dell'ultima tessera.

## Problemi conosciuti

- Non è ancora possibile per il giocatore aprire da sé un account sul server di gioco.

- In modalità gioco, le penalità non sono ancora possibili.

- I giocatori computer sono ancora piuttosto stupidi.

- I nome dei giocatori computer non sono ancora personalizzabili.

## Caratteristiche future possibili

- Aggiungere altri schemi di gioco. Questo dovrebbe essere fatto da persone che usano regolarmente quegli schemi di gioco.

## Domande ricorrenti

Posso cambiare l'aspetto del gioco?

Sì. Per cambiare l'aspetto di &kajongg;, usa la barra dei menu per aprire l'utilità di configurazione.

Posso usare la tastiera per assegnare tessere ai giocatori?

Sì. Consulta Far calcolare il punteggio a &kajongg;

## Riconoscimenti e licenza

&kajongg; per &kde;

Copyright del programma © 2009, 2010, 2011 Wolfgang Rohdewald wolfgang@rohdewald.de

Copyright della documentazione © 2009, 2010, 2011 Wolfgang Rohdewald wolfgang@rohdewald.de

Valter Mura valtermura@gmail.com

&underFDL; &underGPL;

## Bibliografia

- Das Chinesische Mah-Jongg-Spiel, di Uwe Martens, 2005, Books on Demand GmbH, Norderstedt. Questo libro è un eccellente testo tedesco che contiene tutto ciò che desideri sapere sulle regole utilizzate in Germania e su molti altri aspetti del gioco.

- The Complete Book of Mah-Jongg, di A. D. Millington, 1977 (con varie edizioni paperback fino al 2003), Weidenfeld & Nicolson, London. Questo è l'ultimissimo testo di consultazione per il Mah Jong cinese classico, così come giocato nel mondo occidentale. Può darti importanti suggerimenti sulle strategie di gioco.

- Mah-Jong, di Gwyn Headley e Yvonne Seeley, 3rd edition, 2008, A & C Black Publishers Ltd., London. Questo libro è un testo di consultazione molto facile da usare, che si concentra sulle regole usate in Gran Bretagna, definite dalla BMJA (The British Mah Jong Association).

## Installazione

Usa il pacchetto .deb da . Se per te non funziona, puoi scaricare il pacchetto kajongg-x-y.tar.gz dallo stesso indirizzo e poi eseguire:

    tar xfz kajongg-x-y.tar.gz
    cd kajongg-x-y
    ./setup.py install

In entrambi i casi dovrai assicurarti manualmente che siano installati altri pacchetti richiesti. Il pacchetto debian non contiene ancora tali requisiti. &kajongg; ha bisogno di: (i pacchetti debian corrispondenti sono tra parentesi)

- la libreria dei giochi KDE4 (libkdegames5)

- Python 2.5 o superiore (python)

- QT4.4 o superiore (libqt4-core, libqt4-gui, libqt4-svg, libqt4-sql, libqt4-sql-sqlite)

- l'interfacciamento python per QT4 (python-qt4, python-qt4-sql)

- l'interfacciamento python per KDE4 (python-kde4)

- la libreria particolare di python (python-twisted-core)

- sqlite3 (libsqlite3-0)

&documentation.index;