Ola Lucas, tudo bem ?
Ao que consigo perceber a variável heroi armazena um array contendo duas posições, posição inicial 0 (acessada através de heroi[0]) e outra posição (acessada através de heroi[1]).
Ao que parece quando o usuário pressiona as teclas W e S, a posição 0 do array heroi (heroi[0]) altera seu valor, dando uma idéia de controle de movimentação do heroi para frente e para trás.
O mesmo deve ocorrer quando pressionadas as teclas A e D. A posição 1 do array heroi (heroi[1]) altera seu valor controlando a movimentação à esquerda e à direita. Como se cada posição do array controlasse um dos eixos pelo qual o heroi se movimenta.
Espero ter ajudado no pensamento. Abraço!