赞
踩
标签:强化学习 实验 Q-learning
来自一个github上的项目,使用Q-leraning训练flappy bird,效果很好,半小时能够到几十(比人厉害多了),使用小鸟到最近的柱子的x和y值作为状态
非常简单,但是效果比较一般,鸟很多此在第0次的时候撞在柱子上。
因为用到了google托管css,所以应该是要梯子的。而且在本地打开会因为file协议,导致存储的csv因为google的CORS policy被拒绝访问,解决方案是使用服务器,比如nginx或者apache之类的进行本地代理,通过http协议进行访问(主要原因是因为它拿取文件的方式用的是jQuery的get方法)
首先看看原始代码是如何实现flappy bird这个游戏的。
很明显是使用了canvas。函数startingState()返回的是游戏的初始状态所需要的参数
function startingState() { return { mode: "ready", startFrame: 0, jumpFrame: 0, birdY: birdStartY, curFrame: 0, birdSprite: 0, round: 0, score: 0, totalScore: 0, maxScore: 0, deadFlash: 0, fps: 0, pipeList: [], landList: [], }; }
而后面有gameState = startingState()
,所以后面所有拿到的游戏状态的类型与这个是一致的。
而resetState(gameState)函数则明显是重置游戏的函数
function resetState(gameState) {
var round = gameState.round;
var curFrame = gameState.curFrame;
var totalScore = gameState.totalScore;
var maxScore = gameState.maxScore;
var score = gameState.score;
var gameState = startingState();
gameState.startFrame = curFrame;
gameState.curFrame = curFrame;
gameState.round
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。