Exemple #1
0
        private void timer1_Tick(object sender, EventArgs e)
        {
            isRestart = false;
            if (food.foodRec.IntersectsWith(baditem.baditemRec))
            {
                baditem.baditemLocation(randBaditem);
            }
            if (superfood.superfoodRec.IntersectsWith(baditem.baditemRec))
            {
                baditem.baditemLocation(randBaditem);
            }
            // nếu bóng_bay chạy hết form thì thua
            if (bongbay.bongbayRec[0].X >= 280)
            {
                DataGame.GameState[gameIndex] = false; Restart();
            }
            //nếu 100<=điểm<200 timerbongbay=true
            if (score >= 100 && score < 200 && stopdraw == false)
            {
                timerbongbay.Enabled = true;
            }
            //neu 200<=diem<400 cho stopdraw=false
            if (score >= 200 && score < 400)
            {
                stopdraw = false;
            }
            //neu 200<=diem<400 timerbongbay=true
            if (score >= 200 && score < 400 && stopdraw == false)
            {
                timerbongbay.Enabled = true;
            }

            if (napdan == true)
            {
                toolStripStatusLabelcooldown.Text = "Xong";
            }
            else
            {
                toolStripStatusLabelcooldown.Text = "Đang cooldown";
            }
            toolStripStatusLabelsodan.Text = sodan.ToString();
            start.Text     = "";
            sodiemcao.Text = diemcao.ToString();
            sodiem.Text    = score.ToString();
            //nếu bóng hoặc đạn va vào bóng_bay thì dừng vẽ chắn_bay và bóng_bay đồng thời tạo mới vị trí của bóng_bay và chắn_bay
            if (bongbay.bongbayRec[0].IntersectsWith(bong.bongRec[0]) || bongbay.bongbayRec[0].IntersectsWith(dan1.danRec1[0]) || bongbay.bongbayRec[0].IntersectsWith(dan2.danRec2[0]) || bongbay.bongbayRec[0].IntersectsWith(dan3.danRec3[0]))
            {
                stopdraw             = true;
                timerbongbay.Enabled = false;
                bongbay = new BongBay(); chanbay = new ChanBay(); chanbay2 = new ChanBay2();
            }
            //khi 1 trong 3 viên đạn va vào chắn bay thì tạo mới vị trí cho viên đạn đó
            if (dan1.danRec1[0].IntersectsWith(chanbay.chanbayRec[0]))
            {
                dan1 = new Dan1();
            }
            if (dan2.danRec2[0].IntersectsWith(chanbay.chanbayRec[0]))
            {
                dan2 = new Dan2();
            }
            if (dan3.danRec3[0].IntersectsWith(chanbay.chanbayRec[0]))
            {
                dan3 = new Dan3();
            }
            if (dan1.danRec1[0].IntersectsWith(chanbay2.chanbay2Rec[0]))
            {
                dan1 = new Dan1();
            }
            if (dan2.danRec2[0].IntersectsWith(chanbay2.chanbay2Rec[0]))
            {
                dan2 = new Dan2();
            }
            if (dan3.danRec3[0].IntersectsWith(chanbay2.chanbay2Rec[0]))
            {
                dan3 = new Dan3();
            }
            //khi vị trí của food trùng với vị trí super food thì gọi vị trí mới cho food
            if (food.foodRec.IntersectsWith(superfood.superfoodRec))
            {
                food.foodLocation(randFood);
            }
            //va cham Bad item
            if (bong.bongRec[0].IntersectsWith(baditem.baditemRec))
            {
                baditem.baditemLocation(randBaditem); if (score >= 10)
                {
                    score -= 10;
                }
            }
            if (dan1.danRec1[0].IntersectsWith(baditem.baditemRec))
            {
                baditem.baditemLocation(randBaditem); if (score >= 10)
                {
                    score -= 10;
                }
            }
            if (dan2.danRec2[0].IntersectsWith(baditem.baditemRec))
            {
                baditem.baditemLocation(randBaditem); if (score >= 10)
                {
                    score -= 10;
                }
            }
            if (dan3.danRec3[0].IntersectsWith(baditem.baditemRec))
            {
                baditem.baditemLocation(randBaditem); if (score >= 10)
                {
                    score -= 10;
                }
            }
            //các va chạm tăng điểm,đạn,số đếm
            if (dan1.danRec1[0].IntersectsWith(food.foodRec))
            {
                score += 10; food.foodLocation(randFood); sodan += 1; dem += 1;
            }
            if (dan2.danRec2[0].IntersectsWith(food.foodRec))
            {
                score += 10; food.foodLocation(randFood); sodan += 1; dem += 1;
            }
            if (dan3.danRec3[0].IntersectsWith(food.foodRec))
            {
                score += 10; food.foodLocation(randFood); sodan += 1; dem += 1;
            }
            if (dan1.danRec1[0].IntersectsWith(superfood.superfoodRec))
            {
                score += 30; superfood = new SuperFood(); sodan += 3;
            }
            if (dan2.danRec2[0].IntersectsWith(superfood.superfoodRec))
            {
                score += 30; superfood = new SuperFood(); sodan += 3;
            }
            if (dan3.danRec3[0].IntersectsWith(superfood.superfoodRec))
            {
                score += 30; superfood = new SuperFood(); sodan += 3;
            }
            if (bong.bongRec[0].IntersectsWith(superfood.superfoodRec))
            {
                superfood = new SuperFood();
                score    += 30; sodan += 2;
            }
            if (bong.bongRec[0].IntersectsWith(food.foodRec))
            {
                dem   += 1;
                sodan += 1;
                score += 10;
                food.foodLocation(randFood);
            }
            if (van.vanRec[0].IntersectsWith(bong.bongRec[0]))
            {
                if (s == 3)
                {
                    s = 2;
                }
                else if (s == 4)
                {
                    s = 1;
                }
            }

            //dem den 5 thi goi superfood và cho dem=0 để đếm lại từ đầu
            while (dem == 5)
            {
                superfood.superfoodLocation(randSuperFood); dem = 0;
            }
            //bóng nẩy
            if (timer1.Enabled == true)
            {
                if (s == 2 && bong.bongRec[0].Y >= 23 && bong.bongRec[0].X <= 276)
                {
                    bong.drawbongRun2();
                }
                else if (bong.bongRec[0].Y - 1 < 23 && s == 2)
                {
                    s = 3;
                }
                else if (bong.bongRec[0].X + 1 > 276 && s == 2)
                {
                    s = 1;
                }
                if (s == 3 && bong.bongRec[0].X <= 280 && bong.bongRec[0].Y <= 302)
                {
                    bong.drawbongRun3();
                }
                else if (bong.bongRec[0].X + 1 > 276 && s == 3)
                {
                    s = 4;
                }
                else if (bong.bongRec[0].Y + 1 > 303 && s == 3)
                {
                    DataGame.GameState[gameIndex] = false;
                    Restart();
                }
                if (s == 1 && bong.bongRec[0].Y >= 23 && bong.bongRec[0].X >= 1)
                {
                    bong.drawbongRun1();
                }
                else if (bong.bongRec[0].Y - 1 < 23 && s == 1)
                {
                    s = 4;
                }
                else if (bong.bongRec[0].X - 1 < 1 && s == 1)
                {
                    s = 2;
                }
                if (s == 4 && bong.bongRec[0].Y <= 303 && bong.bongRec[0].X >= 1)
                {
                    bong.drawbongRun4();
                }
                else if (bong.bongRec[0].Y + 1 > 303 && s == 4)
                {
                    DataGame.GameState[gameIndex] = false;
                    Restart();
                }
                else if (bong.bongRec[0].X - 1 < 1 && s == 4)
                {
                    s = 3;
                }
            }
            //va chạm bên trái chan bay
            if (bong.bongRec[0].Right.Equals(chanbay.chanbayRec[0].Left + 1) && bong.bongRec[0].IntersectsWith(chanbay.chanbayRec[0]) && s == 2)
            {
                s = 1;
            }
            if (bong.bongRec[0].Right.Equals(chanbay.chanbayRec[0].Left + 1) && bong.bongRec[0].IntersectsWith(chanbay.chanbayRec[0]) && s == 3)
            {
                s = 4;
            }
            //va cham ben phai chan bay
            if (bong.bongRec[0].Left.Equals(chanbay.chanbayRec[0].Right - 1) && bong.bongRec[0].IntersectsWith(chanbay.chanbayRec[0]) && s == 1)
            {
                s = 2;
            }
            if (bong.bongRec[0].Left.Equals(chanbay.chanbayRec[0].Right - 1) && bong.bongRec[0].IntersectsWith(chanbay.chanbayRec[0]) && s == 4)
            {
                s = 3;
            }
            //va cham ben tren chan bay
            if (bong.bongRec[0].Bottom.Equals(chanbay.chanbayRec[0].Top + 1) && bong.bongRec[0].IntersectsWith(chanbay.chanbayRec[0]) && s == 3)
            {
                s = 2;
            }
            if (bong.bongRec[0].Bottom.Equals(chanbay.chanbayRec[0].Top + 1) && bong.bongRec[0].IntersectsWith(chanbay.chanbayRec[0]) && s == 4)
            {
                s = 1;
            }
            //va cham ben duoi chan bay
            if (bong.bongRec[0].Top.Equals(chanbay.chanbayRec[0].Bottom - 1) && bong.bongRec[0].IntersectsWith(chanbay.chanbayRec[0]) && s == 2)
            {
                s = 3;
            }
            if (bong.bongRec[0].Top.Equals(chanbay.chanbayRec[0].Bottom - 1) && bong.bongRec[0].IntersectsWith(chanbay.chanbayRec[0]) && s == 1)
            {
                s = 4;
            }
            //va chạm bên trái chan bay 2
            if (bong.bongRec[0].Right.Equals(chanbay2.chanbay2Rec[0].Left + 1) && bong.bongRec[0].IntersectsWith(chanbay2.chanbay2Rec[0]) && s == 2)
            {
                s = 1;
            }
            if (bong.bongRec[0].Right.Equals(chanbay2.chanbay2Rec[0].Left + 1) && bong.bongRec[0].IntersectsWith(chanbay2.chanbay2Rec[0]) && s == 3)
            {
                s = 4;
            }
            //va cham ben phai chan bay 2
            if (bong.bongRec[0].Left.Equals(chanbay2.chanbay2Rec[0].Right - 1) && bong.bongRec[0].IntersectsWith(chanbay2.chanbay2Rec[0]) && s == 1)
            {
                s = 2;
            }
            if (bong.bongRec[0].Left.Equals(chanbay2.chanbay2Rec[0].Right - 1) && bong.bongRec[0].IntersectsWith(chanbay2.chanbay2Rec[0]) && s == 4)
            {
                s = 3;
            }
            //va cham ben tren chan bay2
            if (bong.bongRec[0].Bottom.Equals(chanbay2.chanbay2Rec[0].Top + 1) && bong.bongRec[0].IntersectsWith(chanbay2.chanbay2Rec[0]) && s == 3)
            {
                s = 2;
            }
            if (bong.bongRec[0].Bottom.Equals(chanbay2.chanbay2Rec[0].Top + 1) && bong.bongRec[0].IntersectsWith(chanbay2.chanbay2Rec[0]) && s == 4)
            {
                s = 1;
            }
            //va cham ben duoi chan bay 2
            if (bong.bongRec[0].Top.Equals(chanbay2.chanbay2Rec[0].Bottom - 1) && bong.bongRec[0].IntersectsWith(chanbay2.chanbay2Rec[0]) && s == 2)
            {
                s = 3;
            }
            if (bong.bongRec[0].Top.Equals(chanbay2.chanbay2Rec[0].Bottom - 1) && bong.bongRec[0].IntersectsWith(chanbay2.chanbay2Rec[0]) && s == 1)
            {
                s = 4;
            }
            //bong nay 2 de tang toc do bong
            if (timer1.Enabled == true)
            {
                if (s == 2 && bong.bongRec[0].Y >= 23 && bong.bongRec[0].X <= 276)
                {
                    bong.drawbongRun2();
                }
                else if (bong.bongRec[0].Y - 1 < 23 && s == 2)
                {
                    s = 3;
                }
                else if (bong.bongRec[0].X + 1 > 276 && s == 2)
                {
                    s = 1;
                }
                if (s == 3 && bong.bongRec[0].X <= 280 && bong.bongRec[0].Y <= 302)
                {
                    bong.drawbongRun3();
                }
                else if (bong.bongRec[0].X + 1 > 276 && s == 3)
                {
                    s = 4;
                }
                else if (bong.bongRec[0].Y + 1 > 303 && s == 3)
                {
                    DataGame.GameState[gameIndex] = false;
                    Restart();
                }
                if (s == 1 && bong.bongRec[0].Y >= 23 && bong.bongRec[0].X >= 1)
                {
                    bong.drawbongRun1();
                }
                else if (bong.bongRec[0].Y - 1 < 23 && s == 1)
                {
                    s = 4;
                }
                else if (bong.bongRec[0].X - 1 < 1 && s == 1)
                {
                    s = 2;
                }
                if (s == 4 && bong.bongRec[0].Y <= 303 && bong.bongRec[0].X >= 1)
                {
                    bong.drawbongRun4();
                }
                else if (bong.bongRec[0].Y + 1 > 303 && s == 4)
                {
                    DataGame.GameState[gameIndex] = false;
                    Restart();
                }
                else if (bong.bongRec[0].X - 1 < 1 && s == 4)
                {
                    s = 3;
                }
            }//xet va cham lan 2 cho chan bay
            if (bong.bongRec[0].Right.Equals(chanbay.chanbayRec[0].Left + 1) && bong.bongRec[0].IntersectsWith(chanbay.chanbayRec[0]) && s == 2)
            {
                s = 1;
            }
            if (bong.bongRec[0].Right.Equals(chanbay.chanbayRec[0].Left + 1) && bong.bongRec[0].IntersectsWith(chanbay.chanbayRec[0]) && s == 3)
            {
                s = 4;
            }
            if (bong.bongRec[0].Left.Equals(chanbay.chanbayRec[0].Right - 1) && bong.bongRec[0].IntersectsWith(chanbay.chanbayRec[0]) && s == 1)
            {
                s = 2;
            }
            if (bong.bongRec[0].Left.Equals(chanbay.chanbayRec[0].Right - 1) && bong.bongRec[0].IntersectsWith(chanbay.chanbayRec[0]) && s == 4)
            {
                s = 3;
            }
            if (bong.bongRec[0].Bottom.Equals(chanbay.chanbayRec[0].Top + 1) && bong.bongRec[0].IntersectsWith(chanbay.chanbayRec[0]) && s == 3)
            {
                s = 2;
            }
            if (bong.bongRec[0].Bottom.Equals(chanbay.chanbayRec[0].Top + 1) && bong.bongRec[0].IntersectsWith(chanbay.chanbayRec[0]) && s == 4)
            {
                s = 1;
            }
            if (bong.bongRec[0].Top.Equals(chanbay.chanbayRec[0].Bottom - 1) && bong.bongRec[0].IntersectsWith(chanbay.chanbayRec[0]) && s == 2)
            {
                s = 3;
            }
            if (bong.bongRec[0].Top.Equals(chanbay.chanbayRec[0].Bottom - 1) && bong.bongRec[0].IntersectsWith(chanbay.chanbayRec[0]) && s == 1)
            {
                s = 4;
            }
            //xet va cham lan 2 cho chan bay 2
            if (bong.bongRec[0].Right.Equals(chanbay2.chanbay2Rec[0].Left + 1) && bong.bongRec[0].IntersectsWith(chanbay2.chanbay2Rec[0]) && s == 2)
            {
                s = 1;
            }
            if (bong.bongRec[0].Right.Equals(chanbay2.chanbay2Rec[0].Left + 1) && bong.bongRec[0].IntersectsWith(chanbay2.chanbay2Rec[0]) && s == 3)
            {
                s = 4;
            }
            if (bong.bongRec[0].Left.Equals(chanbay2.chanbay2Rec[0].Right - 1) && bong.bongRec[0].IntersectsWith(chanbay2.chanbay2Rec[0]) && s == 1)
            {
                s = 2;
            }
            if (bong.bongRec[0].Left.Equals(chanbay2.chanbay2Rec[0].Right - 1) && bong.bongRec[0].IntersectsWith(chanbay2.chanbay2Rec[0]) && s == 4)
            {
                s = 3;
            }
            if (bong.bongRec[0].Bottom.Equals(chanbay2.chanbay2Rec[0].Top + 1) && bong.bongRec[0].IntersectsWith(chanbay2.chanbay2Rec[0]) && s == 3)
            {
                s = 2;
            }
            if (bong.bongRec[0].Bottom.Equals(chanbay2.chanbay2Rec[0].Top + 1) && bong.bongRec[0].IntersectsWith(chanbay2.chanbay2Rec[0]) && s == 4)
            {
                s = 1;
            }
            if (bong.bongRec[0].Top.Equals(chanbay2.chanbay2Rec[0].Bottom - 1) && bong.bongRec[0].IntersectsWith(chanbay2.chanbay2Rec[0]) && s == 2)
            {
                s = 3;
            }
            if (bong.bongRec[0].Top.Equals(chanbay2.chanbay2Rec[0].Bottom - 1) && bong.bongRec[0].IntersectsWith(chanbay2.chanbay2Rec[0]) && s == 1)
            {
                s = 4;
            }
            //nếu bấm B thì cho timerbanbay =true
            if (keyb == true)
            {
                timerdanbay.Enabled = true;
            }
            //nếu timerbanbay=true thì vẽ đạn bay
            if (timerdanbay.Enabled == true)
            {
                dan1.drawdanRun1(); dan2.drawdanRun2(); dan3.drawdanRun3();
                // nếu đạn bay hết màn hình cho nạp đạn(cooldown), dừng vẽ đạn, tạo mới đạn
                if (dan1.danRec1[0].X <= 0 && dan2.danRec2[0].Y <= 22 && dan3.danRec3[0].X >= 280)
                {
                    napdan = true;
                    timerdanbay.Enabled = false;
                    dan1 = new Dan1();
                    dan2 = new Dan2();
                    dan3 = new Dan3();
                }
            }
            gameTime = watch.Elapsed.Seconds;
            network.lstgame[gameIndex] = new DataGame(score, gameTime, van.vanRec[0].X, new Point(bong.bongRec[0].X, bong.bongRec[0].Y));
            if (network.runForward(gameIndex))
            {
                van.moveLeftvan();
            }
            else
            {
                van.moveRightvan();
            }
            this.Invalidate();
        }