分享创作 如何用蝶梦写个贪吃蛇

熊熊燃烧的叉烧包 · 2019年02月27日 · 最后由 摄影小生 回复于 2019年03月17日 · 145 次阅读
本帖已被设为精华帖!

大家好,我是包子。第一次发社区,还请多多指教。

逗逼前言

死线前摸鱼是第一生产力。——by 包子

今天在和Yakumo讨论动态计数器时,无意间真的搞了出来。看到效果的一刹那,我是惊呆的Σ(っ °Д °;)っ。然后我突然脑洞大开,觉得可以用蝶梦做个跳呀跳(感觉好难后来放弃,改做了贪吃蛇)。于是,这就是这一游戏的来源(说不定之后还能做个扫雷什么的)。

游戏链接:文字版贪吃蛇——by 包子

废话不多说直接上框架

阿拉,框架其实很简单的,它们是:

废话不多说直接上代码

详细说明请看代码注释,我就不在框外唠叨了。

=: var snakeLen = 0; // 吃到了几个果子
=: var fruit = [6,10];   // 果子位置
=: var unpop = 0;   // 是否吃到果子,是则变为1
=: snake = [[4,19],[4,18],[4,17]]; // 初始化蛇的位置
=: MD.L = 0; MD.U = 0; MD.D = 0; MD.R = 1; // 初始化移动方向,active往右
=: var i = 0; var j = 0; // 杂七杂八我也不知道要不要声明的变量,反正声明一下总没错
=: var outputs = ''; // 要打印的标签语言内容
=: MD.exitGame = 0; // 是否挂了
=: MD.time = 1100; // 1.1秒调用一次移动函数

=: MD.movesnake = function(){ // 记得把这里所有的注释都去掉,然后把所有的换行也去掉
    if(MD.exitGame==1){game_jumpto("死亡");} //由于不知道加哪儿比较好,所以写了一堆

    if(snakeLen > 5 && snakeLen < 10){
        MD.time = 1000;
    } //吃到越多的果子,小蛇会跑得更快。为了缩短代码长度,我就不换行了
    else if(snakeLen >= 10 && snakeLen < 20){MD.time = 900;} 
    else if(snakeLen >= 20 && snakeLen < 35){MD.time = 800;} 
    else if(snakeLen >= 35 && snakeLen < 55){MD.time = 700;}  
    else if(snakeLen >= 55 && snakeLen < 85){MD.time = 600;} 
    else if(snakeLen >= 85){MD.time = 500;} 

    if (unpop == 0){    // 如果没吃到果子,就要把尾巴最后的那个位置扔掉
        snake.pop();    // 
    } else if (unpop == 1){     // 如果吃到果子,就不用扔了
        unpop = 0; 
    }  

    if (MD.L == 1){     // 在数组最前头插入小蛇头部新抵达的位置
        snake.unshift([snake[0][0],snake[0][1]-1]); 
    } else if (MD.U == 1){  // 这是队列思想的应用
        snake.unshift([snake[0][0]-1,snake[0][1]]); 
    } else if (MD.D == 1){  // 注意上下左右,在二维数组内的不同表现
        snake.unshift([snake[0][0]+1,snake[0][1]]); 
    } else if (MD.R == 1){  
        snake.unshift([snake[0][0],snake[0][1]+1]); 
    }   

    if(snake[0][0] <= 0 || snake[0][0] >= 9 || snake[0][1] <= 0 || snake[0][1] >= 31){
        MD.exitGame = 1; listener();    // x = 0, x = 9, y = 0, y = 31 都是撞墙体现,直接结束游戏
    }   

    if (fruit[0] == snake[0][0] && fruit[1] == snake[0][1]){    //判断是否吃到果子,蛇头与果子在同一位置
        snakeLen += 1;  // 蛇长+1,吃到果子数+1
        unpop = 1;  // 下一次移动时,设置不要丢掉尾巴
        fruit = [random_int(1,8),random_int(1,30)];     // 再随机生成一个果子
    }  

    // 这个二维数组可以用for循环生成,我懒就直接文本替换了,就是画了个框
    twoDimentional = [['#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#'],
    ['#','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','#'],
    ['#','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','#'],
    ['#','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','#'],
    ['#','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','#'],
    ['#','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','#'],
    ['#','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','#'],
    ['#','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','#'],
    ['#','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','#'],
    ['#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#']]; 

    twoDimentional[fruit[0]][fruit[1]] = '$';  // 设置果子的字符为$
    for (i=0; i<snake.length; i++) {    // 设置小蛇的身子都是o
        twoDimentional[snake[i][0]][snake[i][1]] = 'o'; 
    } 
    twoDimentional[snake[0][0]][snake[0][1]] = '¤'; // 设置蛇头是¤

    // 把上面的二维数组放入output变量,并在首尾加上表格标签,具体请看w3school的HTML5教程
    outputs += "<table width='100%' align='center'>"; 
    for (i=0; i<10; i++) {  
        outputs += "<tr>"; for (j=0; j<32; j++) {       
            outputs += "<th>" + twoDimentional[i][j] + "</th>";     
        }   
        outputs += "</tr>"; 
    }  

    // 在游戏界面下方,加上玩家分值,也是动态更新的
    // 在分值下方,加上上下左右按钮,懒得写css了,直接用了蝶梦的按钮,顺便给每个按钮加一个click事件
    outputs +="</table><br><span>您的分值为" + (snakeLen*5 + (1100 - MD.time)*3.2) + "</span><table align='center'><tbody><tr><th></th><th><span id='gtBtn0' data-tp='b' onclick='upfunction()'><a class='btn btn-default' id='b_0'>↑</a></span></th><th></th></tr><tr><th><span id='gtBtn1' data-tp='b' onclick='leftfunction()'><a class='btn btn-default' id='b_1'>←</a></span></th><th><span id='gtBtn2' data-tp='b' onclick='downfunction()'><a class='btn btn-default' id='b_2'>↓</a></span></th><th><span id='gtBtn3' data-tp='b'><a class='btn btn-default' id='b_3' onclick='rightfunction()'>→</a></span></th></tr></tbody></table>"; 

    // 在蝶梦的游戏界面id="playScene"上,打上我们自己的标签内容
    document.getElementById("playScene").innerHTML = outputs;  

    outputs = ""; // 清空这些字符,等下一次用

    if(MD.exitGame==1){game_jumpto("死亡");} //由于不知道加哪儿比较好,所以写了一堆
}

