コード例 #1
0
 private void LoadData()
 {
     dtInvio.Value = DateTime.Now;
     using (databaseContext = CreateDatabaseContext())
     {
         PersonaggiManagerNew characterManager = new PersonaggiManagerNew(databaseContext);
         lstDestinatari.DataSource   = characterManager.GetAllCharacters();
         lstDestinatari.SelectedItem = null;
         if (!originalMessage.HasValue)
         {
             cmbMittente.DataSource      = characterManager.GetAllCharacters();
             lstDestinatari.SelectedItem = null;
         }
         else
         {
             MessaggiManager messageManager    = new MessaggiManager(databaseContext);
             Missione        messaggio         = messageManager.GetSingleMessage(originalMessage.Value);
             var             mittentiPossibili = (from destinatari in messaggio.PostaInArrivoes
                                                  orderby destinatari.Personaggio.Nome
                                                  select destinatari.Personaggio).ToList();
             cmbMittente.DataSource       = mittentiPossibili;
             lstDestinatari.SelectedValue = messaggio.Personaggio.NumeroPG;
             txtOggetto.Text   = "Re: " + messaggio.Titolo;
             txtMessaggio.Text = "\r\n ---------- \r\n" + "Da: " + messaggio.Personaggio.Nome + "\r\nData: " + messaggio.DataCreazione + "\r\n" + messaggio.Testo.Replace("<br />", "\r\n").Replace("<br>", "\r\n");
         }
     }
 }
コード例 #2
0
        public bool SaveOutgoingMessage(long numeroPg, Missione messaggio)
        {
            try
            {
                MessaggioSalvato messageToSave = new MessaggioSalvato();
                messageToSave.Hacking     = messaggio.LivelloHacking;
                messageToSave.NumeroPG    = numeroPg;
                messageToSave.Provenienza = "Messaggi";
                messageToSave.Titolo      = messaggio.Titolo;

                StringBuilder content = new StringBuilder();
                content.AppendLine("INVIATO A: ");
                foreach (PostaInArrivo destinatario in messaggio.PostaInArrivoes)
                {
                    content.Append(destinatario.Personaggio.Nome + "; ");
                }
                content.AppendLine("<br/>");
                content.AppendLine("Data: " + messaggio.DataCreazione + "<br/>");
                content.AppendLine("<br/>");
                content.Append(messaggio.Testo);
                messageToSave.Contenuto = content.ToString();

                context.AddToMessaggioSalvatoes(messageToSave);
                return(true);
            }
            catch
            {
                return(false);
            }
        }
コード例 #3
0
        public void MostraMessaggio()
        {
            Missione messaggioDaMostrare = MessaggioVisualizzato;

            if (messaggioDaMostrare != null)
            {
                //procedere a mostrare il tutto
                panMessage.Visible  = true;
                panSalvato.Visible  = false;
                lblMittente.Visible = true;
                lblMittente.Text    = "Mittente: " + messaggioDaMostrare.Personaggio.Nome;
                lblTitolo.Text      = messaggioDaMostrare.Titolo;
                if (ShowEncrypted && messaggioDaMostrare.LivelloCrittazione > 0)
                {
                    ucDecrypt.LivelloDifficolta = messaggioDaMostrare.LivelloCrittazione;
                    lblTesto.Text    = Encryption.ReturnEncryptedText(messaggioDaMostrare.Testo);
                    btnSalva.Visible = false;
                }
                else
                {
                    lblTesto.Text    = messaggioDaMostrare.Testo;
                    btnSalva.Visible = true;
                    ShowEncrypted    = true;
                }
            }
        }
コード例 #4
0
        /// <summary>
        /// Costruttore, inizializza i componenti grafici.
        /// </summary>
        /// <param name="missione">Per manipolare la missione nel Form.</param>
        public FormMissione(Missione missione)
        {
            this.missione = missione;
            InitializeComponent(19, 12);

            //Gioco.Giocatore.Loc.X = missione.PosNave.X; Gioco.Giocatore.Loc.Y = missione.PosNave.Y;
            temp = Griglia_pictureBox[Gioco.Giocatore.Loc.X, Gioco.Giocatore.Loc.Y].BackgroundImage;

            //stampa del giocatore
            //cambia immagine se è sopra una isola
            if (missione.Griglia_numerica.Mat[Gioco.Giocatore.Loc.X, Gioco.Giocatore.Loc.Y + 1] == 1)
            {
                Griglia_pictureBox[Gioco.Giocatore.Loc.X, Gioco.Giocatore.Loc.Y].BackgroundImage = Resources.omino;
            }
            else
            {
                Griglia_pictureBox[Gioco.Giocatore.Loc.X, Gioco.Giocatore.Loc.Y].BackgroundImage =
                    Gioco.Giocatore.Immagine;
            }

            //mostra nemici a schermo
            foreach (var n in missione.Nemici)
            {
                Griglia_pictureBox[n.Loc.X, n.Loc.Y].BackgroundImage = n.Immagine;
            }

            UpdateComponenti();
        }
コード例 #5
0
        void btnSalva_Click(object sender, EventArgs e)
        {
            long               numeroMessaggio = long.Parse(hidMessageId.Value);
            MessaggiManager    messageManager  = new MessaggiManager(DatabaseContext);
            Missione           messaggio       = messageManager.GetSingleMessage(numeroMessaggio);
            FileSalvatiManager filesManager    = new FileSalvatiManager(DatabaseContext);
            bool               res             = false;

            if (isInArrivo)
            {
                res = filesManager.SaveIncomingMessage(this.LoggedCharacter.NumeroPG, messaggio);
            }
            else
            {
                res = filesManager.SaveOutgoingMessage(this.LoggedCharacter.NumeroPG, messaggio);
            }
            if (res)
            {
                DatabaseContext.SaveChanges();
                statusMessage.Text = "Messaggio salvato nella cartella personale";
            }
            else
            {
                statusMessage.Text = "Errore durante il salvataggio.";
            }
        }
コード例 #6
0
        public bool SendMessage(long mittente, List <long> destinatari, string oggetto, string messaggio, long crypt, DateTime dataInvio)
        {
            try
            {
                Missione messageToSend = new Missione();
                messageToSend.LivelloCrittazione = crypt;
                messageToSend.Titolo             = oggetto;
                messageToSend.Testo         = messaggio.Replace("\r\n", "<br />").Replace("\n", "<br />");
                messageToSend.Mandante      = mittente;
                messageToSend.DataCreazione = dataInvio;
                PostaInUscita outMail = new PostaInUscita();
                outMail.NumeroPG   = mittente;
                outMail.Letta      = false;
                outMail.Cancellata = false;
                messageToSend.PostaInUscitas.Add(outMail);

                foreach (long numPg in destinatari)
                {
                    PostaInArrivo inMail = new PostaInArrivo();
                    inMail.NumeroPG   = numPg;
                    inMail.Letta      = false;
                    inMail.Cancellata = false;
                    messageToSend.PostaInArrivoes.Add(inMail);
                }
                context.AddToMissiones(messageToSend);
                return(true);
            }
            catch
            {
                return(false);
            }
        }
コード例 #7
0
        protected void btnInvia_Click(object sender, EventArgs e)
        {
            string elencoDestinatari = txtDestinatari.Text.Trim();

            string[] arrayDestinatari = elencoDestinatari.Split(',');

            List <long> numeriDestinatari = new List <long>();

            foreach (string item in arrayDestinatari)
            {
                try
                {
                    long num = long.Parse(item);
                    numeriDestinatari.Add(num);
                }
                catch
                {
                }
            }
            Personaggio currentCharacter = (Personaggio)Session["Personaggio"];

            using (HolonetEntities context = new HolonetEntities())
            {
                long lastMission = (from missioni in context.Missiones
                                    select missioni.NumeroMissione).Max();

                Missione newMessage = new Missione();
                newMessage.NumeroMissione = lastMission + 1;
                newMessage.Attiva         = 1;
                newMessage.Mandante       = currentCharacter.NumeroPG;
                newMessage.Testo          = txtTesto.Text.Replace("\n", "<br />");
                newMessage.Titolo         = txtOggetto.Text.Trim();

                //Livello di crittazione
                newMessage.LivelloCrittazione = Crypted;

                //Per il mittente
                newMessage.PostaInUscitas.Add(new PostaInUscita()
                {
                    NumeroPG = currentCharacter.NumeroPG, Cancellata = false, Letta = false
                });
                //per i destinatari
                foreach (long dest in numeriDestinatari)
                {
                    newMessage.PostaInArrivoes.Add(new PostaInArrivo()
                    {
                        NumeroPG = dest, Cancellata = false, Letta = false
                    });
                }
                context.AddToMissiones(newMessage);
                context.SaveChanges();
            }
            panSendMessage.Visible = false;
            CaricaMessaggiInUscita();
        }
コード例 #8
0
 /// <summary>
 /// Quando la nave non ha più vita viene alzata una flag che indica la sua morte
 /// </summary>
 /// <param name="missione">Missione in cui effetuare il controllo</param>
 public void Affonda(Missione missione)
 {
     if (!IsGameOver)
     {
         if (Stats.Hp <= 0 || Nemico_Carte.CurHp <= 0)
         {
             missione.Mappa.Griglia_pictureBox[Loc.X, Loc.Y].BackgroundImage = Properties.Resources.mare;
             IsGameOver = true;
         }
     }
 }
コード例 #9
0
        void btnRispondi_Click(object sender, EventArgs e)
        {
            preparaEditor();
            long            messageId      = long.Parse(hidMessageId.Value);
            MessaggiManager messageManager = new MessaggiManager(DatabaseContext);
            Missione        messaggio      = messageManager.GetSingleMessage(messageId);

            hidReceivers.Value  = messaggio.Personaggio.NumeroPG.ToString();
            txtDestinatari.Text = messaggio.Personaggio.Nome + "; ";
            txtOggetto.Text     = "Re: " + messaggio.Titolo;
            txtTesto.Text       = "\r\n ---------- \r\n" + "Da: " + messaggio.Personaggio.Nome + "\r\nData: " + messaggio.DataCreazione + "\r\n" + messaggio.Testo.Replace("<br />", "\r\n").Replace("<br>", "\r\n");
            PageViews.SetActiveView(createMessage);
        }
コード例 #10
0
        public void MostraMessaggioInUscita()
        {
            Missione messaggioDaMostrare = MessaggioVisualizzato;

            if (messaggioDaMostrare != null)
            {
                panSendMessage.Visible = false;
                panMessage.Visible     = true;
                panCancellato.Visible  = false;
                panSalvato.Visible     = false;
                lblMittente.Visible    = false;
                lblTitolo.Text         = messaggioDaMostrare.Titolo;
                lblTesto.Text          = messaggioDaMostrare.Testo;
            }
        }
コード例 #11
0
        public void MostraMessaggio()
        {
            Missione messaggioDaMostrare = MessaggioVisualizzato;

            if (messaggioDaMostrare != null)
            {
                //procedere a mostrare il tutto
                panSendMessage.Visible = false;
                panMessage.Visible     = true;
                panCancellato.Visible  = false;
                panSalvato.Visible     = false;
                lblMittente.Visible    = true;
                lblMittente.Text       = "Mittente: " + messaggioDaMostrare.Personaggio.Nome + " (NumeroPG: " + messaggioDaMostrare.Personaggio.NumeroPG + ")";
                lblTitolo.Text         = messaggioDaMostrare.Titolo;
                lblTesto.Text          = messaggioDaMostrare.Testo;
            }
        }
コード例 #12
0
 private void grdMessaggi_SelectionChanged(object sender, EventArgs e)
 {
     svuotaControlli();
     if (grdMessaggi.SelectedRows.Count == 1)
     {
         long numeroMissione = (long)grdMessaggi.SelectedRows[0].Cells["NumeroMissione"].Value;
         using (databaseContext = CreateDatabaseContext())
         {
             MessaggiManager manager   = new MessaggiManager(databaseContext);
             Missione        messaggio = manager.GetSingleMessage(numeroMissione);
             txtTesto.Text = string.IsNullOrWhiteSpace(messaggio.Testo) ? null : messaggio.Testo.Replace("<br />", "\r\n");
             foreach (var destinatario in messaggio.PostaInArrivoes)
             {
                 txtDestinatari.Text += destinatario.Personaggio.NumeroENomeCombo + "\r\n";
             }
         }
     }
 }
コード例 #13
0
 /// <summary>
 /// Attacca la nave specificata nella missione specificata.
 /// </summary>
 /// <param name="nave">Nave da attaccare.</param>
 /// <param name="missione">Missione in cui attaccare.</param>
 /// <returns>true se la nave ha attaccato, false se non ha attaccato.</returns>
 public override bool Attacca(Missione missione, Nave nave)
 {
     for (int i = -dimTrigger + 1; i < dimTrigger; i++)
     {
         for (int j = -dimTrigger + 1; j < dimTrigger; j++)
         {
             Loc2D tempLoc = new Loc2D(i + Loc.X, j + Loc.Y);
             if (tempLoc.IsEqualTo(nave.Loc))
             {
                 int remPunti = new Random().Next(Stats.MinHit, Stats.MaxHit);
                 nave.DecPuntiVita(remPunti);
                 missione.Mappa.UpdateComponenti();
                 return(true);
             }
         }
     }
     return(false);
 }
コード例 #14
0
        /// <summary>
        /// La funzione fa muovere la nave data la missione in cui effetuare il movimento e la direzione in cui muoversi.
        /// </summary>
        /// <param name="missione">Per permettere il movimento all'interno della mappa della missione.</param>
        /// <param name="direzione">per specificare la direzione in cui effetuare il movimento.</param>

        private Image Background(Missione missione)
        {
            int val = missione.Griglia_numerica.Mat[Gioco.Giocatore.Loc.X, Gioco.Giocatore.Loc.Y];

            switch (val)
            {
            default:
            case 0:     //mare
                return(Properties.Resources.mare);

            case 1:     //isola
                return(Properties.Resources.isola1);

            case 3:     //bandiera
                return(Properties.Resources.bandiera);

            case -1:
                return(missione.Mappa.Griglia_pictureBox[this.Loc.X, this.Loc.Y].BackgroundImage);
            }
        }
コード例 #15
0
        private void caricaMessaggio(long numeroMessaggio)
        {
            hidMessageId.Value = numeroMessaggio.ToString();
            statusMessage.Text = string.Empty;
            MessaggiManager messageManager = new MessaggiManager(DatabaseContext);
            Missione        messaggio      = messageManager.GetSingleMessage(numeroMessaggio);

            lblMittente.Text = messaggio.Personaggio.Nome;
            lblTitolo.Text   = messaggio.Titolo;
            lblTesto.Text    = string.IsNullOrWhiteSpace(messaggio.Testo) ? string.Empty : messaggio.Testo.Replace("\r", "<br />");
            lblData.Text     = messaggio.DataCreazione.ToString();
            if (isInArrivo)
            {
                numeroMittente = messaggio.Mandante;
                RubricaManager namesManager = new RubricaManager(DatabaseContext);
                btnSalvaMittente.Visible = !namesManager.HasContact(LoggedCharacter.NumeroPG, messaggio.Mandante);
                rowDestinatari.Visible   = false;
                messageManager.SetIncomingMessageRead(this.LoggedCharacter.NumeroPG, numeroMessaggio);
            }
            else
            {
                numeroMittente           = null;
                btnSalvaMittente.Visible = false;
                rowDestinatari.Visible   = true;
                foreach (string nome in messageManager.GetRecipients(numeroMessaggio))
                {
                    lblDestinatari.Text += nome + " ";
                }
                messageManager.SetOutgoingMessageRead(this.LoggedCharacter.NumeroPG, numeroMessaggio);
            }
            DatabaseContext.SaveChanges();
            if (isInArrivo)
            {
                btnRispondi.Visible = true;
            }
            else
            {
                btnRispondi.Visible = false;
            }
            PageViews.SetActiveView(readMessage);
        }
コード例 #16
0
        /// <summary>
        /// Movimento specifico per i nemici secondo un percorso predefinito.
        /// </summary>
        /// <param name="missione">Missione in cui effetuare il movimento.</param>
        /// <param name="direzione">Direzione in cui effetuare il movimento.</param>
        public override void Movimento(Missione missione, Direzione direzione)
        {
            if (!IsGameOver)
            {
                if (Attacca(missione, Gioco.Giocatore))
                {
                    return;
                }

                missione.Mappa.Griglia_pictureBox[patrol[patrolIndex].X, patrol[patrolIndex].Y].BackgroundImage = Properties.Resources.mare;
                if (patrolInv)
                {
                    patrolIndex--;

                    // Controlla se l'indice punta alla base dell'array di movimento
                    // e nel caso accenda una flag che fa aumentare l'indice invece che diminuire
                    if (patrolIndex <= 0)
                    {
                        patrolInv = false;
                    }
                }
                else
                {
                    patrolIndex++;

                    // Controlla se l'indice punta alla fine dell'array di movimento
                    // e nel caso accenda una flag che fa diminuire l'indice invece che aumentare
                    if (patrolIndex >= patrol.Length - 1)
                    {
                        patrolInv = true;
                    }
                }
                //aggiorna posizione
                missione.Mappa.Griglia_pictureBox[patrol[patrolIndex].X, patrol[patrolIndex].Y].BackgroundImage = Immagine;
                Loc = patrol[patrolIndex];
            }
        }
コード例 #17
0
        public void MostraMessaggioInUscita()
        {
            Missione messaggioDaMostrare = MessaggioVisualizzato;

            if (messaggioDaMostrare != null)
            {
                panMessage.Visible  = true;
                panSalvato.Visible  = false;
                lblMittente.Visible = false;
                lblTitolo.Text      = messaggioDaMostrare.Titolo;
                if (ShowEncrypted && messaggioDaMostrare.LivelloCrittazione > 0)
                {
                    ucDecrypt.LivelloDifficolta = messaggioDaMostrare.LivelloCrittazione;
                    lblTesto.Text    = Encryption.ReturnEncryptedText(messaggioDaMostrare.Testo);
                    btnSalva.Visible = false;
                }
                else
                {
                    lblTesto.Text    = messaggioDaMostrare.Testo;
                    btnSalva.Visible = true;
                    ShowEncrypted    = true;
                }
            }
        }
コード例 #18
0
        /// <summary>
        /// Muove la nave del giocatore all'interno della missione.
        /// </summary>
        /// <param name="missione">Missione in cui muoversi.</param>
        /// <param name="direzione">Direzione in cui muoversi.</param>
        public override void Movimento(Missione missione, Direzione direzione) //(Virtual) indica che può essere esteso dai figli
        {
            // Se hai finito la Pa non puoi muoverti
            // finche non passi il turno
            if (Gioco.Giocatore.Stats.Pa <= 0)
            {
                return;
            }

            switch (direzione)
            {
            case Direzione.SOPRA:
                if (Gioco.Giocatore.Loc.Y - 1 < 0)
                {
                    return;                                   // Controllo se è al limite della mappa e vieta il movimento
                }
                if (missione.Griglia_numerica.Mat[this.Loc.X, this.Loc.Y - 1] == 2)
                {
                    return;                                                                                      // Controlla se è vicino a una montagna e vieta il movimento
                }
                missione.Mappa.Griglia_pictureBox[this.Loc.X, this.Loc.Y].BackgroundImage = missione.Mappa.temp; //texture vecchia
                this.Loc.Y--;                                                                                    //aggiorno la posizione
                //missione.Mappa.temp = missione.Mappa.Griglia_pictureBox[this.Loc.X, this.Loc.Y].BackgroundImage; //aggiorno temp
                break;

            case Direzione.DESTRA:
                if (Gioco.Giocatore.Loc.X + 1 > missione.Griglia_numerica.Mat.GetLength(0) - 1)
                {
                    return;
                }
                if (missione.Griglia_numerica.Mat[this.Loc.X + 1, this.Loc.Y] == 2)
                {
                    return;
                }

                missione.Mappa.Griglia_pictureBox[this.Loc.X, this.Loc.Y].BackgroundImage = missione.Mappa.temp; //texture vecchia
                this.Loc.X++;                                                                                    //aggiorno la posizione
                // missione.Mappa.temp = missione.Mappa.Griglia_pictureBox[this.Loc.X, this.Loc.Y].BackgroundImage; //aggiorno temp
                break;

            case Direzione.SINISTRA:
                if (Gioco.Giocatore.Loc.X - 1 < 0)
                {
                    return;
                }
                if (missione.Griglia_numerica.Mat[this.Loc.X - 1, this.Loc.Y] == 2)
                {
                    return;
                }

                missione.Mappa.Griglia_pictureBox[this.Loc.X, this.Loc.Y].BackgroundImage = missione.Mappa.temp; //texture vecchia
                this.Loc.X--;                                                                                    //aggiorno la posizione
                //missione.Mappa.temp = missione.Mappa.Griglia_pictureBox[this.Loc.X, this.Loc.Y].BackgroundImage; //aggiorno temp
                break;

            case Direzione.SOTTO:
                if (Gioco.Giocatore.Loc.Y + 1 > missione.Griglia_numerica.Mat.GetLength(1) - 1)
                {
                    return;
                }
                if (missione.Griglia_numerica.Mat[this.Loc.X, this.Loc.Y + 1] == 2)
                {
                    return;
                }

                missione.Mappa.Griglia_pictureBox[this.Loc.X, this.Loc.Y].BackgroundImage = missione.Mappa.temp; //texture vecchia
                this.Loc.Y++;                                                                                    //aggiorno la posizione
                break;

            default:
                break;
            }
            //missione.Mappa.temp = missione.Mappa.Griglia_pictureBox[this.Loc.X, this.Loc.Y].BackgroundImage; //aggiorno temp
            missione.Mappa.temp = Background(missione);

            //cambia immagine se è sopra una isola
            if (missione.Griglia_numerica.Mat[Loc.X, Loc.Y] == 1)
            {
                missione.Mappa.Griglia_pictureBox[Loc.X, Loc.Y].BackgroundImage = Properties.Resources.omino;
            }
            else
            {
                missione.Mappa.Griglia_pictureBox[Loc.X, Loc.Y].BackgroundImage = Properties.Resources.nave_pirata;
            }

            RemEnergia(1);                                                                           //consumi energia
            missione.Mappa.EnergiaNave_label.Text = "Punti azione: " + Stats.Pa + "/" + Stats.PaMax; //aggiorna energia_label
        }
