support.js e ppi.js

Métodos de suporte (ecrã de identificação do utilizador, cálculo dos pixels-per-inch, etc.), não devem ser alterados.


sketch.js

  • A variável GROUP_NUMBER é a primeira a ser mudada com o número do vosso grupo.

  • A variável BAKE_OFF_DAY tem que estar a true no dia da simulação e bake-off para os dados dos vossos utilizadores sejam guardados na BD de avaliação.

  • O método setup() é o primeiro método a ser executado (e uma única vez).

  • O método draw() é executado uma vez por frame, e onde controlamos o desenho dos alvos.

  • O método drawTarget() é responsável por desenhar cada um dos alvos. Podem aceder aos alvos i-1, i, e i+1, para testarem diferentes ajudas ao utilizador acerca do alvo a selecionar (i), o alvo seguinte (i+1), e até o alvo que acabou de ser selecionado (i-1). No código-base usamos apenas o i para apresentar uma borda branca em redor do alvo a selecionar.

  • O método mousePressed() é evocado sempre que o botão esquerdo do rato é premido, e onde preparamos a resposta ao click do utilizador (por ex., foi dentro do alvo correto?).

  • O método printAndSavePerformance() é responsável pela impressão dos resultados no ecrã e envio dos mesmo para a BD (se o BAKE_OFF_DAY for true). Este método é executado por duas vezes, no fim das duas tentativas (48 + 48 trials). Apenas o valor mais baixo para o tempo médio de seleção de alvos com penalização (target_w_penalty) entre as duas tentativas é contabilizado para o bake-off.

  • O método continueTest() dá começo à segunda e última tentativa, fazendo reset a grande parte das variáveis.

  • Guardem os 48 índices de dificuldade (ID) de uma tentativa no array fitts_IDs.


Considerações gerais

Se as vossas alterações ao código-base quebrarem alguma das regras definidas no enunciado (ver “2. Funcionamento”) terão 0v na componente 2. da avaliação (10v); por exemplo se alterarem o tamanho da hitbox dos alvos (TARGET_SIZE). Tentámos marcar todas estas variáveis e métodos com os seguintes comentários: DO NOT CHANGE! ou DO NOT CHANGE THESE!; mas ultimamente é da vossa responsabilidade assegurarem que o vosso projeto não quebra nenhuma das regras definidas.