Estou fazendo um programa em C, e preciso de fazer uma simulação de colisão dentro de uma matriz.
O efeito começaria com uma jogada de uma variável em uma coordenada da matriz[10][10], se está coordenada já estiver ocupada por uma variável anterior, a nova variável assume seu lugar, e a variável anterior pula 3 linhas para cima se a nova posição desta variável anterior já estiver ocupada, ela assume esta posição, e a variável que ocupava pula três linhas para cima também caso chegue no teto da matriz, a variável deverá voltar o numero de linhas restantes para completar o movimento de três linhas. Caso nessa movimentação de volta a variável caia em uma coordenada ocupada, a variável que estava ocupando devera pular três linhas para baixo caso chegue a ultima linha da matriz, a variável deverá subir novamente o numero de linhas restantes para completar o movimento de três linhas.
Para meu caso, que estou iniciando em programação, estou tendo muitas dificuldades em entender a lógica para simular essas colisões.
dependendo das posições, a jogada de uma variável pode criar uma serie de movimentações complicadas.