摘要: 这一篇是关于设置蛇的属性的,接上一篇(五)。设置蛇的速度,很简单,只要不是负数就行了。void SNK_SetSnakeSpeed(Snake *snake, int speed){ if (snake != 0) snake->speed = SDL_abs(speed);}设置蛇的方向... 阅读全文
posted @ 2015-01-30 18:09 pizcai 阅读(616) 评论(0) 推荐(1) 编辑
摘要: 因为已经写了食物的实现,所以我不知道到底是该先写世界的实现还是蛇的实现。因为世界就是一个窗口,可以立刻在世界中看到食物的样子,对于大多数人来说,如果写完代码立刻就能看到效果,那就再好不过了。可是,我最后还是选择了先写蛇的实现这篇笔记。如果先写世界的实现,我就无法按照现在的思路完完整整的写下去,因... 阅读全文
posted @ 2015-01-30 17:46 pizcai 阅读(490) 评论(0) 推荐(0) 编辑
摘要: 由于食物是贪吃蛇游戏中最简单的一部分,而且和其他部分关联性不强,基本上是一个独立的部分,所以我打算先实现它。我的想法是食物必须在世界中才能被创造出来,也就是说,先有世界再有食物,所以我得先判断世界是否存在,存在的话才可以创建食物。Food * SNK_CreateFood(World *worl... 阅读全文
posted @ 2015-01-30 15:48 pizcai 阅读(819) 评论(0) 推荐(0) 编辑
摘要: 蛇是这个游戏的主角,要实现的功能也是最复杂的一个。因为蛇不止有属性,还有行为。它会动,还会吃东西,还会长大!而且还会死!这是很要命的。我一向看不懂复杂的代码,也写不出复杂的代码。所以对于蛇,我很纠结,如何才能简单的实现它。 毫无质疑的一点是,食物具有的属性,蛇也具有。蛇必须存在于世界中,有大小... 阅读全文
posted @ 2015-01-30 15:03 pizcai 阅读(757) 评论(0) 推荐(0) 编辑
摘要: 游戏中的食物没有那么多复杂属性,特别是贪吃蛇游戏中,我把食物看待的很简单: 1. 它必须属于世界,才能出现在世界。不可能一个不属于世界的食物,出现在世界中;但是可能存在着一个食物,它属于世界,但是却没有出现在世界中(即食物的颜色和世界的颜色相同,因此看不见食物)。这就像鬼一样,它可能存在于这个... 阅读全文
posted @ 2015-01-30 13:59 pizcai 阅读(894) 评论(0) 推荐(0) 编辑