public bool Update(KeyboardState teclado, Pista pista, int npista) { Rectangle anterior = posicao; if (teclado[Keys.Up] == KeyState.Down) { posicao.Y -= velocidade; cima = true; baixo = false; dir = 1; } if (teclado[Keys.Down] == KeyState.Down) { posicao.Y += velocidade; cima = false; baixo = true; dir = 1; } if (teclado[Keys.Left] == KeyState.Down) { posicao.X -= velocidade; esquerda = true; direi = false; dir = 0; } if (teclado[Keys.Right] == KeyState.Down) { posicao.X += velocidade; esquerda = false; direi = true; dir = 0; } if (pista.getTile(posicao.X, posicao.Y) == 1 || pista.getTile(posicao.X, posicao.Y) == 4) { posicao = anterior; } if (pista.getTile(posicao.X, posicao.Y) == 2) { check4 = false; } if (pista.getTile(posicao.X, posicao.Y) == 3) { posicao = anterior; pontuacao = pontuacao - 10; } if (pista.getTile(posicao.X, posicao.Y) == 5) { check3 = true; } if (pista.getTile(posicao.X, posicao.Y) == 6) { check2 = true; } if (pista.getTile(posicao.X, posicao.Y) == 7) { check1 = true; } if (pista.getTile(posicao.X, posicao.Y) == 8) { check4 = true; } if (check1 == true && check2 == true && check3 == true && check4 == false) { voltas += 1; check1 = false; check2 = false; check3 = false; check4 = true; } if (voltas == 1) { pist = npista; Resultados r = new Resultados(id, pontuacao, carro, pist); r.Enabled = true; r.ShowDialog(); return(true); } return(false); }