コード例 #19
0
        private static void Init()
        {
            Console.WriteLine("#+ Inizializzazione");
            // Il giocatore deve essere inizializzato per primo

            Carta[] carte_player = { ListaCarte.GetCartaClone(1),
                                     ListaCarte.GetCartaClone(2), ListaCarte.GetCartaClone(3),  ListaCarte.GetCartaClone(4),
                                     ListaCarte.GetCartaClone(5), ListaCarte.GetCartaClone(8),  ListaCarte.GetCartaClone(17),
                                     ListaCarte.GetCartaClone(18),ListaCarte.GetCartaClone(19) };

            Player_carte player_prova = new Player_carte(10, new Mazzo(carte_player));

            Giocatore = new NaveGiocatore("Nave da Test", Properties.Resources.nave_pirata, new Stats(), new Loc2D(3, 3), 5, 10, player_prova);
            Dominio   = new GestioneDominio();

            //prova
            ListaCarte.GetCarta(1).SetUtilizzabile(true);
            ListaCarte.GetCarta(2).SetUtilizzabile(true);
            ListaCarte.GetCarta(3).SetUtilizzabile(true);
            ListaCarte.GetCarta(4).SetUtilizzabile(true);
            ListaCarte.GetCarta(5).SetUtilizzabile(true);
            ListaCarte.GetCarta(6).SetUtilizzabile(true);
            ListaCarte.GetCarta(17).SetUtilizzabile(true);
            ListaCarte.GetCarta(18).SetUtilizzabile(true);
            ListaCarte.GetCarta(19).SetUtilizzabile(true);

            Dominio.AddDobloni(1000);
            //

            Griglia griglia_prova = new Griglia(new int[19, 12] {
                { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
                { 0, 0, 0, 0, 2, 2, 2, 0, 0, 0, 0, 0 },
                { 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0 },
                { 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0 },
                { 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0 },
                { 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0 },
                { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
                { 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0 },
                { 0, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 0 },
                { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
                { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
                { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
                { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
                { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
                { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
                { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
                { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
                { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
                { 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
            });

            NaveNemico[] testNemici  = new NaveNemico[3];
            Loc2D[]      testPatrol  = new Loc2D[] { new Loc2D(6, 6), new Loc2D(6, 7), new Loc2D(7, 7) };
            Loc2D[]      testPatrol2 = new Loc2D[] { new Loc2D(10, 10), new Loc2D(10, 9), new Loc2D(9, 9) };
            Loc2D[]      testPatrol3 = new Loc2D[] { new Loc2D(13, 8), new Loc2D(12, 8), new Loc2D(11, 8), new Loc2D(11, 7) };

            Nemico_carte nemico_prova  = new Nemico_carte(10, Properties.Resources.pub, new Carta[] { ListaCarte.GetCarta(1) }, "ErNemiko!");
            Nemico_carte nemico_prova1 = new Nemico_carte(10, Properties.Resources.pub, new Carta[] { ListaCarte.GetCarta(2) }, "ErNemiko2!");
            Nemico_carte nemico_prova2 = new Nemico_carte(10, Properties.Resources.pub, new Carta[] { ListaCarte.GetCarta(3) }, "ErNemiko3!");

            testNemici[0]       = new Mercantile(new Stats(), testPatrol, nemico_prova);
            testNemici[1]       = new Caravella(new Stats(), testPatrol2, nemico_prova1);
            testNemici[2]       = new Fregata(new Stats(), testPatrol3, nemico_prova2);
            MissioneSelezionata = new Missione(griglia_prova, 5, testNemici);

            scontroCarte = new GUI.ScontroCarte.ScontroCarte(nemico_prova);
            nassauForm   = new GUI.MenuNassau.Nassau_form();
            Console.WriteLine("#- Inizializzazione");
        }
コード例 #20
0
 /// <summary>
 /// La funzione fa muovere la nave data la missione in cui effetuare il movimento e la direzione in cui muoversi.
 /// </summary>
 /// <param name="missione">Per permettere il movimento all'interno della mappa della missione.</param>
 /// <param name="direzione">per specificare la direzione in cui effetuare il movimento.</param>
 public abstract void Movimento(Missione missione, Direzione direzione);
コード例 #21
0
 /// <summary>
 /// Attacca la neva specificata con danno random.
 /// </summary>
 /// <param name="nave">Nave da attaccare</param>
 public abstract bool Attacca(Missione missione, Nave nave);
コード例 #22
0
 /// <summary>
 /// Attacca la nave specificata nella missione specificata.
 /// </summary>
 /// <param name="nave">Nave da attaccare.</param>
 /// <param name="missione">Missione in cui attaccare</param>
 public override bool Attacca(Missione missione, Nave nave)
 {
     nave.DecPuntiVita(new Random().Next(Stats.MinHit, Stats.MaxHit));
     missione.Mappa.UpdateComponenti();
     return(true);
 }
コード例 #23
0
 /// <summary>
 /// Costruttore che accetta la missione per cui mostrare la performance
 /// </summary>
 /// <param name="missione"></param>
 public FineMissione(Missione missione)
 {
     InitializeComponent();
     this.missione = missione;
 }