=: MD.pid = setInterval("MD.movesnake()",MD.time);  // 循环调用函数

=: function listener() {exitGame = 1; clearInterval(MD.pid); exitGame = 1; game_jumpto("死亡");} // 当撞墙时,停止调用函数

=: //以下四个函数,都是按钮的点击函数,控制小蛇上下左右移动,但不能直接掉头,例如本来在往左,直接往右是不行的

=: function upfunction() {if(MD.exitGame==1){game_jumpto("死亡");} if(MD.D!=1){MD.L = 0, MD.U = 1, MD.D = 0, MD.R = 0} {game_jumpto("按钮");}}

=: function leftfunction() {if(MD.exitGame==1){game_jumpto("死亡");} if(MD.R!=1){MD.L = 1, MD.U = 0, MD.D = 0, MD.R = 0} {game_jumpto("按钮");}}

=: function downfunction() {if(MD.exitGame==1){game_jumpto("死亡");} if(MD.U!=1){MD.L = 0, MD.U = 0, MD.D = 1, MD.R = 0} {game_jumpto("按钮");}}

=: function rightfunction() {if(MD.exitGame==1){game_jumpto("死亡");} if(MD.L!=1){MD.L = 0, MD.U = 0, MD.D = 0, MD.R = 1} {game_jumpto("按钮");}}

=: if(MD.exitGame==1){game_jumpto("死亡");} //由于不知道加哪儿比较好,所以写了一堆

[按钮]
=: if(MD.exitGame==1){game_jumpto("死亡");} else {game_jumpto("按钮");} // 让程序不运行到结局的段落

[死亡]

好了,就这些。希望可以帮到你!我要刷题去了!不能再摸鱼了!

总结

我也不知道要写啥,就不写了吧,祝玩得愉快~

共收到 2 条回复

Interval那里写错了,那部分代码是没有用的。感谢Yakumo在修改过程中的帮助。下文更新代码:

=: var snakeLen = 0; var fruit = [6,10]; var unpop = 0; snake = [[4,19],[4,18],[4,17]]; MD.L = 0; MD.U = 0; MD.D = 0; MD.R = 1; var i = 0; var j = 0; var outputs = '';

