Um contrato inteligente Ethereum que implementa um sistema de batalha Digimon com evoluções e turnos.
Este contrato implementa um jogo de estratégia por turnos onde dois jogadores controlam seus Digimons. Cada Digimon possui:
- Atributos básicos (vida, ataque, defesa)
- Sistema de evoluções em múltiplas fases
- Conjunto único de ataques
- Sistema de turnos controlado
- Sistema de evolução baseado em turnos
- Mecânica de batalha por turnos
- 7 linhas de evolução diferentes (Agumon, Gabumon, Patamon, Biyomon, Tentomon, Palmon, Gomamon)
- Cada Digimon possui 2 ataques únicos por forma
- Sistema de defesa e dano calculado
- Node.js
- Hardhat
- Solidity 0.8.2+
git clone https://github.com/davemottaa/Digimon-Game-Solidity.git
cd DigimonTurnosCompleto
npm installnpx hardhat run scripts/deploy.js --network sua-rede// Escolher Digimon inicial
contract.escolherPlayer1("Agumon");
// Realizar um ataque
contract.atacarPlayer1(0); // Usa o primeiro ataque do Digimon
// Evoluir após um turno
contract.digievoluirPlayer1();O contrato está dividido em várias seções principais:
struct Ataque {
string nome;
uint256 dano;
}
struct Player {
string nome;
uint256 level;
uint256 vida;
uint256 ataque;
uint256 defesa;
uint256 stage;
string digimon;
}modifier onlyOwner() {
require(msg.sender == owner, "Somente o owner");
_;
}
modifier turnoCorreto(bool isPlayer1) {
require(turnoPlayer1 == isPlayer1, "Nao eh seu turno");
_;
}Cada Digimon possui 4 formas evolutivas:
- Forma Rookie (nível 5)
- Forma Champion (nível 10)
- Forma Mega (nível 20)
- Forma Ultra (nível 30)
O contrato inclui 7 linhas de evolução completas:
- Agumon → Greymon → MetalGreymon → WarGreymon
- Gabumon → Garurumon → WereGarurumon → MetalGarurumon
- Patamon → Angemon → MagnaAngemon → Seraphimon
- Biyomon → Birdramon → Garudamon → Phoenixmon
- Tentomon → Kabuterimon → MegaKabuterimon → HerculesKabuterimon
- Palmon → Togemon → Lilimon → Rosemon
- Gomamon → Ikkakumon → Zudomon → Vikemon
- Turnos alternados entre jogadores
- Cada ataque considera:
- Dano base do ataque
- Atributo de ataque do Digimon
- Atributo de defesa do defensor
- Evolução disponível após um turno completo
Contribuições são bem-vindas! Para contribuir:
- Faça um fork do repositório
- Crie uma branch para sua feature
- Abra um pull request com as mudanças
Este projeto está licenciado sob a licença MIT.
Para dúvidas ou sugestões, entre em contato: kimotsudev@gmail.com