Skip to content

Latest commit

 

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 

Repository files navigation

cryptozombies

how to build a game on Ethereum for beginners on Solidity

#---build a "Zombie Factory" to build an army of zombies. #---Our factory will maintain a database of all zombies in our army #---Our factory will have a function for creating new zombies #---Each zombie will have a random and unique appearance

pragma solidity >=0.5.0 <0.6.0;

contract ZombieFactory {

event NewZombie(uint zombieId, string name, uint dna);

uint dnaDigits = 16;
uint dnaModulus = 10 ** dnaDigits;

struct Zombie {
    string name;
    uint dna;
}

Zombie[] public zombies;

// declare mappings here

function _createZombie(string memory _name, uint _dna) private {
    uint id = zombies.push(Zombie(_name, _dna)) - 1;
    emit NewZombie(id, _name, _dna);
} 

function _generateRandomDna(string memory _str) private view returns (uint) {
    uint rand = uint(keccak256(abi.encodePacked(_str)));
    return rand % dnaModulus;
}

function createRandomZombie(string memory _name) public {
    uint randDna = _generateRandomDna(_name);
    _createZombie(_name, randDna);
}

}

About

how to build a game on Ethereum for beginners on Solidity

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors