int main()
{
    std::cout << "cli_terminal_example start" << std::endl;
    check_terminal();
    termios old_attrs = get_term_attrs();
    termios new_attrs = construct_noncanon_mode(old_attrs);
    set_term_attrs(new_attrs);
    check_noncanon_mode();
    main_loop();
    set_term_attrs(old_attrs);
    std::cout << "cli_terminal_example finish" << std::endl;
    return 0;
}
Example #2
0
const reward_observation_terminal_t *env_step(const action_t *this_action)
{
	/* Make sure the action is valid */
	assert(this_action->numInts==1);
	assert(this_action->intArray[0]>=0);
	assert(this_action->intArray[0]<4);

	updatePosition(&the_world,this_action->intArray[0]);
	this_reward_observation.observation->intArray[0] = calculate_flat_state(the_world);
	this_reward_observation.reward = calculate_reward(the_world);
	this_reward_observation.terminal = check_terminal(the_world.agentRow,the_world.agentCol);

	return &this_reward_observation;
}
Example #3
0
/* Sets state and returns 1 if valid, 0 if invalid or terminal */
int set_agent_state(int row, int col){
	the_world.agentRow=row;
	the_world.agentCol=col;
	
	return check_valid(&the_world,row,col) && !check_terminal(row,col);
}