11.04.2013 Views

Guida avanzata di scripting Bash - Portale Posta DMI

Guida avanzata di scripting Bash - Portale Posta DMI

Guida avanzata di scripting Bash - Portale Posta DMI

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

GIÀ_ASSEGNATA=99<br />

LIMITE_INFERIORE=0<br />

LIMITE_SUPERIORE=51<br />

CARTE_PER_SEME=13<br />

CARTE=52<br />

Capitolo 34. <strong>Bash</strong>, versioni 2 e 3<br />

declare -a Mazzo<br />

declare -a Semi<br />

declare -a Carte<br />

# Sarebbe stato più semplice ed intuitivo<br />

#+ con un unico array tri<strong>di</strong>mensionale.<br />

# Forse una futura versione <strong>di</strong> <strong>Bash</strong> supporterà gli array multi<strong>di</strong>mensionali.<br />

Inizializza_Mazzo ()<br />

{<br />

i=$LIMITE_INFERIORE<br />

until [ "$i" -gt $LIMITE_SUPERIORE ]<br />

do<br />

Mazzo[i]=$NONDISTRIBUITA # Imposta ogni carta del "Mazzo" come non<br />

#+ <strong>di</strong>stribuita.<br />

let "i += 1"<br />

done<br />

echo<br />

}<br />

Inizializza_Semi ()<br />

{<br />

Semi[0]=F #Fiori<br />

Semi[1]=Q #Quadri<br />

Semi[2]=C #Cuori<br />

Semi[3]=P #Picche<br />

}<br />

Inizializza_Carte ()<br />

{<br />

Carte=(2 3 4 5 6 7 8 9 10 J Q K A)<br />

# Metodo alternativo <strong>di</strong> inizializzazione <strong>di</strong> array.<br />

}<br />

Sceglie_Carta ()<br />

{<br />

numero_carta=$RANDOM<br />

let "numero_carta %= $CARTE"<br />

if [ "${Mazzo[numero_carta]}" -eq $NONDISTRIBUITA ]<br />

then<br />

Mazzo[numero_carta]=$DISTRIBUITA<br />

return $numero_carta<br />

else<br />

return $GIÀ_ASSEGNATA<br />

fi<br />

}<br />

590

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!