sBotics Wiki

Tutorial do Simulador usado pela OBR

Ferramentas do usuário

Ferramentas do site


editor_de_arenas

Diferenças

Aqui você vê as diferenças entre duas revisões dessa página.

Link para esta página de comparações

Ambos lados da revisão anteriorRevisão anterior
Próxima revisão
Revisão anterior
editor_de_arenas [2025/04/02 18:05] – [Configurações Avançadas de Arena] admineditor_de_arenas [2025/04/15 16:34] (atual) – edição externa 127.0.0.1
Linha 25: Linha 25:
 O objeto JSON de pontuação é utilizado para configurar a pontuação dos ladrilhos e penalidades na arena. Ele segue o seguinte padrão: O objeto JSON de pontuação é utilizado para configurar a pontuação dos ladrilhos e penalidades na arena. Ele segue o seguinte padrão:
  
-<code json>+<code javascript>
 { {
-"points": 0, +    "points": 0, 
-"multiplier": 1, +    "multiplier": 1, 
-"attempt_points": [], +    "attempt_points": [], 
-"attempt_multipliers": []+    "attempt_multipliers": []
 } }
 </code> </code>
  
-"points": Define a pontuação base do ladrilho ou penalidade. +  * ''"points":'' Define a pontuação base do ladrilho ou penalidade. 
-"multiplier": Define o multiplicador de pontuação. +  * ''"multiplier"'': Define o multiplicador de pontuação. 
-"attempt_points": Permite definir pontuações diferentes para cada tentativa. Por exemplo, [5, 4, 3] atribui 5 pontos na primeira tentativa, 4 na segunda e 3 na terceira. Tentativas subsequentes ignoram essa configuração. +  * ''"attempt_points"'': Permite definir pontuações diferentes para cada tentativa. Por exemplo, **''[5, 4, 3]''** atribui 5 pontos na primeira tentativa, 4 na segunda e 3 na terceira. Tentativas subsequentes ignoram essa configuração. 
-"attempt_multipliers": Semelhante a "attempt_points", mas para multiplicadores. +  * ''"attempt_multipliers"'': Semelhante a "attempt_points", mas para multiplicadores. 
-As propriedades "penalty", embora utilizem esse objeto de pontuação, aplicam valores negativos, representando penalidades.+  As propriedades "penalty" ilustradas abaixoutilizam este mesmo objeto de pontuação, logo sendo necessário aplicar valores negativos de pontos (ou decimais de multiplicadores) para de fato representarem penalidades.
  
 ==== Configurações Avançadas de Arena ==== ==== Configurações Avançadas de Arena ====
Linha 51: Linha 51:
 "time_of_day": "15:00", // Horário do dia (6:00 - 18:00), controla a posição do sol "time_of_day": "15:00", // Horário do dia (6:00 - 18:00), controla a posição do sol
 "time_limit_minutes": 5, // Limite de tempo em minutos "time_limit_minutes": 5, // Limite de tempo em minutos
 +"hard_evacuation_point": false, // Área de resgate difícil (falso: N1, difícil: N2)
 </code> </code>
  
Linha 63: Linha 64:
 "advance_penalty": 0, // Número de segundos que é preciso esperar depois de uma nova tentativa para clicar em "nova tentativa" "advance_penalty": 0, // Número de segundos que é preciso esperar depois de uma nova tentativa para clicar em "nova tentativa"
 "max_time_if_incomplete": true, // Rotinas incompletas levam o tempo máximo (5 minutos, 7, etc) "max_time_if_incomplete": true, // Rotinas incompletas levam o tempo máximo (5 minutos, 7, etc)
