android 简单实现贪吃蛇源码
一:实现原理
通过自定义view,然后根据小蛇的移动速度来不停的更新,绘制界面。
二:效果如下
三:核心实现
1:小蛇的位置是由很多点来绘制完成的,里面的点全部装在里面ArrayList里面。
”private ArrayList<snakePoint> SpointList = new ArrayList<>();
”
snakePoint 的代码如下
class snakePoint {
/**
* 小蛇某个点x的位置
*/
int x;
/**
* 小蛇某个y的位置
*/
int y;
snakePoint(int x, int y) {
this.x = x;
this.y = y;
}
}
2:在ondraw里面绘制出来这些点,区别蛇头和蛇尾
for (int i = 0; i < SpointList.size(); i++) {
snakePoint sp = SpointList.get(i);
Rect rect_showPosition = new Rect(sp.x - snakeSize, sp.y - snakeSize, sp.x + snakeSize, sp.y + snakeSize);
if(i==0){
//蛇头
canvas.drawBitmap(snake_head, rect, rect_showPosition, paint);
}else{ //蛇尾
canvas.drawBitmap(snake_body, rect, rect_showPosition, paint);
}
}
3:食物的绘制,通过随机的方法生成一个小与手机屏幕宽高的点,通过ondraw在绘制出来。
/***
* 随机添加食物
*/