0

我一直在研究这个教程:http: //blog.new-bamboo.co.uk/2009/12/30/html5-canvas-snake-game

但由于某种原因,我无法弄清楚如何让蛇每次都从一个随机的地方开始..

任何想法如何做到这一点?

4

1 回答 1

5

这是在网格中设置起始位置的位置:

// The current position of the Snake's head, as xy coordinates
this.currentPosition = [50, 50];

从随机点开始:

var randX = Math.floor(Math.random() * x),  // x = 50 in the default grid
    randY = Math.floor(Math.random() * y);  // y = 50 in the default grid

this.currentPosition = [randX, randY];

根据博客的说法,如果您复制了实际源,它使用对象而不是数组作为坐标并且计算的东西有点不同。在start函数中,您只需要选择一个新的起始单元格。

var randX = Math.floor(Math.random() * 40) * this.gridSize,  
    randY = Math.floor(Math.random() * 30) * this.gridSize; 

this.currentPosition = {'x': randX, 'y': randY};
于 2012-10-05T22:19:11.897 回答