Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 02/05/2011, à 15:08

reivillo

LOTO: Un script d' essai en BASH.

Bonjour à tous.
Voici un essai de script  BASH,
pour ceux qui ne savent pas quel numéro jouer.
A+.
reivillo.


#!/bin/bash
while true
do
echo
echo '        ********************'
echo '        ******  LOTO  ******'
echo '        ********************'
echo
min=1; max=49; bl[0]=0; sor=""
#----------------------------------------------
function brass
    {   
    wh1=$min;while (($wh1 <= 1000))
    do
        rnd1=$((RANDOM%$max+1));rnd2=$((RANDOM%$max+1))
        swp=$[bl[rnd1]]
        ((bl[rnd1]=$[bl[rnd2]])); ((bl[rnd2]=$swp))
        ((wh1+=1))
    done
    }
#----------------------------------------------
function cntrl
    {
    tnbb=""
    if (($max == 0))
        then
            tnbb="VIDE"
            echo $tnbb
            return
    fi
    wh3=$min;while (($wh3 <= $max))
    do
        tnbb="$tnbb $[bl[$wh3]]"
        ((wh3+=1))
    done
    echo $tnbb
    }
#----------------------------------------------
wh2=$min;while (($wh2 <= $max))
do
    bl[$wh2]=$wh2
    tnbc="$tnbc $[bl[$wh2]]"
    ((wh2+=1))
done
echo '        Control après CHARGEMENT-----------------';cntrl
#----------------------------------------------
brass
echo '        Control après BRASSAGE-------------------';cntrl
#----------------------------------------------
echo '        EXTRACTION: patientez SVP----------------'
wh4=$min;while (($wh4 <= 5))
do
    brass
    ((rand=((RANDOM%$max+1))))
    sor="$sor $[bl[rand]]"
    ((bl[rand]=$[bl[max]]))
    ((max-=1))
    if ((max == 0))
        then
            break
    fi
    ((wh4+=1))
done
echo '        Affichage après EXTRACTION---------------'
#----------------------------------------------
echo -e '        '"\033[1;7;31m"$sor  -  $((RANDOM%10+1))"\033[00m"
echo '        Control après EXTRACTION-----------------';cntrl
echo '        FIN--------------------------------------'
echo '        ENTREE pour RECOMMENCER------------------'
echo '        Autre touche puis ENTREE pour QUITTER----'
echo '        ========================================='
read
if [ "${REPLY}" == "" ]; then continue; fi
break
done

Dernière modification par reivillo (Le 21/05/2011, à 12:29)


Version LinuxMint 13 (maya-mate(32-bit)) LTS Noyau 3.2.0-39-generic (06-04-2013)
Sur http://www.linuxmint.com/edition.php?id=103

Hors ligne

#2 Le 02/05/2011, à 16:21

antibois_ubuntu

Re : LOTO: Un script d' essai en BASH.

Bonjour,

Ce script m'intéresse pour générer des tirages au xort.

Merci.

Hors ligne

#3 Le 02/05/2011, à 16:40

KujakuChan

Re : LOTO: Un script d' essai en BASH.

Je comprend pas bien ton code c'est pas très commenté.
Particulièrement le bl qui revient souvent je ne vois pas ce que c'est.


自分の考え:ウィンドウズライナックスに対するのはデルフィC++に対するようなものである
Just a thought : Windows is to Linux as Delphi is to C++ . Juste une pensée : Windows est à Linux ce que Delphi est à C++.

Hors ligne

#4 Le 02/05/2011, à 16:53

reivillo

Re : LOTO: Un script d' essai en BASH.

Bonjour KujakuChan.
Le bl correspont au nom du tableau à 49 éléments.
bl[1] bl[2].........bl[49].

Si nécessaire je commenterai le SCRIPT,
dès que j' aurai un moment.


Version LinuxMint 13 (maya-mate(32-bit)) LTS Noyau 3.2.0-39-generic (06-04-2013)
Sur http://www.linuxmint.com/edition.php?id=103

Hors ligne

#5 Le 02/05/2011, à 19:41

KujakuChan

Re : LOTO: Un script d' essai en BASH.

En principe je sais coder des script shell mais au fond j'en sais pas des masses. J'ai bien le guide du bash avancé pour jauger mon niveau. Faut dire que j'ai pas souvent l'occasion d'utiliser ce genre de choses.
C'est le fait que le bl n'ai pas été déclaré avant qui m'a "choqué". Je me suis même demandé si c'était une fonction ou une commande mais apparemment non. smile
En tout cas c'est sympa de voir des gens s'intéresser aux scripts. Ça devrait être plus fréquent.


自分の考え:ウィンドウズライナックスに対するのはデルフィC++に対するようなものである
Just a thought : Windows is to Linux as Delphi is to C++ . Juste une pensée : Windows est à Linux ce que Delphi est à C++.

Hors ligne