https://download.csdn.net/download/weixin_38594096/36475847https://download.csdn.net/download/weixin_38594096/36475847仅靠书中的代码是不能运行的,会提示无法load_bird_male()
需要下载上面链接中的文件,才可以,里面包括源码+resource(图片文件)+load.py
import pygame
from load import *
import math
import time
import random
from numpy import *
class YuanYangEnv:
def __init__(self): #初始化函数
self.states=[] #定义(S,A,P,R,gama)
for i in range(0,100):
self.states.append(i) #states:0-99
self.actions=['e','s','w','n'] #动作空间
self.gamma=0.8 #折扣因子
self.value=zeros((10,10)) #值函数
#渲染属性
self.viewer=None
self.FPSCLOCK=pygame.time.Clock()
self.screen_size=(1200,900) #窗口大小
self.bird_position=(0,0) #雄鸟当前位置坐标
self.limit_distance_x=120 #x方向上一次行走像素距离120
self.limit_distance_y = 90 # y方向上一次行走像素距离90
self.obstacle_size=[120,90] #障碍物大小120*90
self.obstacle1_x=[] #障碍物墙1
self.obstacle1_y = []
self.obstacle2_x = [] # 障碍物墙2
self.obstacle2_y = []
self.path = []
for i in range (8):
self.obstacle1_x.append(360) #障碍物墙1
if i<=3: