public void AddPontos(Obstaculo sender) { /* * Incrementa a pontuação * */ pontuacao += sender.valor; OnChangeScreen("pontos", pontuacao.ToString()); }
private void Tick(object sender, object e) { /* * Incrementa o nivel * */ if (pontuacao > nivel * nivel * 5) { OnChangeScreen("nivel", nivel++.ToString()); CriarObstáculo(true, true); CriarObstáculo(false, true); CriarObstáculo(false, false); } //Move o jogador j.MoveMe(); /* * Adiciona Novos Obstaculos */ contadorCriacaoObstaculos++; if (contadorCriacaoObstaculos >= nextObstaculo) { bool isAzul = (nivel >= 3 && new Random().Next((int)(40 / Math.Sqrt(nivel - 2))) == 0)? true:false; bool isRoxo = (nivel >= 6 && new Random().Next((int)(25 / Math.Sqrt(nivel - 5))) == 0)? true:false; CriarObstáculo(isRoxo, isAzul); } if (ob != null) { Obstaculo toRemove = null; foreach (Obstaculo obs in ob) { //Verifica se colide com o jogador if (obs.VerificaSeColideCom(j)) { toRemove = obs; } /*Move o obstaculo * Se se mover para fora remove-o * Observação: Apenas remove um de cada vez * caso aja mais do que um para remover * irá remover apenas no proximo Tick */ obs.MoveMe(); if (obs.VerificaRender()) { obs.colisao = true; toRemove = obs; } } if (toRemove != null) { RemoveObstaculo(toRemove); } } }