Esempio n. 1
0
        public MainPage()
        {
            this.InitializeComponent();

            player = new Player(canvas);
            invaders = new Invaders(canvas);

            dispatcherTimer = new DispatcherTimer();
            dispatcherTimer.Tick += Game;
            dispatcherTimer.Interval = TimeSpan.FromTicks(TimeSpan.TicksPerSecond / 60);
            dispatcherTimer.Start();
        }
Esempio n. 2
0
 public Invaders[,] wczytaj_invaders()
 {
     for (int y = 0; y < tab_invaders.GetLength(0); y++)
     {
         for (int x = 0; x < tab_invaders.GetLength(1); x++)
         {
             if (y < 1)
             {
                 tab_invaders[y, x] = new Invaders(textura_invaders2, new Rectangle((35 * x) + border, (35 * y) + border + 110, 20, 20));
             }
             else if (y >= 1 && y < 3)
             {
                 tab_invaders[y, x] = new Invaders(textura_invaders1, new Rectangle((35 * x) + border, (35 * y) + border + 110, 20, 20));
             }
             else if (y >= 3 && y < 5)
             {
                 tab_invaders[y, x] = new Invaders(textura_invaders3, new Rectangle((35 * x) + border, (35 * y) + border + 110, 20, 20));
             }
             tab_visible_invaders[y, x] = "YES";
         }
     }
     return(tab_invaders);
 }
        public GamePage()
        {
            this.InitializeComponent();

            //set preffered window size
            ApplicationView.PreferredLaunchViewSize = new Size(700, 500);
            ApplicationView.PreferredLaunchWindowingMode = ApplicationViewWindowingMode.PreferredLaunchViewSize;

            //initialize variable for gameplay
            playerLives = 3;
            playerGameScore = 0;
            level = 1;
            
            //initiate classes
            player = new Player(canvas, playerGameScore);
            invaders = new Invaders(canvas, level);
            sounds = new Sounds(grid);

            //start the game dispatch timer
            dispatcherTimer = new DispatcherTimer();
            dispatcherTimer.Tick += Game;
            dispatcherTimer.Interval = TimeSpan.FromTicks(TimeSpan.TicksPerSecond / 30);
            dispatcherTimer.Start();
        }
        //game method that fires in dispatch timer
        private void Game(object sender, object e)
        {
            //check to see if player has died
            if (!invaders.playerAlive())
            {
                //get the player score
                playerGameScore = player.getScore();

                //handle how many lives player has left
                switch (playerLives)
                {
                    case 3:
                        life3.Visibility = Visibility.Collapsed;
                        invaders.setPlayerAlive(true);
                        break;
                    case 2:

                        life2.Visibility = Visibility.Collapsed;
                        invaders.setPlayerAlive(true);
                        break;
                    case 1:
                        dispatcherTimer.Stop();
                        life1.Visibility = Visibility.Collapsed;
                        finalScoreBlock.Text = playerGameScore.ToString();
                        gameOverPanel.Visibility = Visibility.Visible;
                        sounds.playGameOverSound();
                        return;
                }

                //loss of a life and reset player and alien grid
                playerLives--;
                canvas.Children.Clear();
                invaders.rebuildInvaders(canvas);
                player = new Player(canvas, playerGameScore);
            }

            //new level upon killing of all aliens
            if (!invaders.invadersAreAlive())
            {
                level++;
                invaders = new Invaders(canvas, level);
            }

            //call the draw methods of each player and alien classes passing in requirements
            invaders.Draw(canvas, player.getPlayer(), sounds);
            player.Draw(canvas, invaders.getInvaderGrid(), sounds);

            //update score textblock
            scoreBlock.Text = player.getScore().ToString();
        }