Skip to content

Iclasth/MatchGame

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🐾 Match Game – Jogo da Memória de Animais

Um jogo estilo memory match (formar pares) desenvolvido em C# com WPF (XAML) no Visual Studio. O objetivo é encontrar todos os pares de animais no menor tempo possível ⏱️. Esse projeto é ideal para praticar C#, WPF, eventos e manipulação de UI com XAML.

✨ Funcionalidades

  • 🎮 Formar pares de animais clicando nos blocos.
  • 🐱🐰🐻 Diversos emojis de animais.
  • ⏱️ Cronômetro em tempo real que mede quanto tempo você levou.
  • 🔄 Reinício automático ao final da partida (clicando no tempo).
  • 🎲 Randomização das posições dos animais a cada partida.
  • 🖥️ Interface leve e responsiva feita em WPF.

📷 Demonstração

Match Game rodando

🛠️ Tecnologias utilizadas

  • C# (linguagem principal)
  • WPF (Windows Presentation Foundation)
  • XAML para a interface gráfica
  • Visual Studio como IDE
  • DispatcherTimer (para controlar o cronômetro)

📂 Estrutura do Projeto

📦 MatchGame
 ┣ 📜 MainWindow.xaml          # Layout principal (UI)
 ┣ 📜 MainWindow.xaml.cs       # Lógica do jogo (C#)
 ┣ 📜 App.xaml                 # Configurações globais do WPF
 ┣ 📜 App.xaml.cs              # Inicialização do app
 ┗ 📜 MatchGame.csproj         # Arquivo de configuração do projeto

🚀 Como executar o projeto

  1. Pré-requisitos

    • Visual Studio (versão 2019 ou superior recomendada).
    • .NET Desktop Development instalado.
  2. Clonar o repositório

    git clone https://github.com/SEU_USUARIO/MatchGame.git
    cd MatchGame
  3. Abrir no Visual Studio

    • Clique duas vezes no arquivo MatchGame.csproj ou
    • Abra o Visual Studio → FileOpenProject/Solution.
  4. Rodar o jogo

    • Pressione F5 (Debug) ou Ctrl + F5 (Run without Debug).

🎮 Como jogar

  1. Clique em um dos blocos (?) para revelar o animal escondido.

  2. Clique em outro bloco para tentar formar o par.

    • ✅ Se forem iguais → o par desaparece.
    • ❌ Se forem diferentes → o primeiro bloco é revelado novamente.
  3. Continue até encontrar todos os 8 pares.

  4. O cronômetro será exibido no rodapé.

  5. Ao terminar, clique no cronômetro para recomeçar a partida.


📖 Código em destaque

O setup do jogo é feito com uma lista de emojis e embaralhamento aleatório:

List<string> animalEmoji = new List<string>()
{
    "🐿️", "🐱", "🐭", "🐺", "🐰", "🦊", "🐻", "🐼",
    "🐿️", "🐱", "🐭", "🐺", "🐰", "🦊", "🐻", "🐼"
};

Random random = new Random();
foreach (TextBlock textBlock in mainGrid.Children.OfType<TextBlock>())
{
    if (textBlock.Name != "timeTextBlock")
    {
        int index = random.Next(animalEmoji.Count);
        string nextEmoji = animalEmoji[index];
        textBlock.Text = nextEmoji;
        animalEmoji.RemoveAt(index);
    }
}

O cronômetro é controlado com DispatcherTimer:

DispatcherTimer timer = new DispatcherTimer();
timer.Interval = TimeSpan.FromSeconds(.1);
timer.Tick += Timer_Tick;
timer.Start();

🔮 Possíveis melhorias (Roadmap)

  • Implementar níveis de dificuldade (mais blocos, menos tempo).
  • Adicionar efeitos sonoros para acertos/erros.
  • Criar sistema de pontuação.
  • Adicionar ranking de tempos.
  • Suporte a temas personalizados (diferentes tipos de cartas).
  • Publicar como executável (.exe) no GitHub Releases.

🤝 Contribuindo

Contribuições são sempre bem-vindas! 💡 Se quiser colaborar:

  1. Faça um fork do projeto.

  2. Crie uma branch com sua feature:

    git checkout -b minha-feature
  3. Commit suas mudanças:

    git commit -m "Adicionando nova feature"
  4. Faça um push:

    git push origin minha-feature
  5. Abra um Pull Request.

📜 Licença

Este projeto está sob a licença MIT. Você pode usar, modificar e distribuir livremente. Veja o arquivo LICENSE para mais detalhes.

👨‍💻 Autor

Feito com ❤️ por Iclasth Se gostou, ⭐ dê uma estrela no repositório!

About

Match Game (Encontre os Pares) é um jogo desenvolvido com WPF em C#

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages