python编写小游戏之三入最最简陋简单贪食蛇编写2
紧接上回,已经完成了单独的贪食蛇的控制,但是呢,居然没有苹果可以吃,所以,非常简单的加入苹果,同时呢,修改一下主程序中贪食蛇的创建,单独编写一个贪食蛇身体生成函数,这样将来要做双蛇也很简单了。
#创建一条新的蛇
def create_new_snake():snake_body = []snake_x = random.randint(5, rows - 5)snake_y = random.randint(5, columns - 5)snake_body.append([snake_x, snake_y])snake_body.append([snake_x, snake_y + 1])snake_body.append([snake_x, snake_y + 2])return snake_body
把主程序中所有生成新蛇的地方换成
snake = create_new_snake()
创建新苹果,苹果不能出现在蛇的身体里,所以
def create_new_apple(snake_body):apple_in_game = Falsewhile not apple_in_game:apple_x = random.randint(0, rows - 1)apple_y = random.randint(0, columns - 1)# print(apple_x, apple_y)if (apple_x, apple_y) not in snake_body:new_apple = pygame.image.load('apple.png')new_apple = pygame.transform.scale(new_apple, (tile_size - 2, tile_size - 2))apple_x_location = apple_y * tile_size + x_margin/2apple_y_location = apple_x * tile_size + y_margin/2display.blit(new_apple, (apple_x_location, apple_y_location))apple_in_game = Truereturn new_apple, (apple_x, apple_y), apple_x_location, apple_y_location
在主程序中,主循环之前创建一个苹果
if __name__ == '__main__':pygame.init()snake = create_new_snake()# 未按下按键时,默认的初识移动方向direction = directions[random.randint(0, 3)]# 创建一个小苹果apple, apple_location, apple_left, apple_top = create_new_apple(snake)# 吃到苹果标志apple_was_eaten = False
因为蛇与苹果之间有交互关系,如果蛇吃到苹果,那么蛇的身体会增加一格,也就是此次循环不删除列表的最后一个元素,所以定义了一格标志位。
在主循环中,与监测按键平级的地方,放入蛇与苹果关系检查。
if apple_location in snake:apple, apple_location, apple_left, apple_top = create_new_apple(snake)apple_was_eaten = Truemy_score += 1
无论
python编写小游戏之三入最最简陋简单贪食蛇编写2相关推荐
- 配合理lcd的c语言小游戏,51单片机+LCD12864做的贪食蛇和俄罗斯方块小游戏分享
//12864并行接口参考程序,控制器st7920 #include "reg52.h" #include "Lcd12864.h" #include &quo ...
- python经典小游戏五子棋,适合python编程的小游戏
python入门可以做的小游戏 1.Python入门拼图小游戏简单介绍:将图像分为m×n个矩形块,并将图像右下角的矩形块替换为空白块后,将这些矩形块随机摆放成原图像的形状. 2.Python入门推箱子 ...
- python入门小游戏代码20行,python入门小游戏代码
python入门可以做的小游戏 1.Python入门拼图小游戏简单介绍:将图像分为m×n个矩形块,并将图像右下角的矩形块替换为空白块后,将这些矩形块随机摆放成原图像的形状. 2.Python入门推箱子 ...
- 10个python入门小游戏,零基础打通关,就能掌握编程基础
前言 不会python就不能用python开发入门级的小游戏? 当然不是,我收集了十个python入门小游戏的源码和教程,并且即使你没有python基础,只要跟着这十个小游戏的开发详细教程去做,以及有 ...
- 一分钟教你学会python_十分钟教你学会python编写小游戏
原标题:十分钟教你学会python编写小游戏 看过,估计大家都已经精通了吧,好的,话不多说,今天就活学活用,用python来编写纸牌游戏21点,江湖人称黑杰克,BLACK JACK-(注意法式卷舌). ...
- python小游戏之三
猜拳游戏 Python代码实现猜拳小游戏 Python代码实现猜拳小游戏_zhangtongyuan0909的博客-CSDN博客_python猜拳游戏代码 用python中类与对象写一个猜拳游戏 用p ...
- python编写小游戏17_十分钟教你学会python编写小游戏
原标题:十分钟教你学会python编写小游戏 看过,估计大家都已经精通了吧,好的,话不多说,今天就活学活用,用python来编写纸牌游戏21点,江湖人称黑杰克,BLACK JACK-(注意法式卷舌). ...
- 第一次用python写小游戏
记一次用python开发小游戏的经历 在学习if语句和循环时,突然想起初中时玩过一款叫<黑道圣徒3>的游戏,里面有一个文字冒险的小游戏,看样子能用if实现,就想着把它做出来. 游戏玩法 开 ...
- 用c语言编写的打字母游戏,用C语言编写小游戏——“井字棋”
原标题:用C语言编写小游戏--"井字棋" 作者:Milo Yip 来源:知乎 原文链接:https://zhuanlan.zhihu.com/p/39581573 在 Milo Y ...
最新文章
- 最近对Allegro的几个总结
- Server Application Unavailable
- 三种运动让身高增长4-10cm
- Java 洛谷 P5461 赦免战俘讲解
- win101909要不要更新_win10更新好还是不更新_win10更新有什么用
- java向Excel文件写入数据
- DevOps到底是什么意思?
- 20张可视化大屏,给数据分析师最全的大屏模板!无代码直接套用
- weblogic服务器连接池配置细节
- 时间序列预测算法总结
- 博士申请 | 皇家墨尔本理工大学鲍芝峰教授招收数据挖掘方向全奖博士生
- 腾讯会议 .wemta 文件如何转码成 mp4 文件
- docker的离线安装方法和网络源安装方法、内网环境linux脚本批量安装docker、安装docker-compose
- 台式电脑点关闭计算机关不了,台式电脑关机关不了怎么办
- LeetCode——5776. 判断矩阵经轮转后是否一致(Determine Whether Matrix Can Be Obtained By Rotation)[简单]——分析及代码(Java)
- EB-Boost :智慧景区共享单车中长期投放量精准预测方法
- 1093:计算多项式的值
- linux设置系统时间戳
- Windos测试IP和端口是否能访问
- 美赛数模论文之公式写作
热门文章
- 苹果手机微信语音没声音怎么回事_有没有iOS便签软件?想在苹果手机上用便签记事...
- 天上掉馅饼?当心旅行社的“八大陷阱”
- C语言 逆序输出数组元素
- MySQL联合索引(abc)命中规则
- python占位符怎么使用
- php实现图片液化,ps液化滤镜怎么用 ps液化滤镜功能教程
- 计算机主板元件及作业,电脑主板元器件认识(1).ppt
- 推荐一本经典的操作系统和Linux原理书
- 一封2014年回怼微软坑爹正版计划的信
- 高性能游戏本搭服务器,用过这些高性能游戏本, 才知道什么叫优秀