|
Written by regicide666
|
|
Sunday, 13 August 2006 |
#!/bin/bash #Tower of Hanoi written for binrev forums programming challenge #4 #by regicide666 #This was a fun little game to make and it is fun to play. #The object is to move all the peices to the 3rd peg #without the number on top being greater than the number #on bottom. #http://www.binrev.com/forums/index.php?showtopic=22173 #http://www.regicide666.com/cms/content/view/42/9/ discs=$1 peg1space=1 peg2space=0 peg3space=0 peg1[0]=0 peg2[0]=0 peg3[0]=0 win[0]=0 move=0 function firstplace { while (( $discs > 0 )) do let "peg1[$peg1space] = $discs" let "win[$peg1space] = $discs" ((peg1space++)) ((discs--)) done } function readboard { line=$peg1space clear while (( $line > 0 )) do echo " ${peg1[$line]} ${peg2[$line]} ${peg3[$line]}" ((line--)) done echo "--------------------" echo "peg1 peg2 peg3" echo "" echo "" checkwin getmove } function getmove { echo -n "Frome what peg number: " read fmv echo "" echo -n " To what peg number: " read pmv getdisc } function getdisc { case $fmv in 1) let " peg1top = ${#peg1[*]} - 1" dmv=${peg1[$peg1top]};; 2) let " peg2top = ${#peg2[*]} - 1" dmv=${peg2[$peg2top]};; 3) let " peg3top = ${#peg3[*]} - 1" dmv=${peg3[$peg3top]};; esac if (( $dmv == 0 )) then echo "nope try again" getmove fi checkmove } function checkmove { case $pmv in 1) let " peg1top = ${#peg1[*]} - 1" if (( $dmv < ${peg1[$peg1top]} || "${#peg1[*]}" == 1 )) then echo "move ok" move fi;; 2) let " peg2top = ${#peg2[*]} - 1" if (( $dmv < ${peg2[$peg2top]} || "${#peg2[*]}" == 1 )) then echo "move ok" move fi;; 3) let " peg3top = ${#peg3[*]} - 1" if (( $dmv < ${peg3[$peg3top]} || "${#peg3[*]}" == 1 )) then echo "move ok" move fi;; esac echo "nope try again" getmove } function move { case $fmv in 1) peg1=(${peg1[@]:0:$((${#peg1[@]}-1))});; 2) peg2=(${peg2[@]:0:$((${#peg2[@]}-1))});; 3) peg3=(${peg3[@]:0:$((${#peg3[@]}-1))});; esac case $pmv in 1) peg1=("${peg1[@]}" $dmv);; 2) peg2=("${peg2[@]}" $dmv);; 3) peg3=("${peg3[@]}" $dmv);; esac ((move++)) readboard } function checkwin { wincheck="${win[*]}" peg3check="${peg3[*]}" if [ "$wincheck" == "$peg3check" ] then echo " You Won in $SECONDS seconds!!" echo " It took you $move moves" exit fi } firstplace readboard |
|
Last Updated ( Sunday, 13 August 2006 )
|
|
|
Written by regicide666
|
|
Monday, 18 June 2007 |
|
With all the beryl goodness going around I felt it my IRC window should look nice also. I could use a terminal IRC client but I like Xchat, the only problem is the fake transparency. |
|
Last Updated ( Thursday, 14 August 2008 )
|
|
Read more...
|
|
|
Written by regicide666
|
|
Monday, 18 June 2007 |
|
So I am reading some random things on the web when I stumbled on this very cool and very funny project called lolcode. It is a new computer language that gets its syntax from all those sayings on the lolcat pictures that you see every where lately. I am not a big lolcat fan but after looking at some of the example code I just had to try it out for myself. |
|
Last Updated ( Tuesday, 19 June 2007 )
|
|
Read more...
|
|
|
|
<< Start < Prev 1 2 3 4 5 6 7 8 9 10 Next > End >>
|
| Results 5 - 8 of 40 |