Esempio n. 1
0
        public async Task JoinGameAsync(string gameId)
        {
            if (_isGameStartedOrJoined)
            {
                throw new Exception("Game already started or joined.");
            }
            _isGameStartedOrJoined = true;

            _service = new YahtzeeService(_web3, gameId);

            await _service.JoinGameRequestAndWaitForReceiptAsync();
        }
Esempio n. 2
0
        private async Task <string> DeployContractAsync(string partnerAddress)
        {
            var deployment = new YahtzeeDeployment()
            {
                Partner      = partnerAddress,
                Stake        = 20,
                AmountToSend = 20
            };
            var receipt = await YahtzeeService.DeployContractAndWaitForReceiptAsync(_web3, deployment);

            return(receipt.ContractAddress);
        }
Esempio n. 3
0
        /// <summary>
        /// Startet ein Spiel mit dem aktuell angemeldeten Spieler und dem angegebenen Partner
        /// </summary>
        /// <returns>Gibt die ID des Games zurück</returns>
        /// <param name="partnerAddress">z.B. "0x08c31473a219f22922f47f001611d8bac62fbb6d"</param>
        public async Task <string> StartGameAsync(string partnerAddress)
        {
            if (_isGameStartedOrJoined)
            {
                throw new Exception("Game already started or joined.");
            }
            _isGameStartedOrJoined = true;

            var contractId = await DeployContractAsync(partnerAddress);

            _service = new YahtzeeService(_web3, contractId);

            return(contractId);
        }