예제 #1
0
파일: Cliente.cs 프로젝트: joninvski/padi
 /// <summary>
 /// Fila de mensagem para enviar para o servidor
 /// </summary>
 /// <param name="tipoMsg"> define o tipo de mensagem k se pretende enviar</param>
 /// <param name="obj"> varia conforme o tipo de mensagem</param>
 public void OutMessage(MensagemCliente mensagem)
 {
     //Guarda na lista de mensagens para enviar
      lock (_outbox)
      {
     _outbox.Add(mensagem);
      }
 }
예제 #2
0
        public static MensagemCliente JogadaAbrirTesouro(string nickName, string idJogo, string accao, int salaDestino)
        {
            MensagemCliente mensagem = new MensagemCliente(nickName, Mensagem.ABRETESOURO, "O servidor do cliente: " + nickName);

             mensagem._idDestinatarioMensagem = nickName;
             mensagem._nick = nickName;
             mensagem._direccao = accao;
             mensagem._idJogo = idJogo;
             mensagem._salaDestino = salaDestino;

             return mensagem;
        }
예제 #3
0
파일: Cliente.cs 프로젝트: joninvski/padi
        /// <summary>
        /// Fila de mensagem de entrada, e por aqui que devem receber as mensagem do
        /// </summary>
        /// <param name="tipoMsg"> define o tipo de mensagem k se pretende receber
        /// 
        /// </param>
        /// <param name="obj"> varia conforme o tipo de mensagem
        /// </param>
        public void MessageQueue(MensagemCliente mensagem)
        {
            //Recebe mensagens no cliente
             if (mensagem._jogoTerminou == true)
             {
            MMGCliente.TrataFimJogo(mensagem._pontuacaoNova, mensagem._top10);
             }

             if (mensagem.TipoIgual(Mensagem.RESPOSTAMOVIMENTO))
             {
            MMGCliente.TrataRespostaMovimento(mensagem._novaSala, mensagem._numSalasAdjComGas, 0);
            return;
             }
             else if (mensagem.TipoIgual(Mensagem.RESPOSTAABERTURA))
             {
            MMGCliente.TrataRespostaAbertura(mensagem._pontuacaoAntiga, mensagem._pontuacaoNova, mensagem._top10, mensagem.ResultadoAccaoCliente);
            return;
             }

             else if (mensagem.TipoIgual(Mensagem.SISTEMA_EM_ACTUALIZACAO))
             {
            MMGCliente.TrataActualizacaoSistema();
            return;
             }
             return;
        }
예제 #4
0
        public static MensagemCliente SistemaEmActualizacao(string idCliente)
        {
            MensagemCliente mensagem = new MensagemCliente(idCliente, Mensagem.SISTEMA_EM_ACTUALIZACAO, idCliente);

             return mensagem;
        }
예제 #5
0
        public static MensagemCliente RespostaMovimentoJogador(string idCliente, RoomDesc novaSala, int NumSalasAdjComGas, int pontuacaoNova)
        {
            MensagemCliente mensagem = new MensagemCliente(idCliente, Mensagem.RESPOSTAMOVIMENTO, idCliente);

             mensagem._nick = idCliente;
             mensagem._novaSala = novaSala;
             mensagem._numSalasAdjComGas = NumSalasAdjComGas;
             mensagem._pontuacaoNova = pontuacaoNova;

             return mensagem;
        }
예제 #6
0
        public static MensagemCliente RespondeJogoFim(string idCliente, int pontuacaoFinal, ArrayList Top10)
        {
            MensagemCliente mensagem = new MensagemCliente(idCliente, Mensagem.RESPOSTATERMINOUJOGO, idCliente);

             mensagem._nick = idCliente;
             mensagem._pontuacaoNova = pontuacaoFinal;
             mensagem._top10 = Top10;
             mensagem._jogoTerminou = true;
             return mensagem;
        }
예제 #7
0
        public static MensagemCliente RespondeAbertura(string idCliente, int pontuacaoAntiga, int pontuacaoNova, string resultadoAccaoCliente)
        {
            MensagemCliente mensagem = new MensagemCliente(idCliente, Mensagem.RESPOSTAABERTURA, idCliente);

             mensagem._nick = idCliente;
             mensagem._pontuacaoNova = pontuacaoNova;
             mensagem._pontuacaoAntiga = pontuacaoAntiga;
             mensagem._resultadoAccaoCliente = resultadoAccaoCliente;

             return mensagem;
        }
예제 #8
0
        public static MensagemCliente JogadaMovimento(string nickName, string idJogo, string accao, int salaDestino)
        {
            MensagemCliente mensagem = new MensagemCliente(nickName, Mensagem.MOVIMENTO, "O servidor do cliente: " + nickName);

             mensagem._nick = nickName;
             mensagem._direccao = accao;
             mensagem._idJogo = idJogo;
             mensagem._salaDestino = salaDestino;

             return mensagem;
        }