コード例 #1
0
ファイル: brain_run.c プロジェクト: DBarthe/Corewar
static int		brain_run_x_loop(t_brain *brain)
{
  static int	counter = 0;
  int		winner_no;
  t_bool	stopped;

  stopped = false;
  while (!stopped && game_is_ended(brain->game) == false)
    {
      if (cpu_execution(brain->cpu, brain->game, brain->ram) == RET_FAILURE)
	return (RET_ERROR);
      if (game_do_cycle(brain->game, brain->cpu) == RET_FAILURE)
	return (RET_ERROR);
      has_to_stop(&stopped);
      counter++;
      if (counter >= REFRESH)
	{
	  graphic_handler_update(NULL);
	  counter = 0;
	}
    }
  winner_no = game_end(brain->game);
  while (!stopped && pause_x());
  return (winner_no > RET_ERROR ?
	  brain->game->players_id[winner_no] : 0);
}
コード例 #2
0
ファイル: brain_run.c プロジェクト: DBarthe/Corewar
int		brain_run(t_brain *brain)
{
  if (brain == NULL)
    return (RET_FAILURE);
  if ((brain_put_programs(brain)) == RET_FAILURE)
    return (RET_FAILURE);
  while (game_is_ended(brain->game) == false)
    {
      if (cpu_execution(brain->cpu, brain->game, brain->ram) == RET_FAILURE)
	return (RET_FAILURE);
      if (game_do_cycle(brain->game, brain->cpu) == RET_FAILURE)
	return (RET_FAILURE);
    }
  game_end(brain->game);
  return (RET_SUCCESS);
}
コード例 #3
0
ファイル: brain_run.c プロジェクト: DBarthe/Corewar
int		brain_run(t_brain *brain)
{
  int		no;

  if (brain == NULL)
    return (RET_FAILURE);
  if ((brain_put_programs(brain)) == RET_ERROR)
    return (RET_FAILURE);
  while (game_is_ended(brain->game) == false)
    {
      if (cpu_execution(brain->cpu, brain->game, brain->ram) == RET_FAILURE)
	return (RET_ERROR);
      if (game_do_cycle(brain->game, brain->cpu) == RET_FAILURE)
	return (RET_ERROR);
    }
  no = game_end(brain->game);
  return (no < 0 ? no : brain->game->players_id[no]);
}
コード例 #4
0
ファイル: command_loop.c プロジェクト: GBuella/Taltos
static bool
is_end(void)
{
    return game_is_ended(game);
}