function buy(uint256 _amount, address _invite) public isHuman whenNotPaused payable{
        require(smallRound[bigId][smallId].startTime < block.timestamp, "The game has not started yet");
        require(smallRound[bigId][smallId].endTime > block.timestamp, "The game is over");
        uint256 _money = _amount.mul(getPrice());
        require(_amount > 0 && _money > 0);
        require(_money == msg.value, "The amount is incorrect");

        if (_invite != address(0) && _invite != msg.sender && recommenderAllow[_invite] == true){
            recommender[_invite] = _money.mul(10).div(100).add(recommender[_invite]);
            _money = _money.mul(90).div(100);
        }

        _buy(_amount, _money);
    }