shell脚本编写的俄罗斯方块游戏代码

2019-09-23 09:40:36丽君

                echo -ne "33[${i};${t}H[]"
        done
        echo -ne "33[0m"
}

 
#初始绘制
function InitDraw()
{
        clear
        RandomBox        #随机产生方块,这时右边预显示窗口中有方快了
        RandomBox        #再随机产生方块,右边预显示窗口中的方块被更新,原先的方块将开始下落
        local i t1 t2 t3

        #显示边框
        echo -ne "33[1m"
        echo -ne "33[3${cBorder}m33[4${cBorder}m"

        ((t2 = iLeft + 1))
        ((t3 = iLeft + iTrayWidth * 2 + 3))
        for ((i = 0; i < iTrayHeight; i++))
        do
                ((t1 = i + iTop + 2))
                echo -ne "33[${t1};${t2}H||"
                echo -ne "33[${t1};${t3}H||"
        done

        ((t2 = iTop + iTrayHeight + 2))
        for ((i = 0; i < iTrayWidth + 2; i++))
        do
                ((t1 = i * 2 + iLeft + 1))
                echo -ne "33[${iTrayTop};${t1}H=="
                echo -ne "33[${t2};${t1}H=="
        done
        echo -ne "33[0m"

 
        #显示"Score"和"Level"字样
        echo -ne "33[1m"
        ((t1 = iLeft + iTrayWidth * 2 + 7))
        ((t2 = iTop + 10))
        echo -ne "33[3${cScore}m33[${t2};${t1}HScore"
        ((t2 = iTop + 11))
        echo -ne "33[3${cScoreValue}m33[${t2};${t1}H${iScore}"
        ((t2 = iTop + 13))
        echo -ne "33[3${cScore}m33[${t2};${t1}HLevel"