Exemple #1
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="g"></param>
 public TetrisGame(Graphics g)
 {
     Drawing      = g;
     Background   = new SolidBrush(Color.Gray);
     CurrentBlock = new BlockStruct(rnd.Next(7));
     Solids       = new List <Block>();
     Holder       = new List <BlockStruct>();
     Running      = true;
     Score        = 0;
     Level        = 0;
     TetrisCount  = 0;
 }
Exemple #2
0
 public void Hold()
 {
     if (Holder.Count > 0)
     {
         Holder.Add(CurrentBlock.SetHold());
         CurrentBlock = new BlockStruct(Holder[0].GetTypeNum());
         Holder.RemoveAt(0);
     }
     else
     {
         Holder.Add(CurrentBlock.SetHold());
         CurrentBlock = new BlockStruct(rnd.Next(7));
     }
 }
Exemple #3
0
        /// <summary>
        /// Funktionen som körs varje tick:
        /// Stoppar timern -> Målar bakgrunden vit -> Uppdaterar ormens position -> Kollar kollisioner -> Målar ut Mat och orm -> Startar timern igen
        /// </summary>
        /// <param name="myObject"></param>
        /// <param name="gameEvent"></param>
        public void GameLoop(Object myObject, EventArgs gameEvent)
        {
            Timer.Stop();

            if (Collisions() || CurrentBlock.FallingUpdate())
            {
                foreach (Block part in CurrentBlock.GetParts())
                {
                    Solids.Add(part);
                }
                CurrentBlock = new BlockStruct(rnd.Next(7));
            }

            CheckTetris();
            DrawAll();
            CheckDead();

            Timer.Enabled = true;
        }