예제 #1
0
        // Aumenta la difficoltà di gioco: pallina più veloce, IA più capace
        public void AumentoDifficoltà(PallinaModel pallina)
        {
            pallina.VelocitàPallaX += 1;
            pallina.VelocitàPallaY += 1;

            iaOffSetCiclo += 1;
            vDiffLivello  += 10;
        }
예제 #2
0
        // Inizia una nuova partita
        public void NuovaPartita(Timer timerGioco, Label lblPunteggioGiocatore, Label lblPunteggioIA,
                                 Label lblNumLivello, PallinaModel pallina, Panel ContainerBenvenuto)
        {
            this.timer = timerGioco;

            // Se il gioco non è già in esecuzione
            if (!gioco.StatoGioco)
            {
                // Si inizia una nuova partita
                gioco = new GiocoModel();
                MessageBox.Show("Premi OK o Invio per iniziare");

                gioco.StatoGioco = true;
                pausa            = false;
                gameOver         = false;

                // Faccio partire il timer
                SettaTimer(this.timer);
                timer.Interval = 1;

                // Imposto la visibilità degli elementi a schermo
                racchettaGiocatore.Visible    = true;
                racchettaAvversario.Visible   = true;
                pallina.Visible               = true;
                lblPunteggioGiocatore.Visible = true;
                lblPunteggioIA.Visible        = true;
                lblNumLivello.Visible         = true;
                ContainerBenvenuto.Visible    = false;

                // Resetto la velocità della pallina
                pallina.VelocitàPallaX = 7;
                pallina.VelocitàPallaY = 7;

                // Resetto i punteggi
                gioco.PuntiG  = 0;
                gioco.PuntiIA = 0;

                // Resetto il livello
                gioco.Livello = 1;

                // Nuovo GiocoController
                giocoController = new GiocoController();
                // Nascondo il puntatore del mouse
                Cursor.Hide();
            }
        }
예제 #3
0
        // Metodo che carica/imposta gli elementi sulla schermata di gioco
        public void Carica(Timer timerGioco, RacchettaModel racchettaMia, RacchettaModel racchettaAvversario,
                           PallinaModel pallina, Panel terrenoGioco, Label lblPunteggioGiocatore,
                           Label lblPunteggioIA, Label lblNumLivello,
                           Panel ContainerBenvenuto, Panel ContainerFine)
        {
            if (gioco.StatoGioco == false)
            {
                this.racchettaGiocatore  = racchettaMia;
                this.racchettaAvversario = racchettaAvversario;
                this.pallina             = pallina;
                this.terrenoGioco        = terrenoGioco;
                this.timer = timerGioco;

                // Blocco il timer
                timer.Stop();

                // Nascondo il pannello di Fine
                ContainerFine.Visible = false;

                // Mostro il panello di Benvenuto
                ContainerBenvenuto.Visible = true;

                // Disegno le racchette
                racchettaMia.Disegna(Color.GreenYellow);
                racchettaAvversario.Disegna(Color.DarkOrange);

                // Disegno la pallina
                pallina.Disegna();

                // Imposto la label: punteggio del giocatore
                lblPunteggioGiocatore.Text     = "0";
                lblPunteggioGiocatore.Location = new Point(520, 10);
                lblPunteggioGiocatore.Visible  = false;

                // Imposto la label: punteggio della avversario
                lblPunteggioIA.Text     = "0";
                lblPunteggioIA.Location = new Point(620, 10);
                lblPunteggioIA.Visible  = false;

                // Imposto Label numero del Livello
                lblNumLivello.Text     = "Livello 1";
                lblNumLivello.Location = new Point(1015, 17);
                lblNumLivello.Visible  = false;
            }
        }
예제 #4
0
        // * Comandi da tastiera
        public void Comandi(Message msg, Keys e, Timer timerGioco, RacchettaModel racchettaMia, RacchettaModel racchettaIA,
                            PallinaModel pallina, Panel terrenoGioco, Label lblPunteggioGiocatore, Label lblPunteggioIA,
                            Label lblNumLivello, Panel ContainerBenvenuto, Panel ContainerFine)
        {
            // se il gioco NON è in esecuzione o in pausa
            if (!gioco.StatoGioco || pausa)
            {
                // Premo F1: nuova partita
                if (e == Keys.F1)
                {
                    Carica(timerGioco, racchettaMia, racchettaIA, pallina, terrenoGioco, lblPunteggioGiocatore,
                           lblPunteggioIA, lblNumLivello, ContainerBenvenuto, ContainerFine);
                    NuovaPartita(timerGioco, lblPunteggioGiocatore, lblPunteggioIA, lblNumLivello, pallina, ContainerBenvenuto);
                }
                // Premo Esc: esco dal gioco
                if (e == Keys.Escape)
                {
                    Application.Exit();
                }
                // Premo T: mostra i tasti
                if (e == Keys.T)
                {
                    MostraTasti();
                }
                // Premo L: mostra il punteggio
                if (e == Keys.L)
                {
                    MostraPunteggio();
                }
                // Premo H: mostra la schermata Help
                if (e == Keys.H)
                {
                    MostraHelp();
                }
            }

            // Se il gioco è in esecuzione o in pausa
            if (gioco.StatoGioco || pausa)
            {
                // Premo P: gioco in pausa
                if (e == Keys.P)
                {
                    // Non sono in GameOver
                    if (gameOver == false)
                    {
                        // Se il gioco era in pausa..
                        if (pausa)
                        {
                            // ..lo riprendo
                            gioco.StatoGioco = true;
                            timer.Start();
                            pausa = false;
                            Cursor.Hide();
                        }
                        // Se il gioco era in esecuzione..
                        else
                        {
                            // ..viene fermato
                            gioco.StatoGioco = false;
                            timer.Stop();
                            pausa = true;
                            Cursor.Show();
                        }
                    }
                }
            }
        }