贪吃蛇系列之十一——总结

        好了,在开始我们的总结之前,我们先来把上一个项目中的那个BUG修复了。修复的方法呢也很简单,我们在Snake类中添加一个方法,代码如下:


        /**
	 * 判断蛇是否吃到了自己的身体
	 * @return	如果蛇吃到了自己的身体则返回true,否则返回false
	 */
	public boolean isEatBody(){
		Body head = snakeBody.getFirst();
		for(int i = 1; i < snakeBody.size(); i++){
			Body body = snakeBody.get(i);
			if(head.x == body.x && head.y == body.y){
				return true;
			}
		}
		return false;
	}
        有了这个方法之后,我们在蛇的move()方法中添加进对这个状况的判断,如下:
//判断蛇是否吃到了石头或者是自己的身体
if(isEatStone() || isEatBody()){
	die();
}
        那么至此,我们的游戏大体上就算完成了,最后呢,我修改了Snake.Body类中的drawMe的实现,使得我们的Snake有了一个红色的头,这个呢我就不贴代码了,大家看源代码吧,下面还是给一张我们最后完成的效果图:


        这个项目呢,第一阶段呢我们就到这里结束了,上图呢就是最后一个项目运行后的截图了,呵呵,是不是很有爱呢。
        小小的总结一下吧。贪吃蛇这个项目呢,我的用意只是帮助我们初学Java编程的同学熟悉一下我们Java中的基本语法以及基本的数据结构的使用方法。那么,如果你能够学习完这个项目,我想你会对Java中的链表(List),双向有序链表(LinkedList)等数据结构有一个比较直观的认识。同时,对于Java中的三种最基本的结构(顺序结构、选择结构和循环)有一个直观的理解。同时,我也想透过这个项目告诉我们初学Java编程的少年们,其实编程就是如此的简单愉快,不是像大家想象的那么难以下手的。千里之行,始于足下,我想做完这个项目,你会有这样的感受。
        当然,话又说回来,既然我说了这只是我的引入,那么接下来,我们将会讨论一些更深层次的东西和更深远的东西。因此,在下一个系列中,我会就这个项目进行更深层次的挖掘。我们会讨论一些关于项目架构和软件设计之类的东西。我一直觉得,能写程序和会写程序是两码事,写程序其实也可以很有艺术感。在接下来的时间里,我就将和大家讨论一些关于软件和代码之中的艺术的问题,希望大家能喜欢。
        最后,是我们所有关于Snake项目的源代码的合集:http://kuai.xunlei.com/d/Ae2cA9B2QhnfUAQA63b


猜你喜欢

转载自my.oschina.net/u/554627/blog/99164
今日推荐