=: MD.exitGame = 0; MD.time = 900; alert = function() {};

=: MD.movesnake = function(){ if(MD.exitGame==1){game_jumpto("死亡");} if (unpop == 0){   snake.pop(); } else if (unpop == 1){    unpop = 0; }  if (MD.L == 1){   snake.unshift([snake[0][0],snake[0][1]-1]); } else if (MD.U == 1){  snake.unshift([snake[0][0]-1,snake[0][1]]); } else if (MD.D == 1){  snake.unshift([snake[0][0]+1,snake[0][1]]); } else if (MD.R == 1){  snake.unshift([snake[0][0],snake[0][1]+1]); }   if(snake[0][0] <= 0 || snake[0][0] >= 9 || snake[0][1] <= 0 || snake[0][1] >= 31){MD.exitGame = 1; listener();}   if (fruit[0] == snake[0][0] && fruit[1] == snake[0][1]){  snakeLen += 1;  unpop = 1;  fruit = [random_int(1,8),random_int(1,30)]; }  twoDimentional = [['#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#'],['#','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','#'],['#','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','#'],['#','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','#'],['#','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','#'],['#','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','#'],['#','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','#'],['#','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','#'],['#','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','&nbsp;&nbsp;','#'],['#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#']];  twoDimentional[fruit[0]][fruit[1]] = '$';  for (i=0; i<snake.length; i++) {     twoDimentional[snake[i][0]][snake[i][1]] = 'o'; } twoDimentional[snake[0][0]][snake[0][1]] = '¤'; outputs += "<table width='100%' align='center'>"; for (i=0; i<10; i++) {     outputs += "<tr>"; for (j=0; j<32; j++) {       outputs += "<th>" + twoDimentional[i][j] + "</th>";     }   outputs += "</tr>"; }  outputs +="</table><br><span>您的分值为" + (snakeLen*5 + (900 - MD.time)*3.2) + "</span>";   if(MD.exitGame==1){outputs += "<table align='center'><tr><th><button id='btnNewGame' class='btn btn-lg btn-primary' data-id='4242' data-not-login='false' onclick='window.location.reload()'>再来一次</button></th></tr></table>";} else { outputs += "<table align='center'><tbody><tr><th></th><th><span id='gtBtn0' data-tp='b' onclick='upfunction()'><a class='btn btn-default' id='b_0'>↑</a></span></th><th></th></tr><tr><th><span id='gtBtn1' data-tp='b' onclick='leftfunction()'><a class='btn btn-default' id='b_1'>←</a></span></th><th><span id='gtBtn2' data-tp='b' onclick='downfunction()'><a class='btn btn-default' id='b_2'>↓</a></span></th><th><span id='gtBtn3' data-tp='b' onclick='rightfunction()'><a class='btn btn-default' id='b_3'>→</a></span></th></tr></tbody></table>";} document.getElementById("playScene").innerHTML = outputs;  outputs = "";  }

=: MD.pid = setInterval("MD.movesnake()",MD.time);

=: function listener() {exitGame = 1; clearInterval(MD.pid); exitGame = 1; game_jumpto("死亡");}

=: function upfunction() {if(MD.exitGame==1){game_jumpto("死亡");} if(MD.D!=1){MD.L = 0, MD.U = 1, MD.D = 0, MD.R = 0} {game_jumpto("按钮");}}

=: function leftfunction() {if(MD.exitGame==1){game_jumpto("死亡");} if(MD.R!=1){MD.L = 1, MD.U = 0, MD.D = 0, MD.R = 0} {game_jumpto("按钮");}}

=: function downfunction() {if(MD.exitGame==1){game_jumpto("死亡");} if(MD.U!=1){MD.L = 0, MD.U = 0, MD.D = 1, MD.R = 0} {game_jumpto("按钮");}}

=: function rightfunction() {if(MD.exitGame==1){game_jumpto("死亡");} if(MD.L!=1){MD.L = 0, MD.U = 0, MD.D = 0, MD.R = 1} {game_jumpto("按钮");}}

=: if(MD.exitGame==1){game_jumpto("死亡");}

[按钮]

=: if(MD.exitGame==1){game_jumpto("死亡");} else {game_jumpto("按钮");}

[死亡]



adminer 将本帖设为了精华贴 02月27日 18:55

或许,可以写个街头霸王或者坦克大战什么的😂👍

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册