Skip to content

Feature/peca fantasma - #2

Merged
ZeCarlos18 merged 2 commits into
mainfrom
feature/peca-fantasma
Oct 11, 2026
Merged

ZeCarlos18 merged 2 commits into
mainfrom
feature/peca-fantasma

Conversation

@Teogenes18

Copy link
Copy Markdown
Owner

Adiciona a peça fantasma: uma sombra semitransparente que mostra onde a peça atual vai cair.

O que foi feito:

  • Cálculo da posição de encaixe da peça (landingY)
  • Desenho da sombra no tabuleiro, antes da peça real (drawGhost)
  • Tecla G para ligar e desligar a sombra durante a partida
  • Tecla G adicionada à lista de controles das telas de início e pausa

Como testar:

  1. Iniciar uma partida e verificar se a sombra aparece onde a peça vai cair
  2. Mover e girar a peça e verificar se a sombra acompanha
  3. Apertar G para desligar e ligar a sombra

@Teogenes18
Teogenes18 requested a review from ZeCarlos18 October 11, 2026 12:51
@ZeCarlos18 ZeCarlos18 mentioned this pull request Oct 11, 2026
3 tasks done

@ZeCarlos18 ZeCarlos18 left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Testei a branch e a peça fantasma está funcionando. Aprovado. Deixo abaixo algumas sugestões que não bloqueiam o merge.

O que testei

  • Sombra: aparece na posição de encaixe da peça e acompanha os movimentos para os lados e a rotação.
  • Pilha: com peças empilhadas, a sombra para em cima da pilha, sempre numa posição livre.
  • Tecla G: liga e desliga a sombra durante a partida. Na pausa não faz nada, o que parece intencional.
  • Teclas existentes: Espaço, ESC e setas continuam funcionando normalmente.
  • Telas pequenas: a tela inicial com os 7 controles cabe sem cortar em 300px e 450px.
  • Console: nenhum erro.

Sugestões (não bloqueiam)

  1. Título do PR: que tal feat: adiciona peça fantasma, no padrão Conventional Commits que usamos no PR #1? Os commits já estão nesse padrão.
  2. Espaço sobrando no fim da linha: em function landingY() { e function drawGhost() { , no inde.html.
  3. Alinhamento em CONTROLS: a linha { keys: ['G'], action: 'ligar / desligar sombra' } ficou desalinhada das outras. É só estético.

Aviso: conflito com o PR #3 (cronômetro)

Este PR e o #3 alteram os mesmos pontos do inde.html. Isso é proposital, porque a atividade pede que a equipe passe por um conflito de PR. Quem entrar na main por último vai ter conflito em 2 trechos:

  1. Logo depois de lose(): var ghost / toggleGhost() × seção do cronômetro. Aqui é só manter os dois lados.
  2. Logo depois de drawRows(): drawGhost() × drawTimer(). Cuidado neste: o Git junta o } final das duas funções, então "aceitar os dois lados" direto no editor gera erro de sintaxe. Ao resolver, é preciso fechar o drawTimer() com } antes do drawGhost().

Se este PR entrar primeiro, eu resolvo o conflito na branch do cronômetro mantendo a tecla G e a sombra.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants