コード例 #1
0
/* *********************************************************************
    Constructor
 ******************************************************************** */
GameController::GameController(OSystem* _osystem): state(_osystem) {
    p_osystem = _osystem;
    p_global_event_obj = p_osystem->event();
    p_console = &(p_osystem->console());
    MediaSource& mediasrc = p_console->mediaSource();
    p_emulator_system = &(p_console->system());
    i_screen_width  = mediasrc.width();
    i_screen_height = mediasrc.height();
    b_send_screen_matrix    = true;
    b_send_console_ram      = true;
    i_skip_frames_num       = 0;
    i_skip_frames_counter   = 0;
    e_previous_a_action     = PLAYER_A_NOOP;
    e_previous_b_action     = PLAYER_B_NOOP;
    
    // load the RL wrapper for the ROM
    string rom_file = p_osystem->settings().getString("rom_file");
    m_rom_settings = buildRomRLWrapper(rom_file);
    if (m_rom_settings == NULL) {
        std::cerr << "Unsupported ROM file" << std::endl;
        exit(1);
    }

    state.setSettings(m_rom_settings);
    // MGB
    p_num_system_reset_steps = atoi(_osystem->settings().getString("system_reset_steps").c_str());

    systemReset();

}
コード例 #2
0
ALEController::ALEController(OSystem* osystem):
  m_osystem(osystem),
  m_settings(buildRomRLWrapper(m_osystem->settings().getString("rom_file"))),
  m_environment(m_osystem, m_settings.get()) {

  if (m_settings.get() == NULL) {
    ale::Logger::Warning << "Unsupported ROM file: " << std::endl;
    exit(1);
  }
  else {
    m_environment.reset();
  }
}