Guest User

Untitled

a guest
Jul 23rd, 2018
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.73 KB | None | 0 0
  1. pragma solidity ^0.4.19;
  2.  
  3. contract ZombieFactory {
  4.  
  5. event NewZombie(uint zombieId, string name, uint dna);
  6.  
  7. uint dnaDigits = 16;
  8. uint dnaModulus = 10 ** dnaDigits;
  9.  
  10. struct Zombie {
  11. string name;
  12. uint dna;
  13. }
  14.  
  15. Zombie[] public zombies;
  16.  
  17. function _createZombie(string _name, uint _dna) private {
  18. uint id = zombies.push(Zombie(_name, _dna)) - 1;
  19. NewZombie(id, _name, _dna);
  20. }
  21.  
  22. function _generateRandomDna(string _str) private view returns (uint) {
  23. uint rand = uint(keccak256(_str));
  24. return rand % dnaModulus;
  25. }
  26.  
  27. function createRandomZombie(string _name) public {
  28. uint randDna = _generateRandomDna(_name);
  29. _createZombie(_name, randDna);
  30. }
  31.  
  32. }
Add Comment
Please, Sign In to add comment