// 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; }
// 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(); } }
// 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; } }
// * 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(); } } } } }