Ejemplo n.º 1
0
        public void AddEnemy() // hazi
        {
            Random rnd = new Random();

            model.Enemies.Add(new Enemy(rnd.Next(0, (int)Config.Width), 0, Config.EnemySize, Config.EnemySize));
            RefreshScreen?.Invoke(this, EventArgs.Empty);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Rereshes the user interface.
        /// </summary>
        public void RefreshUserInterface()
        {
            GameUserIterface.ActiveTetromino = Model.ActiveTetromino;
            if (GameUserIterface.InvokeRequired)
            {
                RefreshScreen rs = new RefreshScreen(RefreshUserInterface);
                try
                {
                    GameUserIterface.Invoke(rs);
                }
#pragma warning disable CS0168 // Variable is declared but never used
                catch (ObjectDisposedException e)
#pragma warning restore CS0168 // Variable is declared but never used
                {
                    //The program has exited, no point in updating the screen
                }
#pragma warning disable CS0168 // Variable is declared but never used
                catch (System.ComponentModel.InvalidAsynchronousStateException e)
#pragma warning restore CS0168 // Variable is declared but never used
                {
                    //The program has exited, no point in updating the screen
                }
#pragma warning disable CS0168 // Variable is declared but never used
                catch (Exception e)
#pragma warning restore CS0168 // Variable is declared but never used
                {
                    //General catch to catch other thread related errors that rarely happens and are hard to force.
                }
            }
            else
            {
                GameUserIterface.Refresh();
            }
        }
Ejemplo n.º 3
0
 public void MoveBall()
 {
     if (MoveShape(model.Ball))
     {
         model.Errors++;
     }
     RefreshScreen?.Invoke(this, EventArgs.Empty);
 }
Ejemplo n.º 4
0
 /// <summary>
 /// Method for loading last state.
 /// </summary>
 public void LoadSave()
 {
     this.repository.LoadModelFromXml();
     this.player  = model.Player;
     this.traffic = model.Traffic;
     this.enemy   = model.Enemy;
     this.lanes   = model.Lanes;
     RefreshScreen?.Invoke(this, EventArgs.Empty);
 }
Ejemplo n.º 5
0
 public AddPatient(Demographics d, RefreshScreen r)
 {
     Logging.Log("Add a patient pop up window is initiated");
     refreshScreen    = r;
     demographics     = d;
     this.DataContext = addingPatient;
     InitializeComponent();
     dpDateOfBirth.BlackoutDates.Add(new CalendarDateRange(DateTime.Now, DateTime.MaxValue));
     //btnAddNewPatient.Command = DialogHost.CloseDialogCommand;
 }
Ejemplo n.º 6
0
        public EditPatient(Demographics d, Patient p, RefreshScreen r)
        {
            Logging.Log("Edit patient is initiated and pop up is displayed");
            demographics    = d;
            patientToUpdate = p;
            refreshScreen   = r;
            InitializeComponent();

            this.DataContext = patientToUpdate;
        }
Ejemplo n.º 7
0
 public void MoveEnemies() // hazi, csak áthelyezve halálkor
 {
     for (int i = 0; i < model.Enemies.Count(); i++)
     {
         if (MoveEnemy(i))
         {
             RelocateEnemy(model.Enemies.ElementAt(i));
         }
     }
     RefreshScreen?.Invoke(this, EventArgs.Empty);
 }
Ejemplo n.º 8
0
 public void MoveEnemies2() // hazi, listabol kiszedve halálkor
 {
     for (int i = 0; i < model.Enemies.Count(); i++)
     {
         if (MoveEnemy(i))
         {
             RemoveEnemy(model.Enemies.ElementAt(i));
         }
     }
     RefreshScreen?.Invoke(this, EventArgs.Empty);
 }
Ejemplo n.º 9
0
 public void MoveStars() // Phase 2
 {
     foreach (Star star in model.Stars)
     {
         if (MoveShape(star))
         {
             model.Errors++;
         }
     }
     RefreshScreen?.Invoke(this, EventArgs.Empty);
 }
Ejemplo n.º 10
0
 public void MovePad(Direction d)
 {
     if (d == Direction.Left)
     {
         model.Pad.ChangeX(-10);
     }
     else
     {
         model.Pad.ChangeX(10);
     }
     RefreshScreen?.Invoke(this, EventArgs.Empty);
 }
Ejemplo n.º 11
0
        public void MovePad(Direction direction)
        {
            switch (direction)
            {
            case Direction.Left:
                model.Pad.ChangeX(-10);
                break;

            case Direction.Right:
                model.Pad.ChangeX(10);
                break;
            }

            RefreshScreen?.Invoke(this, EventArgs.Empty);
        }
Ejemplo n.º 12
0
        public bool MoveShape(MyShape shape) // hazi
        {
            bool faulted = false;

            shape.ChangeX(shape.Dx);
            shape.ChangeY(shape.Dy);

            if (shape.Area.Left < 0 || shape.Area.Right > Config.Width)
            {
                shape.Dx = -shape.Dx;
            }

            if (shape.Area.Top < 0 || shape.Area.IntersectsWith(model.Pad.Area))
            {
                shape.Dy = -shape.Dy;
            }
            if (shape == model.Ball && model.Enemies.Any(t => t.Area.IntersectsWith(shape.Area))) // hazi
            {
                Random rnd  = new Random();
                int    temp = rnd.Next(1, 4);
                switch (temp)
                {
                case 1:
                    model.Ball.Dx = -model.Ball.Dx;
                    break;

                case 2:
                    model.Ball.Dy = -model.Ball.Dy;
                    break;

                case 3:
                    model.Ball.Dx = -model.Ball.Dx;
                    model.Ball.Dy = -model.Ball.Dy;
                    break;
                }
            }
            if (shape.Area.Bottom > Config.Height)
            {
                shape.SetXY(shape.Area.X, Config.Height / 2);
                faulted = true;
            }

            RefreshScreen?.Invoke(this, EventArgs.Empty);
            return(faulted);
        }
Ejemplo n.º 13
0
 /// <summary>
 /// Method for moving traffic.
 /// </summary>
 public void MoveTraffic()
 {
     foreach (var car in traffic)
     {
         if (!gameOver)
         {
             speed       *= SPEED_MULTIPLIER;
             model.Score += speed / 100;
             if (!bossSequence && Math.Round(model.Score) != 0 && Math.Round(model.Score) % 500 == 0)
             {
                 BossSequence?.Invoke(this, EventArgs.Empty);
             }
             if (!gameOver && car.Active)
             {
                 MoveCar(car);
             }
             RefreshScreen?.Invoke(this, EventArgs.Empty);
         }
     }
 }
Ejemplo n.º 14
0
        public bool MoveEnemy(int id) // hazi
        {
            bool    smash = false;
            MyShape shape = model.Enemies.ElementAt(id);

            shape.ChangeX(shape.Dx);
            shape.ChangeY(shape.Dy);

            if (shape.Area.Left < 0 || shape.Area.Right > Config.Width)
            {
                shape.Dx = -shape.Dx;
            }

            if (shape.Area.Top < 0 || shape.Area.Bottom > Config.Height)
            {
                shape.Dy = -shape.Dy;
            }
            if (shape.Area.IntersectsWith(model.Ball.Area))
            {
                smash = true;
            }
            RefreshScreen?.Invoke(this, EventArgs.Empty);
            return(smash);
        }
Ejemplo n.º 15
0
 public void JumpPad(double x)
 {
     model.Pad.SetXY(x, model.Pad.Area.Y);
     RefreshScreen?.Invoke(this, EventArgs.Empty);
 }
Ejemplo n.º 16
0
 public void AddStar() // Phase 2
 {
     model.Stars.Add(new Star(Config.Width / 2, Config.Height / 2, 10, 8));
     RefreshScreen?.Invoke(this, EventArgs.Empty);
 }