今天把整個遊戲初步做完了, 添加了隨機生成"誘餌", 喫一格長一截 :) 還有"重新開始遊戲"功能. 添加了分數, 等級, 及根據等級遞增速度.
誘餌隨機的生成很簡單, 就是隨即產生一個X,Y, 然後看看是不是和身體有重複, 有重複的話, 重新生成一個. 這裏我用了RECURSIVE FUNCTION, 可能不是很高效, 但思路應該是正確滴!
private Point generateBait() {
int bx, by;
Random r = new Random();
bx = Math.abs(r.nextInt()) % half_w;
by = Math.abs(r.nextInt()) % half_h;
int size = snake.size();
for (int i = 0; i < size; i++) {
if ( ((Point)snake.elementAt(i)).x == bx && ((Point)snake.elementAt(i)).y == by ) {
return generateBait();
}
}
return new Point(bx*2 + 4, by*2 + 4);
}
注意Random.nextInt()可能返回負數, 所以需要ABS來取正值.
下載地址: