function _playerRollDice(uint _rollUnder, TKN _tkn) private
    gameIsActive
    betIsValid(_tkn.value, _rollUnder)
  {
    require(_tkn.value < ((2 ** 200) - 1)); 
    
    require(block.number < ((2 ** 48) - 1)); 
    
    

    
    
    
   

    
    require(_zthToken(msg.sender));

    playerRoll memory roll = playerRolls[_tkn.sender];

    
    require(block.number != roll.blockn);

    if (roll.blockn != 0) {
      _finishBet(false, _tkn.sender);
    }

    
    

    
    
    

    
    
    
    

    
    
    

    
    
    

    
    
    

    roll.blockn = uint40(block.number);
    roll.tokenValue = uint200(_tkn.value);
    roll.rollUnder = uint8(_rollUnder);

    playerRolls[_tkn.sender] = roll; 

    
    emit LogBet(_tkn.sender, _tkn.value, _rollUnder);
                 
    
    
    

    
    
    
  }