private async Task <Color> Mark(int i, int j) { var handler2 = client.Eth.GetContractQueryHandler <GetBoradSquareFunction>(); var state = new GetBoradSquareFunction(); state.Row = i; state.Column = j; var cellStatus = await handler2.QueryAsync <string>(state, contractAddress); if (cellStatus == "N") { SetMarkFunction mark = new SetMarkFunction(); mark.Row = i; mark.Column = j; var handler = client.Eth.GetContractTransactionHandler <SetMarkFunction>(); var rr = await handler.SendRequestAndWaitForReceiptAsync(mark, contractAddress); cellStatus = await handler2.QueryAsync <string>(state, contractAddress); if (cellStatus == "X") { return(Xcolor); } else if (cellStatus == "O") { return(Ocolor); } } return(Color.Transparent); }
private async void GetGameBoard() { try { if (GameReady == false) { var status = new GameStatus(); var q = client.Eth.GetContractQueryHandler <GameStatus>(); var ready = await q.QueryAsync <bool>(status, contractAddress); if (ready == true) { GameReady = true; } else if (BetTurn == false) { var am = new BetAmount(); var bet = client.Eth.GetContractQueryHandler <BetAmount>(); var result = await bet.QueryAsync <Int32>(am, contractAddress); if (result != ProposedBet) { BetTurn = true; } tx_bet.Value = result; } } if (GameReady == true) { pn_bet.Enabled = false; var handler1 = client.Eth.GetContractQueryHandler <GetWinnerFunction>(); var win = new GetWinnerFunction(); var winResult = await handler1.QueryAsync <string>(win, contractAddress); if (String.IsNullOrEmpty(winResult.ToString()) == false) { timer1.Stop(); } pnl_Board.Enabled = true; var handler2 = client.Eth.GetContractQueryHandler <GetBoradSquareFunction>(); var state = new GetBoradSquareFunction(); state.Row = 0; state.Column = 0; var cellStatus = await handler2.QueryAsync <string>(state, contractAddress); if (cellStatus == "X") { bt_00.BackColor = Xcolor; } else if (cellStatus == "O") { bt_00.BackColor = Ocolor; } else if (cellStatus == "N") { bt_00.BackColor = Color.Transparent; } state.Row = 0; state.Column = 1; cellStatus = await handler2.QueryAsync <string>(state, contractAddress); if (cellStatus == "X") { bt_01.BackColor = Xcolor; } else if (cellStatus == "O") { bt_01.BackColor = Ocolor; } else if (cellStatus == "N") { bt_01.BackColor = Color.Transparent; } state.Row = 0; state.Column = 2; cellStatus = await handler2.QueryAsync <string>(state, contractAddress); if (cellStatus == "X") { bt_02.BackColor = Xcolor; } else if (cellStatus == "O") { bt_02.BackColor = Ocolor; } else if (cellStatus == "N") { bt_02.BackColor = Color.Transparent; } state.Row = 1; state.Column = 0; cellStatus = await handler2.QueryAsync <string>(state, contractAddress); if (cellStatus == "X") { bt_10.BackColor = Xcolor; } else if (cellStatus == "O") { bt_10.BackColor = Ocolor; } else if (cellStatus == "N") { bt_10.BackColor = Color.Transparent; } state.Row = 1; state.Column = 1; cellStatus = await handler2.QueryAsync <string>(state, contractAddress); if (cellStatus == "X") { bt_11.BackColor = Xcolor; } else if (cellStatus == "O") { bt_11.BackColor = Ocolor; } else if (cellStatus == "N") { bt_11.BackColor = Color.Transparent; } state.Row = 1; state.Column = 2; cellStatus = await handler2.QueryAsync <string>(state, contractAddress); if (cellStatus == "X") { bt_12.BackColor = Xcolor; } else if (cellStatus == "O") { bt_12.BackColor = Ocolor; } else if (cellStatus == "N") { bt_12.BackColor = Color.Transparent; } state.Row = 2; state.Column = 0; cellStatus = await handler2.QueryAsync <string>(state, contractAddress); if (cellStatus == "X") { bt_20.BackColor = Xcolor; } else if (cellStatus == "O") { bt_20.BackColor = Ocolor; } else if (cellStatus == "N") { bt_20.BackColor = Color.Transparent; } state.Row = 2; state.Column = 1; cellStatus = await handler2.QueryAsync <string>(state, contractAddress); if (cellStatus == "X") { bt_21.BackColor = Xcolor; } else if (cellStatus == "O") { bt_21.BackColor = Ocolor; } else if (cellStatus == "N") { bt_21.BackColor = Color.Transparent; } state.Row = 2; state.Column = 2; cellStatus = await handler2.QueryAsync <string>(state, contractAddress); if (cellStatus == "X") { bt_22.BackColor = Xcolor; } else if (cellStatus == "O") { bt_22.BackColor = Ocolor; } else if (cellStatus == "N") { bt_22.BackColor = Color.Transparent; } if (String.IsNullOrEmpty(winResult.ToString()) == false) { pnl_Board.Enabled = false; pn_player.Enabled = true; GameReady = false; MessageBox.Show(winResult); } } } catch (Exception ex) { } }