循环标签之蛇和梯子游戏

原创 2015年07月10日 11:36:19
//--------蛇和梯子游戏
//摇色子,向前走,蛇是后退,梯子是上升
let finalSquare = 25 //最终位置
//TODO:这啥意思?
var board = [Int](count: finalSquare + 1, repeatedValue: 0)
board[03] = +08; board[06] = +11; board[09] = +09; board[10] = +02
board[14] = -10; board[19] = -11; board[22] = -02; board[24] = -08
var square = 0      //现在位置
var diceRoll = 0    //骰子数字

//square不等于finalSquare永远不停止
//gameLoop标签表明是主循环

//掷筛子
gameLoop: while square != finalSquare
{
    //骰子从1到6
    if ++diceRoll == 7
    {
        //重置筛子数字
        diceRoll = 1
    }
    //移动
    switch square + diceRoll
    {
        case finalSquare:
            // 到达最后一个方块,游戏结束
            break gameLoop
        case let newSquare where newSquare > finalSquare:
            print(newSquare)
            print("本次移动超出最后一个方块,重新开始")
            // 超出最后一个方块,再掷一次骰子
            continue gameLoop
        default:
            // 本次移动有效
            square += diceRoll
            square += board[square]
    }
}
print("完成关卡!")

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

蛇与梯子游戏 (BFS + priority_queue)

“蛇和梯子”是一个在NXN的(0 方格从1到N的平方编号。除了第1号和最后编号的方格,其它的格子都有可能有蛇或梯子存在(蛇和梯子的数量及具体位置由输入确定,它们的数量都在100之内并且蛇和梯...

java实现蛇和梯子的游戏(单一玩家和多玩家)

java涉嫌蛇和梯子的游戏

BFS 蛇和梯子 HUNNU

蛇和梯子Time Limit: 1000ms, Special Time Limit:2500ms, Memory Limit:32768KBTotal submit users: 5, Accept...

ThinkPHP学习(四)volist标签高级应用之多重嵌套循环、隔行变色

Action代码: public function index(){ $prod = I("get.prod_en"); $id = I("get.id", 0, "int"); i...

Struts循环标签

  • 2008年01月14日 15:07
  • 1.04MB
  • 下载

在js循环中如何给a标签的点击事件的方法参数赋值有效

/**     * 当点击应用时,添加一次访问数     **/    function visitApp(appId, appName, appUrl){        $.post(       ...

循环链表的游戏

  • 2012年06月13日 11:04
  • 1KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:循环标签之蛇和梯子游戏
举报原因:
原因补充:

(最多只允许输入30个字)