[몰라도 해보는 cryptoZombie] Lesson2. 좀비가 희생물을 공격하다 – 5(완)

in #kr6 years ago

image.png

https://cryptozombies.io/ko/course

챕터 13: 보너스: 키티 유전자

image.png

고양이를 물어서 고양이를 좀비로 만들었으면 그 흔적을 남기는 단계이다. 이 녀석은 고양이 좀비다~! 그러기 위해서 if문을 통해 kitty가 맞는지 확인하는 과정을 거친다. 크립토좀비에서 if문이 자바스크립트와 동일하다고 하지만 동일하지는 않다. (동일하다면 === 을 사용했을 것이므로.)

// 여기에 있는 함수 정의를 변경:
function feedAndMultiply(uint _zombieId, uint _targetDna, string _species) public {
    require(msg.sender == zombieToOwner[_zombieId]);
    Zombie storage myZombie = zombies[_zombieId];
    _targetDna = _targetDna % dnaModulus;
    uint newDna = (myZombie.dna + _targetDna) / 2;
    // 여기에 if 문 추가
    if (keccak256(_species) == keccak256("kitty")) {
        newDna = newDna - newDna % 100 + 99;
    }
    _createZombie("NoName", newDna);
}

function feedOnKitty(uint _zombieId, uint _kittyId) public {
  uint kittyDna;
  (,,,,,,,,,kittyDna) = kittyContract.getKitty(_kittyId);
   // 여기에 있는 함수 호출을 변경: 
  feedAndMultiply(_zombieId, kittyDna, "kitty");
}

feedAndMultiply 함수에 _species 인자를 추가한다. 이 부분이 kitty인지 아닌지를 밝혀줄 부분이다. if문을 통해 이부분의 해시값이 kitty의 해시값과 같으면 newDna의 마지막 두자리 숫자를 99로 바꾼다.
그리고 feedOnKitty 함수 내부에서 feedAndMultiply가 호출될 시 “kitty”를 받을 수 있게 코드를 수정해 주면 완성!

챕터 14: 마무리하기 Wrapping It Up

image.png

여기는 우리가 작성한 함수가 잘 작동하나 확인해보는 페이지이다. Javascript를 이용해서 어떻게 프론트앤드랑 엮었는지 코드를 읽어볼 수 있다. 여기서는 설명을 생략한다. 관심있으면 읽어보기를 : )

챕터 15: 끝

image.png

우앙 끝! Lesson2가 끝났다.

https://share.cryptozombies.io/ko/lesson/2/share/뭐라도먹어야힘을쓰지?id=Z2l0aHVifDI1MzExNjMz


참고문헌
https://d2fault.github.io/2018/03/19/20180319-about-solidity-1/

코어 이더리움 프로그래밍 – 박재현, 오재훈, 박혜영

Sort:  

크립토 좀비 레슨2를 끝내셨군요. 축하드립니다.~^^

감사합니다! ㅎㅎ

축하드려요

감사합니닷! ㅎ

간만에 콜라보래이션

[골든티켓x짱짱맨x weee] 18차 현타토끼 이모티콘 증정 !
https://steemit.com/goldenticket/@goldenticket/x-x-weee-18

참여하세요!

당장 달려갑니닷!

짱짱맨 출석부 호출로 왔습니다.

감사합니닷 : )

Coin Marketplace

STEEM 0.16
TRX 0.13
JST 0.027
BTC 58270.16
ETH 2600.36
USDT 1.00
SBD 2.39