本文将讲解我的部分关键pygame轨迹跟踪仿真代码,想看完整的源码可以去下方的程序源码开源地址处领取,觉得好的话记得给我star,点赞哦~
使用我的开源代码时请引用我的文章并表明出处,不得盗用!
应网友需求,更新了pygame轨迹跟踪仿真代码,在pygame轨迹跟踪仿真(一)的基础上,pygame轨迹跟踪仿真(二)(一的优化版)文章中讲解了新增的多智能体仿真,初始化功能,为了后期做深度强化学习,还添加了轨迹误差项,程序运行结束后会返回轨迹误差。
一、所用环境和基础(程序源码开源地址)(代码已更新为pygame轨迹跟踪仿真(二)(一的优化版)的代码)
- 一台电脑
- vscode
- python3.8.5
- 熟悉pygame模块的基本应用,pygame官网
二、常量设置
SCREEN_RECT = pygame.Rect(0, 0, 720, 720)
FRAME_PER_SEC = 60
CREATE_CAR_EVENT = pygame.USEREVENT
CAR_SIZE = 10
CAR_COLOUR = [0,0,0]
car1_TARGET_POSITION = (600,150)
car1_POINT_COLOUR_xy = []
car1_positionx = 100
car1_positiony = 620
car1_path_colour = (255,0,0)
car1_path_screen_colour = (255,0,0,255)
car1_track_colour = (0,255,0)
car1_track_screen_colour = (0,255,0,255)
car2_TARGET_POSITION = (600,300)
car2_POINT_COLOUR_xy = []
car2_positionx = 300
car2_positiony = 620
car2_path_colour = (0,0,255)
car2_path_screen_colour = (0,0,255,255)
car2_track_colour = (255,255,0)
car2_track_screen_colour = (255,255,0,255)
三、初始化功能
- 创建小车精灵,可以在想要多个小车时,使用精灵组进行统一更改和调用。
- 本代码使用pygame.draw.circle创建的小车是一个圆,想要导入小车图片的可以去源码模仿游戏背景精灵创建方式,导入小车图片。
- 定义小车的加速,减速和带惯性的刹车