private void ManageLastPiece() { List <string> dadosWs = new List <string>(); dadosWs.Add(this.idGame); string result = RequisicoesRestWS.CustodiaRequisicao(WsUrlManager.GetUrl("/get-last-played-piece"), dadosWs); if (String.IsNullOrEmpty(result)) { ShowMsg("Não foi possível pegar a última peça! Tente novamente, mais tarde!"); return; } PieceObject po = JsonConvert.DeserializeObject <PieceObject>(result); dadosWs = new List <string>(); dadosWs.Add(this.idGame); result = RequisicoesRestWS.CustodiaRequisicao(WsUrlManager.GetUrl("/get-last-extreme-side"), dadosWs); if (String.IsNullOrEmpty(result)) { ShowMsg("Não foi possível pegar o último lado! Tente novamente, mais tarde!"); return; } this.AddBodyGame(po, result); }
/* * Retorna 0 se a partida está em andamento, * 1 se você ganhou, * 2 se o adversário ganhou, * 3 se deu erro! */ private int GetWinnerGame() { List <string> dadosWs = new List <string>(); dadosWs.Add(idGame); dadosWs.Add(idPlayer); string result = RequisicoesRestWS.CustodiaRequisicao(WsUrlManager.GetUrl("/is-winner"), dadosWs); if (String.IsNullOrEmpty(result)) { ShowMsg("Falha ao obter o Ganhador, vc!"); return(3); } if (Convert.ToBoolean(result)) { dadosWs = new List <string>(); dadosWs.Add(idGame); result = RequisicoesRestWS.CustodiaRequisicao(WsUrlManager.GetUrl("/endgame"), dadosWs); if (String.IsNullOrEmpty(result)) { ShowMsg("Falha ao fechar o Jogo!"); return(3); } if (!Convert.ToBoolean(result)) { ShowMsg("Não foi possível fechar o jogo!"); } return(1); } else { dadosWs = new List <string>(); dadosWs.Add(idGame); dadosWs.Add(idPlayer); result = RequisicoesRestWS.CustodiaRequisicao(WsUrlManager.GetUrl("/is-winner"), dadosWs); if (String.IsNullOrEmpty(result)) { ShowMsg("Falha ao obter o Ganhador, ele(a)!"); return(3); } if (Convert.ToBoolean(result)) { return(2); } else { return(0); } } }
private void LoadAllData() { string result = RequisicoesRestWS.CustodiaRequisicao(WsUrlManager.GetUrl("/get-all-rankings")); if (String.IsNullOrEmpty(result)) { MessageBox.Show("Opa! Não foi possível carregar os dados de Ranking! Tente mais tarde novamente!"); return; } List <RankingObject> l = JsonConvert.DeserializeObject <List <RankingObject> >(result); if (l.Count() == 0) { MessageBox.Show("Sem rankings disponíveis!"); return; } DataTable rankingTable = new DataTable("Ranking"); DataColumn c0 = new DataColumn("Ranking"); DataColumn c1 = new DataColumn("Nome"); DataColumn c2 = new DataColumn("E-mail"); DataColumn c3 = new DataColumn("Vitórias"); DataColumn c4 = new DataColumn("Partidas Jogadas"); rankingTable.Columns.Add(c0); rankingTable.Columns.Add(c1); rankingTable.Columns.Add(c2); rankingTable.Columns.Add(c3); rankingTable.Columns.Add(c4); int rankingPos = 1; foreach (RankingObject ro in l) { DataRow row = rankingTable.NewRow(); row["Ranking"] = rankingPos; row["Nome"] = this.GetPlayerName(ro.player); row["E-mail"] = this.GetPlayerEmail(ro.player); row["Vitórias"] = ro.vitorias; row["Partidas Jogadas"] = ro.partidas_jogadas; rankingTable.Rows.Add(row); rankingPos++; } dataGridView1.DataSource = rankingTable; }
private void ManageNumTilesEnemy() { List <string> dadosWs = new List <string>(); dadosWs.Add(idGame); dadosWs.Add(idPlayer); string result = RequisicoesRestWS.CustodiaRequisicao(WsUrlManager.GetUrl("/get-num-tiles-enemy"), dadosWs); if (String.IsNullOrEmpty(result)) { ShowMsg("Falha ao obter o número de peças do adversário!"); return; } lblPecaAdvers.Text = result; }
private Boolean CanPlayBuying() { List <string> dadosWs = new List <string>(); dadosWs.Add(this.idGame); dadosWs.Add(this.idPlayer); string result = RequisicoesRestWS.CustodiaRequisicao(WsUrlManager.GetUrl("/can-play-buying"), dadosWs); if (String.IsNullOrEmpty(result)) { ShowMsg("Não foi possível ver se posso jogar comprando peças!"); return(false); } return(Convert.ToBoolean(result)); }
private void SetPieces() { List <string> dadosWs = new List <string>(); dadosWs.Add(this.idGame); dadosWs.Add(this.idPlayer); string result = RequisicoesRestWS.CustodiaRequisicao(WsUrlManager.GetUrl("/get-pieces"), dadosWs); if (String.IsNullOrEmpty(result)) { MessageBox.Show("Não foi possível pegar as suas peças! Tente novamente, mais tarde!"); return; } lista = JsonConvert.DeserializeObject <List <PieceObject> >(result); }
private void btnlogin_Click(object sender, EventArgs e) { using (var db = new dominoeng3Entities()) { var query = from u in db.players where u.Nome == txtuser.Text && u.Senha == txtpass.Text select u; if (query.Count() == 1) { List <string> dadosWs = new List <string>(); dadosWs.Add(Convert.ToString(query.First().ID)); dadosWs.Add(query.First().Email); dadosWs.Add(txtuser.Text); string idJogador = Convert.ToString(query.First().ID); string result = RequisicoesRestWS.CustodiaRequisicao(WsUrlManager.GetUrl("/connect"), dadosWs); if (String.IsNullOrEmpty(result)) { MessageBox.Show("Não foi possível logar-se! Tente novamente, mais tarde!"); return; } if (Convert.ToBoolean(result)) { MessageBox.Show("O id do seu jogador é: " + idJogador); FormMainScreen ms = new FormMainScreen(idJogador); ms.ShowDialog(); txtpass.Text = ""; txtuser.Text = ""; this.Show(); } else { MessageBox.Show("O Web Service retornou um resultado inválido! Abortando a operação de login!"); } } else { MessageBox.Show("Nome e senha de usuário inválidos!"); } } }
private void btnBuyPiece_Click(object sender, EventArgs e) { if (!CanPlayAlone() && CanPlayBuying()) { List <string> dadosWs = new List <string>(); dadosWs.Add(this.idGame); dadosWs.Add(this.idPlayer); string result = RequisicoesRestWS.CustodiaRequisicao(WsUrlManager.GetUrl("/buy"), dadosWs); if (String.IsNullOrEmpty(result)) { ShowMsg("Não foi possível comprar uma nova peça!"); return; } MessageBox.Show("Peça comprada com sucesso!"); PieceObject po = JsonConvert.DeserializeObject <PieceObject>(result); this.AddPieceToPlayer(po); } else { MessageBox.Show("Ação não permitida!"); } }
private void FormNewGame_Load(object sender, EventArgs e) { string result = RequisicoesRestWS.CustodiaRequisicao(WsUrlManager.GetUrl("/get-free-players/")); if (String.IsNullOrEmpty(result)) { MessageBox.Show("Opa! Não foi possível carregar os dados de jogadores disponíveis para um novo jogo! Tente mais tarde novamente!"); if (String.IsNullOrEmpty(previousResult)) { return; } result = previousResult; MessageBox.Show("Mostrando resultados previamente salvos...!"); } if (String.IsNullOrEmpty(previousResult)) { previousResult = result; } Dictionary <int, PlayerObject> dic = JsonConvert.DeserializeObject <Dictionary <int, PlayerObject> >(result); if (dic.ContainsKey(Convert.ToInt32(this.idPlayer))) { dic.Remove(Convert.ToInt32(this.idPlayer)); } if (dic.Count() > 0) { poDic = dic; DataTable user = new DataTable("User"); DataColumn c0 = new DataColumn("Nome"); DataColumn c1 = new DataColumn("E-mail"); user.Columns.Add(c0); user.Columns.Add(c1); foreach (var x in dic) { PlayerObject po = x.Value; DataRow row = user.NewRow(); row["Nome"] = po.name; row["E-mail"] = po.email; user.Rows.Add(row); } dataGridView1.DataSource = user; labelOponentes.Text = "Existem jogadores disponíveis!"; } else { DataTable user = new DataTable("User"); DataColumn c0 = new DataColumn("Nome"); DataColumn c1 = new DataColumn("E-mail"); user.Columns.Add(c0); user.Columns.Add(c1); dataGridView1.DataSource = user; labelOponentes.Text = "Sem jogadores disponíveis!"; } }
private void PlayMethod() { using (var db = new dominoeng3Entities()) { var query = from u in db.partidas where (u.estado == 3 && u.player2 == idPlayer) select u; if (query.Count() > 0) { DialogResult res = MessageBox.Show("Você quer jogar agora, assim como o Jogador 1?", "Confirmation", MessageBoxButtons.OKCancel, MessageBoxIcon.Information); if (res == DialogResult.OK) { int idGame; partida p = query.First(); idGame = p.ID; p.estado = p.estado + 1; db.SaveChanges(); MessageBox.Show("Você decidiu jogar agora!"); HoldNewGameState4(idGame); } else if (res == DialogResult.Cancel) { partida p = query.First(); p.estado = 7; db.SaveChanges(); MessageBox.Show("Você decidiu não jogar agora!"); } } else { query = from u in db.partidas where (u.estado == 4 && (u.player1 == idPlayer || u.player2 == idPlayer)) select u; if (query.Count() > 0) { partida p = query.First(); idGame = Convert.ToString(p.ID); string idPlayer1 = Convert.ToString(p.player1); string idPlayer2 = Convert.ToString(p.player2); DialogResult res = MessageBox.Show("O jogo pode ser iniciado agora, mesmo?", "Confirmation", MessageBoxButtons.OKCancel, MessageBoxIcon.Information); if (res == DialogResult.OK) { p.estado = p.estado + 1; db.SaveChanges(); List <string> dadosWs = new List <string>(); dadosWs.Add(idGame); dadosWs.Add(idPlayer1); dadosWs.Add(idPlayer2); string result = RequisicoesRestWS.CustodiaRequisicao(WsUrlManager.GetUrl("/newgame"), dadosWs); if (String.IsNullOrEmpty(result)) { MessageBox.Show("Não foi possível logar-se! Tente novamente, mais tarde!"); return; } if (Convert.ToBoolean(result)) { string idOpponent; if (idPlayer1.Equals(this.idPlayer)) { idOpponent = idPlayer2; } else { idOpponent = idPlayer1; } fmdomino fd = new fmdomino(idGame, Convert.ToString(this.idPlayer), idOpponent); fd.ShowDialog(); } else { MessageBox.Show("O Web Service retornou um resultado inválido! Abortando a operação de inicio de jogo!"); } } else if (res == DialogResult.Cancel) { this.playIt = false; MessageBox.Show("Você decidiu não jogar agora!"); } } } } }
private void AddPieceToPlayer(PieceObject piece) { Point newLoc = new Point(top, left); top += 55; Button b = new Button(); dic_but_po[b] = piece; b.Size = new Size(30, 40); b.Location = newLoc; b.Click += (s, ne) => { if (CanPlayAlone()) { PieceObject po = dic_but_po[b]; string result; if (extremoA != -1) { string escolha = this.GetSelectedDirectionComboBoxValue(); if (escolha.Equals("Direita")) { List <string> dadosWs = new List <string>(); dadosWs.Add(idGame); dadosWs.Add(idPlayer); dadosWs.Add(po.faceA.ToString()); dadosWs.Add(po.faceB.ToString()); dadosWs.Add("A"); result = RequisicoesRestWS.CustodiaRequisicao(WsUrlManager.GetUrl("/play"), dadosWs); if (String.IsNullOrEmpty(result)) { MessageBox.Show("Não foi possível jogar-se! Tente novamente, mais tarde!"); return; } if (!Convert.ToBoolean(result)) { dadosWs = new List <string>(); dadosWs.Add(idGame); dadosWs.Add(idPlayer); dadosWs.Add(po.faceB.ToString()); dadosWs.Add(po.faceA.ToString()); dadosWs.Add("A"); result = RequisicoesRestWS.CustodiaRequisicao(WsUrlManager.GetUrl("/play"), dadosWs); } } else if (escolha.Equals("Esquerda")) { List <string> dadosWs = new List <string>(); dadosWs.Add(idGame); dadosWs.Add(idPlayer); dadosWs.Add(po.faceA.ToString()); dadosWs.Add(po.faceB.ToString()); dadosWs.Add("B"); result = RequisicoesRestWS.CustodiaRequisicao(WsUrlManager.GetUrl("/play"), dadosWs); if (String.IsNullOrEmpty(result)) { MessageBox.Show("Não foi possível jogar-se! Tente novamente, mais tarde!"); return; } if (!Convert.ToBoolean(result)) { dadosWs = new List <string>(); dadosWs.Add(idGame); dadosWs.Add(idPlayer); dadosWs.Add(po.faceB.ToString()); dadosWs.Add(po.faceA.ToString()); dadosWs.Add("B"); result = RequisicoesRestWS.CustodiaRequisicao(WsUrlManager.GetUrl("/play"), dadosWs); } } else { MessageBox.Show("Escolha um sentido: Direita ou Esquerda!"); return; } } else { List <string> dadosWs = new List <string>(); dadosWs.Add(idGame); dadosWs.Add(idPlayer); dadosWs.Add(po.faceA.ToString()); dadosWs.Add(po.faceB.ToString()); dadosWs.Add("A"); result = RequisicoesRestWS.CustodiaRequisicao(WsUrlManager.GetUrl("/play"), dadosWs); } if (String.IsNullOrEmpty(result)) { MessageBox.Show("Não foi possível jogar-se! Tente novamente, mais tarde!"); return; } if (Convert.ToBoolean(result)) { string escolha = this.GetSelectedDirectionComboBoxValue(); if (String.IsNullOrEmpty(escolha)) { escolha = "Esquerda"; } this.DrawTile(po, escolha); if (!this.initialized) { this.initialized = true; } if (this.InvokeRequired) { this.BeginInvoke((MethodInvoker) delegate() { Controls.Remove(b); }); } else { Controls.Remove(b); } btnPieces.Remove(b); if (btnPieces.Count() > 0) { Button lb = btnPieces.Last(); lb.Location = b.Location; } } } else if (CanPlayBuying()) { MessageBox.Show("Compre novas peças!"); } else { MessageBox.Show("Aguarde a sua vez!"); } }; if (b.Location.X < 850) { newLoc.Offset(b.Height + 10, 0); } else { newLoc = new Point(150, 350); newLoc.Offset(0, b.Height + 25); } byte[] dadosImg = this.GetImageContent(this.cip.ID, piece.faceA, piece.faceB); MemoryStream ms = new MemoryStream(dadosImg); Image img = Image.FromStream(ms); b.BackgroundImage = this.ResizeImage(img, b.Size); b.BackgroundImageLayout = ImageLayout.Stretch; b.ImageAlign = ContentAlignment.MiddleRight; b.TextAlign = ContentAlignment.MiddleLeft; if (this.InvokeRequired) { this.BeginInvoke((MethodInvoker) delegate() { Controls.Add(b); }); } else { Controls.Add(b); } btnPieces.Add(b); }