博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
nodeJS贪吃蛇
阅读量:6407 次
发布时间:2019-06-23

本文共 2221 字,大约阅读时间需要 7 分钟。

run.js (需要自己先用npm下载keypress这个包 用 npm install keypress --save 下载)

如果想在xshell上玩需要把空格和方块改下 (在windows的控制台用的话一个方块是两个字符,在xshell上不知道为啥是一个字符,还需要修改下xshell上文本显示的样式显示才会正常)

const config = require('./config');const keypress = require('keypress');var live = false;var snakes = [];var food = {};var score = 0;var keyDown = 'right';var stepX = 1;var stepY = 0;const startNum = config.startNum;const time = config.time;DawnCanvas([{top:0,left:0},{top:10,left:0}])keypress(process.stdin);            //监听键盘输入process.stdin.on('keypress', function (ch, key) {  //console.log('got "keypress"', key);  if (key && key.ctrl && key.name == 'c') {        process.abort();  }    if(key)    {        if(!live)        {            start();        }        else        {            //console.log(keyDown)           if(key.name == "up" || key.name == "w")           {               if(keyDown != 'down')               {                    keyDown = 'up';                    stepX = 0;                    stepY = -1;               }           }           else if(key.name == "down" || key.name == "s")           {               if(keyDown != 'up')               {                    keyDown = 'down';                    stepX = 0;                    stepY = 1;               }           }           else if(key.name == "left" || key.name == "a")           {               if(keyDown != 'right')               {                    keyDown = 'left';                    stepX = -1;                    stepY = 0;               }           }           else if(key.name == "right" || key.name == "d")           {               if(keyDown != 'left')               {                    keyDown = 'right';                    stepX = 1;                    stepY = 0;               }           }        }    }});process.stdin.setRawMode(true);process.stdin.resume();function start(){    snakes = [];    stepX = 1;    stepY = 0;    keyDown = 'right';    live = true;    score = 0;    DawnSnake(startNum);    createFood();    SnakeMove();}function SnakeMove() {    if(live){        for(var i=0;i
24||top<0||left>24||left<0) { return false; } else { for(var i=0;i

config.js

module.exports = {    time : 150,    startNum : 3}

转载地址:http://lkhea.baihongyu.com/

你可能感兴趣的文章
Delphi TServerSocket,TClientSocket实现传送文件代码
查看>>
JS无聊之作
查看>>
Mac上搭建ELK
查看>>
443 Chapter7.Planning for High Availability in the Enterprise
查看>>
HttpHandler初探 - 页面上输出图像
查看>>
框架和语言的作用
查看>>
unidac连接ORACLE免装客户端驱动
查看>>
Cygwin + OpenSSH FOR Windows的安装配置
查看>>
咏南中间件支持手机客户端
查看>>
fastscript增加三方控件之二
查看>>
Windows Vista RTM 你准备好了么?
查看>>
Tensorflow Serving 模型部署和服务
查看>>
Java Web开发详解——XML+DTD+XML Schema+XSLT+Servlet 3.0+JSP 2.2深入剖析与实例应用
查看>>
topcoder srm 680 div1 -3
查看>>
topcoder srm 430 div1
查看>>
具体数学第二版第四章习题(1)
查看>>
高效前端优化工具--Fiddler入门教程
查看>>
【翻译】我钟爱的HTML5和CSS3在线工具
查看>>
Java多线程学习(吐血超详细总结)
查看>>
css3 变形
查看>>