pygame--贪吃蛇

来源:互联网 发布:2016年最新健康大数据 编辑:程序博客网 时间:2024/05/21 06:35

     完成了之前在一直想做的贪吃蛇, 今天终于完成了。在做之前想,对于蛇的移动该怎么做,后查了一下,看到了他是怎么实现的,就开始做了,这个游戏一部分是参照前一篇博客的,就像得分。这个游戏也是自己对做完上一个游戏的一个巩固,也是对自己承诺的实现。

    游戏有snake类, food类, 函数处理, 主文件,设置类, 最高得分记录文件。

    先来两张效果图.

    

    


之前自己对于蛇该怎么移动不太清楚, 所以导致写不出来, 现在明白了, 首先把蛇尾更新到前一节身体,其余的都是一样,最后在处理蛇头。

这个游戏整体和上一个很像,这里需要清楚,蛇碰到墙壁,以及蛇身都会死亡。

在做好之后,发现如果想要停下来休息一下在玩,没有暂停功能, 就添加了一个暂停。

在出现gameover的时候,点解gameover游戏重新启动.

主要介绍一下主处理文件的逻辑.

 

    while True:        screen.fill(setting.bg_color)        gf.check_events(snake, setting)        gf.draw_snake_food(screen, snake.bodylist(), food.food_pos())        # 不设置一下,这条蛇要飞        clock.tick(setting.snake_speed)        snake.move(setting.stop_flag)        gf.is_game_over(screen, snake.snakeList[0], snake.bodylist(), setting)        gf.check_eat_food(snake, sb, food, setting)        gf.update_screen(sb)
check_events监控整个游戏出现的按键。 上下左右,空格。

clock.tick看文档说是如果想要控制游戏的速度。就用他。就用了

snake.move就是蛇身的移动。

is_game_over判断游戏是否结束,然后做相应的处理.

check_eta_food对蛇吃到食物进行处理.

update-screen.把当前得分和最高分显示出来.

完整游戏在github

原创粉丝点击