Packages

ALEx lets you run the Arcade Learning Environment from Elixir.

Current section

Files

Jump to
alex csrc ale src environment stella_environment_wrapper.hpp
Raw

csrc/ale/src/environment/stella_environment_wrapper.hpp

/* *****************************************************************************
* A.L.E (Arcade Learning Environment)
* Copyright (c) 2009-2013 by Yavar Naddaf, Joel Veness, Marc G. Bellemare and
* the Reinforcement Learning and Artificial Intelligence Laboratory
* Released under the GNU General Public License; see License.txt for details.
*
* Based on: Stella -- "An Atari 2600 VCS Emulator"
* Copyright (c) 1995-2007 by Bradford W. Mott and the Stella team
*
* *****************************************************************************
* stella_environment_wrapper.hpp
*
* Method wrapper for StellaEnvironment.
*
**************************************************************************** */
#ifndef __STELLA_ENVIRONMENT_WRAPPER_HPP__
#define __STELLA_ENVIRONMENT_WRAPPER_HPP__
#include "../common/Constants.h"
#include "../emucore/Random.hxx"
namespace ale {
class StellaEnvironment;
class StellaEnvironmentWrapper {
// A wrapper for actions within the StellaEnvironment.
// Allows us to call environment methods without requiring to #include
// stella_environment.hpp.
public:
StellaEnvironmentWrapper(StellaEnvironment& environment);
reward_t act(Action player_a_action, Action player_b_action);
void softReset();
void pressSelect(size_t num_steps = 1);
Random& getSystemRng();
StellaEnvironment& m_environment;
};
} // namespace ale
#endif // __STELLA_ENVIRONMENT_WRAPPER_HPP__