Open Setti7 opened 5 years ago
Talvez seria interessante considerar a distância entre os dois elementos de forma relativa, sendo 100% quando o peixe estiver no topo e o retângulo no solo, -100% quando o peixe estiver no solo e o retângulo no topo e 0% quando a distância for 0. Assim a aceleração do retângulo não depende do tamanho da tela, não precisando fazer resizing ou hard-coding das distâncias.
Além disso, isso poderia fazer com que a descoberta dessa função probabilística seja mais fácil, pois ela receberá valores fixos entre -1 e 1 e deverá retornar um valor entre 0 e 1
Afim de desacelerar o movimento do retângulo verde ao se aproximar do peixe, podemos simular o clique da tecla de ação de acordo com uma função probabilística, que retorna um número entre 0 e 1, ao receber a distância entre os dois..
A função deve receber a distância do centro do retangulo verde até o centro do peixe, e retornar um número entre 0 e 1, representando a probabilidade que deve ser clicado a tecla de ação. Essa probabilidade será a quantidade de vezes que o botão será clicado, em média.
Esse número deverá ser passado para outra função que irá simular o clique da tecla de ação de acordo com a probabilidade. Exemplo:
Se a distância entre os 2 forem 0, a função deve retornar 0.5, pois isso fará que o retângulo fique parado com o peixe dentro.
Se a distância for MUITO positiva, ou seja, o peixe estiver MUITO acima do retângulo, o valor retornado deve ser próximo de 1, porém a cada ciclo deve-se diminuir (não linearmente) até que a distância se torne 0, causando a situação 1.
Se a distância for MUITO negativa, ou seja, o retângulo estiver muito acima do peixe, o valor retornado deve ser próximo de 0, mas a cada ciclo deve aumentar, a fim de desacelerar a queda do retângulo à 0, quando eventualmente a distância chegar a 0.