//---------------- 加在 Form1.MouseDown 裡 ----------------// public void MouseDown(MouseEventArgs e) { switch (step) { // 說明頁 case 0: if (ExplainPlayBtn.isClick(e.X, e.Y)) { music.PlayMusic("concern.mp3"); ExplainPlayBtn.Size = 1.2f; explain = null; ExplainPlayBtn = null; step = 1; } // 說明頁按鈕切換 if (rNextBtn.isClick(e.X, e.Y) && (Global.Mode == 0 ? explainPage == 0 : false)) { music.PlayMusic("concern.mp3"); explainPage++; rNextBtn.Size = 1.5f; } if (lNextBtn.isClick(e.X, e.Y) && (Global.Mode == 0 ? explainPage == 1 : false)) { music.PlayMusic("concern.mp3"); explainPage--; lNextBtn.Size = 1.5f; } if ((rNextBtn.isClick(e.X, e.Y) || lNextBtn.isClick(e.X, e.Y)) && Global.Mode == 0) { switch (explainPage) { case 0: explain.ClearImages(); explain.AddImage("story22", 1); lNextBtn.ClearImages(); lNextBtn.AddImage("graExpLBtn0", 1); rNextBtn.ClearImages(); rNextBtn.AddImage("Rnext", 1); break; case 1: explain.ClearImages(); explain.AddImage("story23", 1); rNextBtn.ClearImages(); rNextBtn.AddImage("graExpRBtn0", 1); lNextBtn.ClearImages(); lNextBtn.AddImage("Lnext", 1); break; } } break; //遊戲敗場 case 3: turn.MouseDown(e, pageName.turntablePage); break; } }
public void Motion(int num) { if (Num == num) { return; } Num = num; brownDragon.ClearImages(); switch (num) { case 0: brownDragon.AddImage("browndragon", 2); break; case 1: brownDragon.AddImage("browndragon_hurt", 3); break; } }
public void MouseDown(MouseEventArgs e) { switch (step) { // 說明頁 case 0: // 說明頁按鈕切換 if (rNextBtn.isClick(e.X, e.Y) && (explainPage == 0 || explainPage == 1 || explainPage == 2)) { music.PlayMusic("concern.mp3"); explainPage++; rNextBtn.Size = 1.5f; } if (lNextBtn.isClick(e.X, e.Y) && (explainPage == 1 || explainPage == 2 || explainPage == 3)) { music.PlayMusic("concern.mp3"); explainPage--; lNextBtn.Size = 1.5f; } // 說明頁 子頁 切換 switch (explainPage) { case 0: explain.ClearImages(); explain.AddImage("story31", 1); lNextBtn.ClearImages(); lNextBtn.AddImage("graExpLBtn0", 1); rNextBtn.ClearImages(); rNextBtn.AddImage("Rnext", 1); break; case 1: explain.ClearImages(); explain.AddImage("Stage03explain0", 1); lNextBtn.ClearImages(); lNextBtn.AddImage("Lnext", 1); rNextBtn.ClearImages(); rNextBtn.AddImage("Rnext", 1); // mainCharacter位置重設 mainCharacter.Size = 8; mainCharacter.Center = new Point(420, 430); mainCharacter.Motion(0); if (mainCharacter.isClick(e.X, e.Y)) { mainCharacter.ispower = true; music.PlayMusic("Power.mp3"); mainCharacter.Motion(5); } mainCharacter.isjump = false; break; case 2: explain.ClearImages(); explain.AddImage("Stage03explain1", 1); rNextBtn.ClearImages(); rNextBtn.AddImage("Rnext", 1); lNextBtn.ClearImages(); lNextBtn.AddImage("Lnext", 1); // mainCharacter位置重設 mainCharacter.Size = 8; mainCharacter.Center = new Point(565, 550); mainCharacter.Motion(2); break; case 3: explain.ClearImages(); explain.AddImage("Stage03explain2", 1); rNextBtn.ClearImages(); rNextBtn.AddImage("graExpRBtn0", 1); lNextBtn.ClearImages(); lNextBtn.AddImage("Lnext", 1); if (yellowDragon[0].isClick(e.X, e.Y)) { yellowDragon[0].Motion(1); } break; } if (ExplainPlayBtn.isClick(e.X, e.Y)) { music.PlayMusic("concern.mp3"); ExplainPlayBtn.Size = 1.2f; explain = null; ExplainPlayBtn = null; // mainCharater 位置、 圖片重設 mainCharacter.Size = 6; mainCharacter.Center = new Point(190, 590); mainCharacter.Motion(0); // river 、 river2 位置、圖片重設 river.Size = 1; river.Center = new Point(500, 750); river2.Size = 1; river2.Center = new Point(500, 750); // yellowDragon 位置、圖片重設 for (int i = 0; i < yellow_NUM; i++) { yellowDragon[i] = new YellowDragon("yellowdragon", 2, new Point(1200, 500 + 100 * i), 3); } step = 1; } break; case 1: //攻擊敵人 for (int i = 0; i < yellow_NUM; i++) { if (yellowDragon[i] != null) { if (yellowDragon[i].isClick(e.X, e.Y)) { yellowDragon[i].Life(); yellowDragon[i].Motion(1); } } } //續力開始 if (mainCharacter.isClick(e.X, e.Y) && mainCharacter.Center.Y > 545 && touch > 0 && !mainCharacter.isjump) { music.PlayMusic("Power.mp3"); mainCharacter.ispower = true; mainCharacter.Motion(5); } break; //遊戲敗場 case 3: turn.MouseDown(e, pageName.turntablePage); break; } }
public void Action() { switch (step) { //遊戲進場說明 case 0: Thread.Sleep(100); river.Action(); river2.AntiAction(); // 說明頁切換 switch (explainPage) { case 1: // mainCharater 動作 mainCharacter.Action(); mainCharacter.Jump(-7, 430); break; case 2: mainCharacter.Action(); break; case 3: // yellowDragon 動作 yellowDragon[0].Action(); if (yellowDragon[0].Center.Y <= 350) { isUp = false; } else if (yellowDragon[0].Center.Y >= 600) { isUp = true; } if (isUp) { yellowDragon[0].Move(0, -20); } else if (!isUp) { yellowDragon[0].Move(0, 20); } break; } break; //遊戲開始 case 1: countTime.StartT(); Thread.Sleep(90); music.PlayMusic(4); if (yellowDragon[0] == null && yellowDragon[1] == null) { if (winroad.Center.X < 520) { pinkDragon.Action(); pinkDragon.Move(-4, 0); if (pinkDragon.isClick(mainCharacter.Center.X + 50, mainCharacter.Center.Y)) { step = 5; } } else { winroad.Move(-10, 0); pinkDragon.Move(-10, 0); } } // 所有圖片動畫 if (winroad.Center.X > 520) { river.Action(); river2.AntiAction(); grid.Action(-160, new Point(1900, 700), -10, 0); background.Action(-440, new Point(1700, 340), -3, 0); } mainCharacter.Action(); //---------------- Enemys Global.target = 0; for (int i = 0; i < yellow_NUM; i++) { if (yellowDragon[i] != null) { Global.target += yellowDragon[i].Enemys; yellowDragon[i].Action(); yellowDragon[i].Jump(grid.continuousActors[grid.continuousActors.Count - 1].Center, i); if (yellowDragon[i].isClick(mainCharacter.Center.X, mainCharacter.Center.Y)) { Console.WriteLine("撞到哪一隻 :" + i); Global.HP -= 1; music.PlayMusic(1); if (Global.HP <= 0) { step = 3; } mainCharacter.Motion(2); } healthPts[i].Center = new Point(yellowDragon[i].Center.X, yellowDragon[i].Center.Y - 120); healthPts[i].Health(yellowDragon[i].HP, 5); if (yellowDragon[i].Enemys == 0 && yellowDragon[i] != null) { yellowDragon[i] = null; } } } // 恐龍是否走在路上 touch = 0; for (int i = 0; i < grid.continuousActors.Count; i++) { if (grid.continuousActors[i].isClick(mainCharacter.Center.X - 15, mainCharacter.Center.Y + 60)) { touch++; if (mainCharacter.Center.Y > 630) { touch--; } } } // 恐龍動作(跳/墜落) if (winroad.Center.X <= 750) { mainCharacter.Center = new Point(mainCharacter.Center.X + 4, 550); } else { mainCharacter.Jump2(-30, touch); } // 恐龍扣血 if (mainCharacter.Center.Y > 950) { Global.HP -= 1; music.ContiPlayMusic("drop.wav"); if (Global.HP <= 0) { step = 3; } mainCharacter.Motion(2); mainCharacter.Center = new Point(190, 190); mainCharacter.t = 0; mainCharacter.isjump = false; } // 計時直到碰見粉紅 if (!pinkDragon.isClick(mainCharacter.Center.X, mainCharacter.Center.Y)) { countTime.EndT(); } break; //遊戲勝場 case 2: music.StopMusic("cave2.wav"); turn.TurnWin(pageName.mainPage); break; //遊戲敗場 case 3: music.StopMusic("cave2.wav"); turn.TurnGameOver(pageName.mainPage); break; case 4: Ranker ranker = new Ranker(); ranker.Load(); ranker.Clear(); ranker.ShowRank(0); step = 6; break; case 5: switch (End) { case 0: explain = new AnimateActor("story32", 1, new Point(550, 410), 2); End = 1; Thread.Sleep(3500); break; case 1: explain.ClearImages(); explain.AddImage("story33", 1); music.PlayMusic("hurt3.mp3"); End = 2; Thread.Sleep(1000); break; case 2: explain.ClearImages(); explain.AddImage("story34", 1); End = 3; Thread.Sleep(2500); music = null; music = new Music("Stage1.mp3"); break; case 3: explain.ClearImages(); explain.AddImage("story35", 1); End = 4; Thread.Sleep(2500); break; case 4: explain.ClearImages(); explain.AddImage("story36", 1); Thread.Sleep(3500); step = 4; music.PlayMusic("Pass.mp3"); break; } break; case 6: turn.TurnWin(pageName.mainPage); break; } }
//------------ 放在 Form1.MouseDown ----------// public void MouseDown(MouseEventArgs e) { switch (step) { //遊戲開始 case 1: ((Button)redButton).Motion(0); ((Button)blueButton).Motion(2); ((Button)greenButton).Motion(4); ((Button)purpleButton).Motion(6); if (purpleButton.isClick(e.X, e.Y)) { if (click == 4) { break; } click = 4; music.Click(); actorChange = 0; ((Button)Page).Motion(11); ((Button)purpleButton).Motion(7); nameTextbox.Invoke((Action) delegate { nameTextbox.Visible = false; }); pageLabel.Invoke((Action) delegate { pageLabel.Visible = false; }); turnLabel.Invoke((Action) delegate { turnLabel.Visible = false; }); } else if (redButton.isClick(e.X, e.Y)) { if (click == 1) { break; } click = 1; music.Click(); actorChange = 0; ((Button)Page).Motion(8); ((Button)redButton).Motion(1); nameTextbox.Invoke((Action) delegate { nameTextbox.Visible = true; }); pageLabel.Invoke((Action) delegate { pageLabel.Visible = false; }); turnLabel.Invoke((Action) delegate { turnLabel.Visible = true; }); } else if (greenButton.isClick(e.X, e.Y)) { if (click == 2) { break; } click = 2; music.Click(); ((Button)Page).Motion(10); ((Button)greenButton).Motion(5); nameTextbox.Invoke((Action) delegate { nameTextbox.Visible = false; }); actorChange = 0; pageLabel.Invoke((Action) delegate { pageLabel.Visible = true; pageLabel.Text = actorChange.ToString(); }); Thread.Sleep(100); turnLabel.Invoke((Action) delegate { turnLabel.Visible = false; }); } else if (blueButton.isClick(e.X, e.Y)) { if (click == 3) { break; } click = 3; music.Click(); ((Button)Page).Motion(9); ((Button)blueButton).Motion(3); ((Button)rankpic).Motion(actorChange + 12); nameTextbox.Invoke((Action) delegate { nameTextbox.Visible = false; }); actorChange = 0; pageLabel.Invoke((Action) delegate { pageLabel.Visible = true; pageLabel.Text = actorChange.ToString(); }); Thread.Sleep(100); turnLabel.Invoke((Action) delegate { turnLabel.Visible = false; }); } if (click != 3) { Form1.labely.Visible = false; Form1.labelz.Visible = false; } if (click == 1) { } //----- 模式 Radio Button if (click == 1) { //轉盤與模式選擇 if (rBtn2.isClick(e.X, e.Y)) { music.PlayMusic("concern.mp3"); Global.Mode = 2; rBtn2.ClearImages(); rBtn2.AddImage("rrBtn2", 1); rBtn0.ClearImages(); rBtn0.AddImage("rBtn0", 1); rBtn1.ClearImages(); rBtn1.AddImage("rBtn1", 1); } else if (rBtn1.isClick(e.X, e.Y)) { music.PlayMusic("concern.mp3"); Global.Mode = 1; rBtn2.ClearImages(); rBtn2.AddImage("rBtn2", 1); rBtn0.ClearImages(); rBtn0.AddImage("rBtn0", 1); rBtn1.ClearImages(); rBtn1.AddImage("rrBtn1", 1); } else if (rBtn0.isClick(e.X, e.Y)) { music.PlayMusic("concern.mp3"); Global.Mode = 0; rBtn2.ClearImages(); rBtn2.AddImage("rBtn2", 1); rBtn0.ClearImages(); rBtn0.AddImage("rrBtn0", 1); rBtn1.ClearImages(); rBtn1.AddImage("rBtn1", 1); } turnTable.randomnumDown(e); } else if (click == 2) { // 選單與角色瀏覽設定 if (nextButtonRight.isClick(e.X, e.Y) && actorChange < 6) { music.PlayMusic("concern.mp3"); actorChange++; nextButtonRight.Size = 15; pageLabel.Invoke((Action) delegate { pageLabel.Text = actorChange.ToString(); }); } else if (nextButtonLeft.isClick(e.X, e.Y) && actorChange > 0) { music.PlayMusic("concern.mp3"); actorChange--; nextButtonLeft.Size = 15; pageLabel.Invoke((Action) delegate { pageLabel.Text = actorChange.ToString(); }); } } else if (click == 3) { // Rank 排行榜瀏覽 Form1.labely.Visible = true; Form1.labelz.Visible = true; PrintScore(); if (nextButtonRight.isClick(e.X, e.Y) && actorChange < 2) { music.PlayMusic("concern.mp3"); actorChange++; ((Button)rankpic).Motion(actorChange + 12); PrintScore(); nextButtonRight.Size = 15; pageLabel.Invoke((Action) delegate { pageLabel.Text = actorChange.ToString(); }); } else if (nextButtonLeft.isClick(e.X, e.Y) && actorChange > 0) { music.PlayMusic("concern.mp3"); actorChange--; ((Button)rankpic).Motion(actorChange + 12); PrintScore(); nextButtonLeft.Size = 15; pageLabel.Invoke((Action) delegate { pageLabel.Text = actorChange.ToString(); }); } } //------ Mode 按紐 if (mode01.isClick(e.X, e.Y) && click == 4) { music.PlayMusic("concern.mp3"); mode01.ClearImages(); mode01.AddImage("SpurStge1", 1); mode02.ClearImages(); mode02.AddImage("Mode1", 1); storyMode.ClearImages(); storyMode.AddImage("Story0", 1); storyModeExplain.ClearImages(); storyModeExplain.AddImage("modeStory0", 1); } else if (mode02.isClick(e.X, e.Y) && click == 4) { music.PlayMusic("concern.mp3"); mode01.ClearImages(); mode01.AddImage("Mode0", 1); mode02.ClearImages(); mode02.AddImage("SpurStge2", 1); storyMode.ClearImages(); storyMode.AddImage("Story0", 1); storyModeExplain.ClearImages(); storyModeExplain.AddImage("modeStory1", 1); } else if (storyMode.isClick(e.X, e.Y) && click == 4) { music.PlayMusic("concern.mp3"); mode01.ClearImages(); mode01.AddImage("Mode0", 1); mode02.ClearImages(); mode02.AddImage("Mode1", 1); storyMode.ClearImages(); storyMode.AddImage("SpurStge3", 1); storyModeExplain.ClearImages(); storyModeExplain.AddImage("modeStory2", 1); } //------ 角色 Demo switch (actorChange) { case 0: if (greenDragon.isClick(e.X, e.Y) && click == 2) { ((MainCharactor)greenDragon).Motion(1); } break; case 1: if (orangeDragon.isClick(e.X, e.Y) && click == 2) { ((OrangeDragon)orangeDragon).Motion(2); } break; case 2: if (bird.isClick(e.X, e.Y) && click == 2) { ((YellowBird)bird).Motion(0); } break; case 3: if (tinyDragon.isClick(e.X, e.Y) && click == 2) { ((TinyDragon)tinyDragon).Motion(1); } break; case 4: if (brownDragon.isClick(e.X, e.Y) && click == 2) { brownDragon.ClearImages(); brownDragon.AddImage("browndragon_hurt", 3); } break; case 5: if (blackDragon.isClick(e.X, e.Y) && click == 2) { ((BlackDragon)blackDragon).Motion(1); } break; case 6: if (yellowDragon.isClick(e.X, e.Y) && click == 2) { ((YellowDragon)yellowDragon).Motion(1); } break; } break; } }
//-------------Form 呼叫的 MouseDown-------------// public void MouseDown(MouseEventArgs e) { switch (step) { // 說明頁 case 0: if (ExplainPlayBtn.isClick(e.X, e.Y)) { music.PlayMusic("concern.mp3"); ExplainPlayBtn.Size = 1.2f; explain = null; ExplainPlayBtn = null; WingL = null; WingR = null; WingL = new AnimateActor("wing0", 2, new Point(200, 320), 1.5f); WingR = new AnimateActor("wing1", 2, new Point(900, 320), 1.5f); step = 1; } // 說明頁按鈕切換 if (rNextBtn.isClick(e.X, e.Y) && explainPage == 0 && Global.Mode > 0) { music.PlayMusic("concern.mp3"); explain.ClearImages(); explain.AddImage("Level01explain1", 1); explainPage = 1; rNextBtn.Size = 1.5f; rNextBtn.ClearImages(); rNextBtn.AddImage("graExpRBtn0", 1); lNextBtn.ClearImages(); lNextBtn.AddImage("Lnext", 1); } if (lNextBtn.isClick(e.X, e.Y) && explainPage == 1 && Global.Mode > 0) { music.PlayMusic("concern.mp3"); explain.ClearImages(); explain.AddImage("Level01explain0", 1); explainPage = 0; lNextBtn.Size = 1.5f; lNextBtn.ClearImages(); lNextBtn.AddImage("graExpLBtn0", 1); rNextBtn.ClearImages(); rNextBtn.AddImage("Rnext", 1); } break; //遊戲開始 case 1: if (Cloud.isClick(e.X, e.Y)) { if (e.X > Cloud.Center.X) { music.PlayMusic("cloudsClick.mp3"); Cloud._Angle += Convert.ToInt32(Math.Sqrt(Math.Pow(e.X - Cloud.Center.X, 2) + Math.Pow(e.Y - Cloud.Center.Y, 2)) / 50); } else if (e.X < Cloud.Center.X) { music.PlayMusic("cloudsClick.mp3"); Cloud._Angle -= Convert.ToInt32(Math.Sqrt(Math.Pow(e.X - Cloud.Center.X, 2) + Math.Pow(e.Y - Cloud.Center.Y, 2)) / 50); } } break; //遊戲敗場 case 3: turn.MouseDown(e, pageName.turntablePage); break; } }
//---------- MouseDouwn -------------// public void MouseDown(MouseEventArgs e) { switch (step) { // 說明頁 case 0: if (Form1.labely.Visible == true) { Form1.labely.Visible = false; Form1.labelz.Visible = false; } if (ExplainPlayBtn.isClick(e.X, e.Y)) { music.PlayMusic("concern.mp3"); ExplainPlayBtn.Size = 1.2f; explain = null; ExplainPlayBtn = null; mainCharactor.Center = new Point(195, 600); orangeDragon.Center = new Point(1100, 600); yellowBird.Center = new Point(1100, 100); bone.Center = new Point(1050, 580); mainCharactor.Motion(0); orangeDragon.Motion(0); step = 1; } if (mainCharactor.isClick(e.X, e.Y) && explainPage == 1) { mainCharactor.Motion(1); escaption = true; canPaintHp01 = false; } if (orangeDragon.isClick(e.X, e.Y) && explainPage == 1) { orangeDragon.Motion(2); canPaintHp02 = true; isAttackOrange = true; } // 說明頁按鈕切換 if (rNextBtn.isClick(e.X, e.Y) && (Global.Mode == 0 ? (explainPage == 0 || explainPage == 1 || explainPage == 2) : (explainPage == 0 || explainPage == 1))) { music.PlayMusic("concern.mp3"); explainPage++; rNextBtn.Size = 1.5f; } if (lNextBtn.isClick(e.X, e.Y) && (Global.Mode == 0 ? (explainPage == 1 || explainPage == 2 || explainPage == 3) : (explainPage == 1 || explainPage == 2))) { music.PlayMusic("concern.mp3"); explainPage--; lNextBtn.Size = 1.5f; } // 說明頁切換 if (rNextBtn.isClick(e.X, e.Y) || lNextBtn.isClick(e.X, e.Y)) { switch (explainPage) { case 0: explain.ClearImages(); if (Global.Mode > 0) { explain.AddImage("explain2", 1); } else { explain.AddImage("story11", 1); } lNextBtn.ClearImages(); lNextBtn.AddImage("graExpLBtn0", 1); rNextBtn.ClearImages(); rNextBtn.AddImage("Rnext", 1); break; case 1: explain.ClearImages(); if (Global.Mode > 0) { explain.AddImage("explain0", 1); } else { explain.AddImage("story12", 1); } rNextBtn.ClearImages(); rNextBtn.AddImage("Rnext", 1); lNextBtn.ClearImages(); lNextBtn.AddImage("Lnext", 1); break; case 2: explain.ClearImages(); rNextBtn.ClearImages(); if (Global.Mode > 0) { explain.AddImage("explain1", 1); rNextBtn.AddImage("graExpRBtn0", 1); } else { explain.AddImage("story13", 1); rNextBtn.AddImage("Rnext", 1); } lNextBtn.ClearImages(); lNextBtn.AddImage("Lnext", 1); break; case 3: explain.ClearImages(); explain.AddImage("story14", 1); rNextBtn.ClearImages(); rNextBtn.AddImage("graExpRBtn0", 1); lNextBtn.ClearImages(); lNextBtn.AddImage("Lnext", 1); break; } } break; //遊戲開始 case 1: if (playButton.isClick(e.X, e.Y)) { step = 2; } if (mainCharactor.isClick(e.X, e.Y)) { mainCharactor.Motion(1); escaption = true; } if (orangeDragon.isClick(e.X, e.Y)) { orangeDragon.Motion(2); orangeDragon.Life(); music.PlayMusic("AnemyHit.mp3"); } if (yellowBird.isClick(e.X, e.Y)) { yellowBird.Motion(1); yellowBird.Throw(); music.PlayMusic("AnemyHit.mp3"); } break; //遊戲敗場 case 3: turn.MouseDown(e, pageName.turntablePage); break; } }