I am designing snake and ladder game in unix. I am writing my script in bash shell in Solaris version.
This game is designed by me for which I would like to give access to two players.
When these players execute the game, there should be communication between the three participants(game and two players).
The players should be prompted to have roll the dice for a random number.
Each player must be able to see the other players move.
Could someone please help me out on how to establish this sort of communication between players?
I sort of managed this arrangement ages ago to give some privileges to our 24hr operators to stop & start a service that was always being awkward and was a pain to do. I wrote a script and had it started in a loop at boot time. It would watch a file and respond to messages written there. The Ops then had a scripts of their own to write a message to the file and wait for a return.
All a bit clunky, but it worked.
Perhaps some logic like:-
User1 starts the game, setting up the named pipe / temporary file and tails the file watching for messages from User2
User2 joins the game and writes a confirmation to the temporary file and waits for messages from User1.
User1 uses the value $RANDOM to determine odd or even and therefore who starts.
User1 writes the message to the file and whomever is next to play is prompted, whilst the other waits.
and the looping continues until there is a winner.
How are you planing to roll the dice? Might I suggest something like:-
rndm_num=$RANDOM # Only refer to this once.
((test_val=$rndm_num/6)) # Will truncate to integer
((test_val=$test_val*6)) # Will give nearest lower multiple of 6
((dice_val=$rndm_num-$test_val+1)) # Will give score between 1 & 6
Or, you could just start the game up and User1 could send the message "I won." and the games ends. It seems just as useful a way to pass the time as playing a game really. Mind you, the intellectual challenge is good practice. I wrote a soduko solver in ksh which was fun.
I did not know about the % operator. I have various scripts generating low random numbers (password generators mainly) that have a variation of my poor attempt above that would be so much neater with your suggestion, and easier to document too.
Thanks for this nugget, I will store it away for future use.