Python游戏编程之赛车游戏1

发布于:2025-02-24 ⋅ 阅读:(13) ⋅ 点赞:(0)

通过Python的pygame模块可以实现赛车游戏,如图1所示。

图1 赛车游戏

从图1中可以看出,玩家通过键盘的左右键操作蓝色汽车躲避红色汽车的撞击,每成功躲避过一辆红色汽车,则玩家得一分。当蓝色汽车被红色汽车撞击后,游戏结束。

1 pygame框架代码的修改

《Pygame显示文字》提到了pygame框架代码,该代码是pygame编程的基础,大部分的pygame游戏代码都是通过以框架代码作为基础的,本赛车程序也不例外,只是需要对框架代码进行修改即可,如图2所示。

图2 pygame框架代码的修改

其中,图2①定义了WIDTH和HEIGHT变量表示屏幕的宽度和高度;图2②用变量代替数字;图2③将游戏窗口标题修改为“赛车游戏”。

2 导入赛道作为游戏背景

2.1 导入图片

导入赛道图片的代码如图3所示。

图3 导入赛道图片的代码

其中,“AnimatedStreet.png”是赛道图片,该图片文件必须与游戏源代码文件在同一目录下。

2.2 显示图片

通过图4所示代码,将导入的赛道图片进行显示。

图4 显示图片的代码

其中,blit()函数的作用是显示图片,该函数的第一个参数表示图片,background即为图3中导入的图片;第二个参数表示图片显示的位置。

注意1 图4显示的代码在pygame框架代码的while True循环中。

相关链接1:pygame导入图片及显示图片的相关资料,请参考

《《Python游戏编程入门》注-第6章1》

以上代码运行后的效果如图5所示。

图5 代码运行效果

3 玩家类的定义

3.1 __init__()方法的定义

玩家类的__init__()方法在实例化该类时调用,代码如图6所示。

图6 玩家类的__init__()方法的代码

其中,第13行中将玩家类的名字设置为Player,该类的父类是pygame.sprite.Sprite类。第14-18行代码定义了玩家的__init__()方法,在该方法中,首先在第17行导入表示玩家的红色汽车图片,即“Player.png”;第18行通过image.get_rect()方法得到图片的位置及大小;第18行将图片的中心点的坐标center设置为(160, 520),即设置了玩家汽车的初始位置。

相关链接2  Python中类的定义资料,请参考

《Python中类的使用1》

相关链接3  Python中类的继承资料,请参考

《Python中类的使用4》

相关链接4  Pygame中Sprite类的资料,请参考

《Pygame中Sprite类的使用6-1》