- +"lack_of_progress": true, // Habilita penalidades por falta de progresso 
-</code> +"scoring": true, // Habilita pontuação 
- +"force_advance"false, // Força o avanço para o próximo trajeto após o threshold 
-**Depreciado:** +"randomize_victim_position": true, // Randomiza a posição das vítimas 
-<code javascript> +"end_on_rescue_victims": false, // Rotina termina ao resgatar todas as vítimas 
-"start_with_rescue_kit": false, // Robô inicia com kit de resgate no início da rodada +"short_lack_of_progress_time": 10, // Tempo para o contador "leve" da falha de progresso 
-"return_rescue_kits_with_robot": true, // Kits de resgate retornam com o robô em novas tentativas +"long_lack_of_progress_time": 50, // Tempo para o contador "grave" da falha de progresso 
-"randomize_safe_area": false, // Randomiza uma área de resgate (incompatível com múltiplas áreas de resgate+"ramp_entrance_score": { ... }, // Pontuação ao entrar em qualquer rampa na arena 
- +"ramp_exit_score": { ... }, // Pontuação ao sair de qualquer rampa na arena 
-"placeable_checkpoint_entrance_score": { ... }, // Pontuação ao entrar em checkpoint posicionável +"use_rescue_checkpoint_lack_of_progress_penalty": true, // Habilita penalidade por cada falha de progresso na rotina para deduzir do ladrilho final 
-"placeable_checkpoint_exit_score": { ... }, // Pontuação ao sair de checkpoint posicionável+"end_goal_lack_of_progress_penalty": { ... }, // Valor da penalidade por cada falha de progresso para deduzir do ladrilho final 
 +"rescue_checkpoint_lack_of_progress_penalty": 0.025, // Valor da penalidade de multiplicadores por falha de progresso em trechos que contém sala de resgate 
 +"path_size_checkpoint_entrance_score": { ... }, // Pontuação que será atribuida ao entrar em um checkpoint pelo tamanho do trajeto que foi concluído. Valor padrão é 5,3,1 pois na primeira tentativa sera 5*numero de ladrilhos de um determinado trajeto 
 +"path_size_checkpoint_exit_score": { ... }, // Pontuação que será atribuida ao sair de um checkpoint pelo tamanho do trajeto anterior que foi concluído.
 </code> </code>
  
Linha 79: Linha 83:
 <code javascript> <code javascript>
 "change_position_in_routine": false, // Permite alterar a posição e depurar o robô durante a rotina "change_position_in_routine": false, // Permite alterar a posição e depurar o robô durante a rotina
- +"robot_constraints": { // Restrições do robô, permite que a arena limite os robôs para criar verdadeiros desafios 
-</code> +    "use_constraints": false, // Habilita restrições 
- +    "constraints_violation_penalty": { ... }, // Penalidade por violar de restrições, pode ser 999 pontos ou qualquer valor escolhido 
-**AAAAAAAAAAAA:** +    "max_price"50, // Preço máximo do robô, use -1 para ignorar restrição 
-<code javascript>+    "max_weight": 100, // Peso máximo do robô, use -1 para ignorar restrição 
 +    "max_ultrasonic": 10, // Número máximo de sensores ultrassônicos, use -1 para ignorar restrição 
 +    "max_servomotor": 10, // Número máximo de servomotores, use -1 para ignorar restrição 
 +    "max_light": 10, // Número máximo de sensores de luz, use -1 para ignorar restrição 
 +    "max_buzzer": 10, // Número máximo de buzzers, use -1 para ignorar restrição 
 +    "max_color": 10, // Número máximo de sensores de cor, use -1 para ignorar restrição 
 +    "max_touch": 10, // Número máximo de sensores de toque, use -1 para ignorar restrição 
 +    "max_camera": 10, // Número máximo de câmeras, use -1 para ignorar restrição 
 +    "max_pen": 10 // Número máximo de canetas, use -1 para ignorar restrição 
 +}
 </code> </code>
  
Linha 91: Linha 104:
 </code> </code>
  
 +**Depreciado:**
 <code javascript> <code javascript>
