智能合约游戏案例初阶

智能合约游戏案例初阶

1、合约

认识合约

pragma solidity ^0.4.19;

contract Study{

uint aaa = 1;

uint bbb = 2;

function add(uint aaa,uint bbb)public returns(uint){

return aaa+bbb;

 }

} 

   以上是一个将aaa和bbb相加的一个简单合约,由此可以看出,首先写一份合约先写它的版本pragma solidity ^0.4.19,这里用的是0.4.19=<"版本"<0.5.0,也可以根据自己的需求选择合适的版本;接着写关键字contract(合约)和此合约的名字+{};然后就可以在{}里写合约的内容。

这里先定义了两个整形aaa和bbb并赋值1和2,再写一个相加的函数返回aaa+bbb,自此一个合约就写完了。

2、整型、算数运算符和状态变量

(1)、整形

  •  有符整形(int)
  •  无符整形(uint)

例:-1为有符整形 

       1为无符整形

(2)、运算符

  • 算数运算符(+、-、*、/、%、++、--)
  • 比较运算符(==、!=、>、<、<=、>=)
  • 逻辑运算符(||、&&、!)
  • 赋值运算符(=、+=、-=、%=、*=、/=)
  • 条件运算符(?:)

(3)、状态变量

变量值永远保存在合约存储空间中的的变量就是状态变量

3、结构体、字符串和数组

结构体用于复合型数据,是一个应用类型

结构体格式:struct StructName{type1 type_name_1;type2 type_name_2;}

数组是一种数据结构,他是储存同类型元素的有序集合,一般为动态数组

数组格式:type [arraySize] arrayName;

                  type [] arrayName;

pragma solidity 0.4.19;

contract Study{

//结构体struct
struct Pet{

//字符串string
string name;

uint age;

}

//数组[]
Pet[] public pets; 
//注:这里是可变数组,不可变数组应为 Pet[1] public pets;意为只能容下一个数据的数组

}

 

4、函数

函数格式: function 函数名(参数1,参数2,...) 函数可见性 状态可变性 returns(返回值类型){}

函数可见性,状态可变性,返回值要视情况而定

pragma solodity ^0.4.19;

contract Study{

 //结构体struct
struct Pet{

//字符串string
string name;

uint age;

}

//数组[]
Pet[] public pets; 

 //函数 
function  createPet(string _name, uint _dna) private returns{
        pets.push(Pet(_name, _dna));
    }

}

上面定义了一个creatPet函数,并将一组数据传入到pets数组中,没有返回值

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值