1、项目概述
1.1项目目标和主要内容
目标:整体程序无bug,实现贪吃蛇游戏基本功能;
屏幕上随机出现一个“食物”,称为豆子,上下左右控制“蛇”的移动,吃到“豆子”以后“蛇”的身体加长一点,得分增加,“蛇”碰到边界或,蛇头与蛇身相撞,蛇死亡,游戏结束。为游戏设计初始欢迎界面,游戏界面,游戏结束界面。
使用python编程语言,在pycharm上进行开发。
1.2项目的主要功能
1)屏幕上随机出现一个“食物”,称为豆子,上下左右控制“蛇”的移动,吃到“豆子”以后“蛇”的身体加长一点。
2)“蛇”碰到边界或蛇头与蛇身相撞,蛇死亡,游戏结束。
3)为游戏设计友好的交互界面;例如欢迎界面,游戏界面,游戏结束界面。要有开始键、暂停键和停止退出的选项。
4)对蛇吃到豆子进行分值计算,可以设置游戏速度,游戏音乐等拓展元素。
2、项目设计
2.1项目总体框架
2.2系统详细设计
2.2.1 SnakeGame.py
1)main():主函数。
2)running_game(screen,snake_speed_clock): 游戏的主体。
·screen:窗口。
·snake_speed_clock:游戏时钟。
1)draw_food(screen,food): 画食物。
·screen:窗口。
·food:食物。
2)draw_snake(screen,snake_coords): 画贪吃蛇。
·screen:窗口。
·snake_coords:贪吃蛇。
3)draw_grid(screen): 画网格。
·screen:窗口。
4)move_snake(disrection,snake_coords): 移动贪吃蛇。
·disrection:方向。
·snake_coords:贪吃蛇。
5)snake_is_alive(snake_coords): 判断蛇是否死了没有。
·snake_coords:贪吃蛇。
6)snake_is_eat_food(snake_coords,food): 判断贪吃蛇是否吃到食物。
·snake_coords:贪吃蛇。
·food:食物。
7)get_random_location():随机生成食物。
8)show_start_info(screen): 显示开机信息。
·screen:窗口。
9)show_gameover_info(screen): 显示结束信息。
·screen:窗口。
10)draw_scorce(screen,score,): 画分数。
·screen:窗口。
·score:得分。
11)terminate():终止程序。
12)bgm():背景音乐。
13)pause(screen): 暂停。
·screen:窗口。
14)contin():继续
3、项目实现及结果分析
1)贪吃蛇界面展示:
2)无法用图片展现的功能:
游戏开始时播放bgm,暂停时同时暂停bgm。
4、实验总结
1)没有设置可交互界面,游戏运行完全靠键盘交互;贪吃蛇的速度固定,没有其他难度;没有开始键、暂停键和停止退出的选项。
2)游戏的基本逻辑相对简单,开发的不够完善,只能实现基本的游戏功能。对于样式以及玩法的多样性没有丰富起来。