Zombies

Plants vs. Zombies(2018ICPC青岛站E题) 二分

怎甘沉沦 提交于 2020-05-04 06:13:32
Plants vs. Zombies                                                ZOJ - 4062 BaoBao and DreamGrid are playing the game Plants vs. Zombies . In the game, DreamGrid grows plants to defend his garden against BaoBao's zombies There are plants in DreamGrid's garden arranged in a line. From west to east, the plants are numbered from 1 to and the -th plant lies meters to the east of DreamGrid's house. The -th plant has a defense value of and a growth speed of . Initially, for all . DreamGrid uses a robot to water the plants. The robot is in his house initially. In one step of watering, DreamGrid will

十一课堂|通过小游戏学习Ethereum DApps编程(3)

ぃ、小莉子 提交于 2019-12-01 22:20:21
1 solidity语言的知识点 Random Numbers 很多时候我们都需要随机数。 在solidity里面,我们可以通过 keccak256 来产生hash随机数。 // Generate a random number between 1 and 100: uint randNonce = 0; uint random = uint(keccak256(now, msg.sender, randNonce)) % 100; randNonce++; uint random2 = uint(keccak256(now, msg.sender, randNonce)) % 100; 在以太坊中,Dapp被调用时,被调用的这个操作将作为一个transaction被广播到网络上其他节点上。 网络上的节点收到了transaction后,都希望Proof of Work,所以都会尝试成为第一个解决这个transaction的节点。然后将这组交易与他们的工作证明(PoW)一起发布到网络的其他节点上。 但一个节点完成了transaction的处理,其他节点都将停止处理这个transaction,而且将尽快接受处理结果。 属于,一个节点可以决定是否广播一个transaction的结果。如果我们生产的随机数,不是我希望看到的,我们可以不广播这个结果,显然这样就不是公平的

十一课堂|通过小游戏学习Ethereum DApps编程(1)

你。 提交于 2019-12-01 22:19:48
这篇文章,是通过制作一款可爱的游戏(DAPP,也可以称做智能合约),从而学习Solidity语言。和ETH网络的一些基础知识。 全程在线编程,无需搭建复杂的环境,只需要有任何其他语言的编程经验,即可马上学习。 网址: https://cryptozombies.io 这篇文章是一篇关于制作游戏的总结。 1 在线游戏简介 支持多语言界面: https://cryptozombies.io/ 课程: cryptozombies课程 编辑页面 在线编辑页面 学习总结 可视范围的 函数专用限制语法 整数 int是带符号整数 其他变量 2 solidity语言的知识点 modifier modifier 和 function有些相似。 主要用于提前检查function的参数是否符合function的要求。 这个就是经典检查调用智能合约的owner是否是此智能合约的开发者的modifier。 出自: https://github.com/OpenZeppelin/openzeppelin-solidity OpenZeppelin is a library for writing secure Smart Contracts on Ethereum. /** * @dev Throws if called by any account other than the owner. */