-"hard_evacuation_point": false, // Ponto de evacuação difícil +"start_with_rescue_kit": false, // Robô inicia com kit de resgate no início da rodada 
-"lack_of_progress": true, // Habilita penalidades por falta de progresso +"starter_rescue_kit_score": { ... }, // Pontuação por entregar kit de resgate inicial 
-"scoring": true, // Habilita pontuação +"return_rescue_kits_with_robot": true, // Kits de resgate retornam com o robô em novas tentativas 
-"force_advance": false, // Força o avanço para o próximo trajeto +"randomize_safe_area": false, // Randomiza uma área de resgate (incompatível com múltiplas áreas de resgate) 
-"placeable_checkpoints": 0, // Número de checkpoints posicionáveis +"multiplier_powered_by_victims_rescued": false, // Antigo cálculo para atribuição de multiplicadores  
-"placeable_checkpoint_margin": 0, // Margem para posicionamento de checkpoints +"placeable_checkpoints": 0, // Número de checkpoints posicionáveis manualmente 
-"randomize_victim_position": true, // Randomiza a posição das vítimas +"placeable_checkpoint_entrance_score": { ... }, // Pontuação ao entrar em checkpoint posicionado manualmente 
-"end_on_rescue_victims": false, // Rotina termina ao resgatar todas as vítimas +"placeable_checkpoint_exit_score": { ... }, // Pontuação ao sair de checkpoint posicionado manualmente 
-"short_lack_of_progress_time": 10, // Tempo para falta de progresso leve +"placeable_checkpoint_margin": 0, // Margem de ladrilhos para posicionar outro checkpoint manualmente 
-"long_lack_of_progress_time": 50, // Tempo para falta de progresso grave +</code>
-"end_goal_lack_of_progress_penalty": { ... }, // Penalidade por falta de progresso no objetivo final +
-"ramp_entrance_score": { ... }, // Pontuação ao entrar na rampa +
-"ramp_exit_score": { ... }, // Pontuação ao sair da rampa +
-"use_rescue_checkpoint_lack_of_progress_penalty": true, // Habilita penalidade por falta de progresso em checkpoints de resgate +
-"rescue_checkpoint_lack_of_progress_penalty": 0.025, // Valor da penalidade por falta de progresso em checkpoints de resgate+
  
-"path_size_checkpoint_entrance_score": { ... }, // Pontuação ao entrar em checkpoint de tamanho de trajeto +//Funções depreciadas não necessariamente não funcionam (a verdade é que todas elas funcionam se configuradas corretamente)apenas deixaram de serem utilizadas pela OBR e não oferecemos mais suporte.
-"path_size_checkpoint_exit_score": { ... }// Pontuação ao sair de checkpoint de tamanho de trajeto +
-"starter_rescue_kit_score":... }, // Pontuação por kit de resgate inicial +
-"multiplier_powered_by_victims_rescued": false, // Multiplicador baseado no número de vítimas resgatadas +
-"@1": "Robot Constraints", // Indica o início das restrições do robô +
-"#1": "Use -1 to ignore a specific constraint.", // Instrução para ignorar restrições +
-"robot_constraints": { // Restrições do robô +
-    "use_constraints": false, // Habilita restrições +
-    "constraints_violation_penalty": { ... }, // Penalidade por violação de restrições +
-    "max_price": 50, // Preço máximo do robô +
-    "max_weight": 100, // Peso máximo do robô +
-    "max_ultrasonic": 10, // Número máximo de sensores ultrassônicos +
-    "max_servomotor": 10, // Número máximo de servomotores +
-    "max_light": 10, // Número máximo de sensores de luz +
-    "max_buzzer": 10, // Número máximo de buzzers +
-    "max_color": 10, // Número máximo de sensores de cor +
-    "max_touch": 10, // Número máximo de sensores de toque +
-    "max_camera": 10, // Número máximo de câmeras +
-    "max_pen": 10 // Número máximo de canetas +
-+
-</code>+
editor_de_arenas.1743617157.txt.gz · Última modificação: 2025/04/15 16:34 (edição externa)