通过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导入图片及显示图片的相关资料,请参考
以上代码运行后的效果如图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中类的定义资料,请参考
相关链接3 Python中类的继承资料,请参考
相关链接4 Pygame中Sprite类的资料,请参考