New game, bashit which of course is a bopit style game.
This commit is contained in:
Executable
+134
@@ -0,0 +1,134 @@
|
||||
#!/bin/bash
|
||||
|
||||
play_stop_bgm()
|
||||
{
|
||||
if [ "$1" == "play" ] ; then
|
||||
play -qV0 $2/bgm.ogg repeat 9999&
|
||||
__bgmPID="$(echo "$!")"
|
||||
elif [ "$1" == "stop" ] ; then
|
||||
if [[ "$__bgmPID" =~ ^[0-9]+$ ]] ; then
|
||||
kill $__bgmPID
|
||||
unset __bgmPID
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
select_soundpack()
|
||||
{
|
||||
local __soundPackVariable=$1
|
||||
local i=1
|
||||
for x in sounds/* ; do
|
||||
if [ -d "$x" ] ; then
|
||||
local soundPackList[$i]="$x"
|
||||
if [ $i -lt 10 ] ; then
|
||||
echo -n "0"
|
||||
fi
|
||||
echo "$i: $(basename "$x")"
|
||||
let i++
|
||||
fi
|
||||
done
|
||||
local continue="false"
|
||||
while [ "$continue" == "false" ] ; do
|
||||
local continue="true"
|
||||
read -p "Select a soundpack: " soundpack
|
||||
if ! [[ "$soundpack" =~ ^[0-9]+$ ]] ; then
|
||||
local continue="false"
|
||||
else
|
||||
if ! [[ "$soundpack" =~ [1-9]+$ ]] ; then
|
||||
local continue="false"
|
||||
fi
|
||||
if [ $soundpack -lt 1 -o $soundpack -gt $(($i - 1)) ] ; then
|
||||
local continue="false"
|
||||
fi
|
||||
fi
|
||||
done
|
||||
if [[ $__soundPackVariable ]] ; then
|
||||
eval $__soundPackVariable="'${soundPackList[$soundpack]}'"
|
||||
else
|
||||
echo "${soundPackList[$soundPack]}"
|
||||
fi
|
||||
}
|
||||
|
||||
play_bopit_direction()
|
||||
{
|
||||
local soundpack=$1
|
||||
local __directionVariable=$2
|
||||
direction="$(shuf -n 1 -e "center" "left" "right")"
|
||||
case "$direction" in
|
||||
"center")
|
||||
play -qV0 $(shuf -n 1 -e $soundpack/cpu*ogg) remix v0.9 v0.9&
|
||||
;;
|
||||
"left")
|
||||
play -qV0 $(shuf -n 1 -e $soundpack/cpu*ogg) remix v0.9 v0.1&
|
||||
;;
|
||||
"right")
|
||||
play -qV0 $(shuf -n 1 -e $soundpack/cpu*ogg) remix v0.1 v0.9&
|
||||
;;
|
||||
esac
|
||||
if [[ $__directionVariable ]] ; then
|
||||
eval $__directionVariable="'$direction'"
|
||||
else
|
||||
echo "$direction"
|
||||
fi
|
||||
}
|
||||
|
||||
#Main Game Loop
|
||||
select_soundpack sound
|
||||
speed="1.50"
|
||||
continue="true"
|
||||
if [ -f "$sound/intro.ogg" ] ; then
|
||||
play -qV0 $sound/intro.ogg
|
||||
else
|
||||
echo "Ready"
|
||||
echo
|
||||
sleep 1
|
||||
echo "set"
|
||||
echo
|
||||
sleep 1
|
||||
echo "go"
|
||||
fi
|
||||
play_stop_bgm play $sound
|
||||
difficultyIndex=0
|
||||
score=0
|
||||
while [ "$continue" == "true" ] ; do
|
||||
if [ $difficultyIndex -ge 2 ] ; then
|
||||
difficultyIndex=0
|
||||
if [ "$speed" != "0.01" ] ; then
|
||||
speed="$(echo "scale=2;$speed - .01" | bc)"
|
||||
fi
|
||||
fi
|
||||
play_bopit_direction $sound bopDirection
|
||||
read -st $speed -n 1 key
|
||||
case "${key^}" in
|
||||
"J")
|
||||
key="left"
|
||||
;;
|
||||
"K")
|
||||
key="center"
|
||||
;;
|
||||
"L")
|
||||
key="right"
|
||||
;;
|
||||
esac
|
||||
if [ "$key" != "$bopDirection" ] ; then
|
||||
continue="false"
|
||||
else
|
||||
let score++
|
||||
case "$key" in
|
||||
"center")
|
||||
play -qV0 $(shuf -n 1 -e $sound/player*ogg) remix v0.9 v0.9
|
||||
;;
|
||||
"left")
|
||||
play -qV0 $(shuf -n 1 -e $sound/player*ogg) remix v0.9 v0.1
|
||||
;;
|
||||
"right")
|
||||
play -qV0 $(shuf -n 1 -e $sound/player*ogg) remix v0.1 v0.9
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
let difficultyIndex++
|
||||
done
|
||||
play_stop_bgm stop
|
||||
echo
|
||||
echo "Score: $score."
|
||||
exit 0
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Reference in New Issue
Block a user