All pastes #574424 Raw Edit

Mine

public text v1 · immutable
·published 2007-06-18 15:48 UTC
rendered paste body
#!/bin/bash
# Array containing the Deck

clear
SPACE="#"
declare -a INDEX
declare -a DECK
declare -a SHUFFLED_DECK

# =====  Seeding random number generator with 2 methods ====
# == Method 1 - unsing process ID
  RANDOM=$$
# == Method 2 - 
#  Pseudo-random output fetched
#  from /dev/urandom (system pseudo-random device-file),
#  then converted to line of printable (octal) numbers by "od",
#  finally "awk" retrieves just one number for SEED.
  SEED=$(head -1 /dev/urandom | od -N 1 | awk '{ print $2 }')
  RANDOM=$SEED
# =================================================
SHUFFLE_COUNT=0

           RANGE=52
           I=0
           SHUFFLE_COUNT=0
           CLUBS=(AC.2C.3C.4C.5C.6C.7C.8C.9C.TC.JC.QC.KC.)     
        DIAMONDS=(AD.2D.3D.4D.5D.6D.7D.8D.9D.TD.JD.QD.KD.) 
          HEARTS=(AH.2H.3H.4H.5H.6H.7H.8H.9H.TH.JH.QH.KH.)
          SPADES=(AS.2S.3S.4S.5S.6S.7S.8S.9S.TS.JS.QS.KS.)

            DECK=(${CLUBS[*]}${DIAMONDS[*]}${HEARTS[*]}${SPADES[*]})
        ALLCARDS=${DECK[*]}
        REST_OF_DECK=$ALLCARDS

        while [ $I -lt $RANGE ]; do

                # Pick a random number between 0 and $RANGE (0 - 52)
                # and multiply it by 3 to calculate $RAND_POSITION in the array DECK[*]
                RANDNUM=$[($RANDOM % $RANGE)]
                let RAND_POSITION=RANDNUM*3

                # Draw a card from a RANDOM_POSITON in the deck
                DRAWN_CARD=${REST_OF_DECK:RAND_POSITION:3}
                SHUFFLED_DECK=($SHUFFLED_DECK$DRAWN_CARD)


                # Take the drawn card out of the deck
                REST_OF_DECK=${REST_OF_DECK/$DRAWN_CARD/}
                DECK=($REST_OF_DECK)

                clear
                echo $ALLCARDS
                echo
                echo ${DECK[*]}
                echo
                echo $SHUFFLED_DECK
                echo
                echo "Drawn Card : "$DRAWN_CARD
                echo "RANGE VAR  :" $RANGE
                echo "RANDNUM    :" $RANDNUM 
                echo "POSITION   :" $RAND_POSITION
                echo "         I :" $I 
                let RANGE=RANGE-1
                # read x
                sleep .1s
        done

let SHUFFLE_COUNT=SHUFFLE_COUNT+1