예제 #1
0
 private void timer1_Tick(object sender, EventArgs e)
 {
     SinhXe++;
     if (SinhXe == ((xecuatui.H / tocdo) * 2))
     {
         xemoi   = new Xe(2);
         xemoi.g = g2;
         xemoi.VeXe(true);
         xemoi.TocDo = tocdo;
         doixe.Add(xemoi);
         SinhXe = 0;
     }
     if (doixe.Count > 0)
     {
         for (int i = 0; i < doixe.Count; i++)
         {
             doixe[i].ChuyenDong();
             if (doixe[i].ViTri.Y > this.panel1.Height)
             {
                 doixe[i].VeXe(false);
                 doixe.RemoveAt(i);
                 diemso++;
                 TinhDiem();
             }
             KiemTraVaCham(doixe[i]);
         }
     }
 }
예제 #2
0
        protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
        {
            bool bHandled = false;

            switch (keyData)
            {
            case Keys.Left:
            {
                if (xecuatui.ViTri.X > 0)
                {
                    xecuatui.VeXe(false);
                    xecuatui.ViTri.X -= xecuatui.W;
                    xecuatui.VeXe(true);
                }
                bHandled = true;
                break;
            }

            case Keys.Right:
            {
                if (xecuatui.ViTri.X < this.panel1.Width - xecuatui.W)
                {
                    xecuatui.VeXe(false);
                    xecuatui.ViTri.X += xecuatui.W;
                    xecuatui.VeXe(true);
                }
                bHandled = true;
                break;
            }

            case Keys.Up:
            {
                if (xecuatui.ViTri.Y > 0)
                {
                    xecuatui.VeXe(false);
                    xecuatui.ViTri.Y -= tocdo;
                    xecuatui.VeXe(true);
                }
                bHandled = true;
                break;
            }

            case Keys.Down:
            {
                if (xecuatui.ViTri.Y < this.panel1.Height - xecuatui.H)
                {
                    xecuatui.VeXe(false);
                    xecuatui.ViTri.Y += tocdo;
                    xecuatui.VeXe(true);
                }
                bHandled = true;
                break;
            }
            }
            return(bHandled);
        }
예제 #3
0
 private void btnMotXe_Click(object sender, EventArgs e)
 {
     tocdo           = 1;
     timer2.Interval = 30;
     xemoi1          = new Xe(2);
     xemoi1.g        = g2;
     xemoi1.VeXe(true);
     xemoi1.TocDo = tocdo;
     timer2.Start();
 }
예제 #4
0
        private void btnKhoiTao_Click(object sender, EventArgs e)
        {
            g = this.panel1.CreateGraphics();

            #region "VeXeCuaTui"
            xecuatui        = new Xe();
            xecuatui.LoaiXe = 1;
            xecuatui.W      = 60;
            xecuatui.H      = 120;
            Point vitrixecuatui = new Point(this.panel1.Width - xecuatui.W, this.panel1.Height - xecuatui.H);
            xecuatui.ViTri = vitrixecuatui;
            xecuatui.g     = g;
            xecuatui.VeXe(true);
            #endregion
        }
예제 #5
0
 void timer_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
 {
     SinhXe++;
     if (SinhXe == ((xecuatui.H / tocdo) * 2))
     {
         xemoi   = new Xe(2);
         xemoi.g = g2;
         xemoi.VeXe(true);
         doixe.Add(xemoi);
         SinhXe = 0;
     }
     for (int i = 0; i < doixe.Count; i++)
     {
         doixe[i].ChuyenDong();
         if (doixe[i].ViTri.Y > this.panel1.Height)
         {
             doixe[i].VeXe(false);
             doixe.RemoveAt(i);
             diemso++;
             //TinhDiem();
         }
         KiemTraVaCham(doixe[i]);
     }
 }