Essa é uma revisão anterior do documento!
Editor de Ladrilhos
No sBotics, o editor de ladrilhos oferece a capacidade de personalizar cada ladrilho da arena, permitindo um controle minucioso sobre o ambiente de simulação. Cada ladrilho possui um conjunto de configurações padrão, que podem ser ajustadas para criar cenários únicos e desafiadores.
As configurações padrão de um ladrilho são representadas em formato JSON, conforme o exemplo abaixo:
{ "image": "https://cdn.sbotics.net/connector?_token=wdwMzUKdhGpNJIO6QRcFSKbCIh4RyDEa5LzDsYAw&cmd=file&target=fls2_VGlsZXMvc3RyYWlnaHQtbGluZS5wbmc", // Imagem do ladrilho "markable": false, // Permite checkpoints manuais (depreciado) "has_checkpoint": false, // Indica se o ladrilho possui checkpoint "is_ramp": false, // Indica se o ladrilho é inclinado/rampa "is_endgoal": false, // Indica se o ladrilho é o objetivo final "rescue_zone": false, // Indica se o ladrilho faz parte de uma sala de resgate "exits": { // Configurações de saídas do ladrilho "side_a": "exit_A", "side_b": "blocked", "side_A": "exit_a", "side_B": "blocked" }, "enter_score": { // Pontuação ao entrar no ladrilho pela primeira vez "points": 0, "multiplier": 1, "attempt_points": [], "attempt_multipliers": [] }, "exit_score": { // Pontuação ao sair do ladrilho pela primeira vez "points": 0, "multiplier": 1, "attempt_points": [], "attempt_multipliers": [] }, "random_type": "none" // Tipo de aleatorização (none, straight, curve) }
“image”: URL da imagem do ladrilho. “markable”: Permite a criação de checkpoints manuais (depreciado). “has_checkpoint”: Indica se o ladrilho possui um checkpoint. “is_ramp”: Indica se o ladrilho é uma rampa/inclinado. “is_endgoal”: Indica se o ladrilho é o objetivo final da arena. “rescue_zone”: Indica se o ladrilho faz parte de uma sala de resgate. “exits”: Define as saídas do ladrilho, controlando a direção em que o robô pode se mover. “enter_score”: Configura a pontuação ao entrar no ladrilho pela primeira vez. “exit_score”: Configura a pontuação ao sair do ladrilho pela primeira vez. “random_type”: Determina se o ladrilho pode ser substituído por outro tipo durante a aleatorização da arena (usando o botão de “dado”). Os valores possíveis são “none”, “straight” e “curve”.
Objetos
Além das configurações de ladrilhos, o editor também permite adicionar objetos à arena. Esses objetos podem ter diferentes tipos, pontuações de resgate e a capacidade de servir como pontos de evacuação (evacuation_bonus
).
As propriedades dos objetos incluem:
material (m
): Define a cor do objeto, utilizando as cores disponíveis no sBotics:
Black (Preto)
White (Branco)
Green (Verde)
Red (Vermelho)
Blue (Azul)
Yellow (Amarelo)
Magenta
Cyan
Tipo (t
): Define o formato do objeto.
Peso (w
): Define a massa do objeto (objetos com massa diferente de 0 são afetados pela gravidade).
Reiniciar Posição: Permite ativar se o objeto será reiniciado a sua posição inicial a cada nova tentativa (válido apenas para objetos não estáticos).
Posição (X, Y, Z): Define a posição do objeto na arena.
Rotação (X, Y, Z): Define a rotação do objeto (em graus).
Escala (X, Y, Z): Define o tamanho do objeto.
Pontuação: Define a pontuação do objeto.
Se o objeto for do tipo “Evacuation Point” (área de resgate), é possível especificar bônus para alguns tipos de resgate usando um objeto de pontuação para um tipo de objeto dentro de “evacuation_bonus”:
"evacuation_bonus": { "ObjectDeadVictim": { "points": 0, "multiplier": 1.4, "attempt_points": [], "attempt_multipliers": [] } }
Para referenciar tipos de objetos a serem resgatados, utilize o esquema de nomeação do nome do objeto em inglês, com as iniciais em maiúsculo, precedido por “Object”:
ObjectCuboid ObjectRescueKit ObjectLiveVictim etc… Se o objeto for de qualquer outro tipo, é possível definir uma pontuação que será concedida por resgatar o objeto em qualquer área de resgate, utilizando um objeto de pontuação.