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; } }
public void Action() { switch (step) { //遊戲進場說明 case 0: Thread.Sleep(100); river.Action(); river2.AntiAction(); // 說明頁切換 switch (explainPage) { case 0: mainCharacter.Action(); // mainCharater 動作 if (mainCanJump) { if (mainCharacter.Center.Y >= 280 && touch == 0) { mainCharacter.Move(0, -3 * jumpt); jumpt++; } else if (mainCharacter.Center.Y <= 430) { touch = -1; mainCharacter.Move(0, 3 * jumpt); jumpt--; if (mainCharacter.Center.Y > 430) { mainCanJump = false; jumpt = 0; touch = 0; } } } break; case 1: mainCharacter.Action(); break; case 2: // 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].Enemys == 0 && yellowDragon[1].Enemys == 0) { if (winroad.Center.X < 520) { pinkDragon.Action(); pinkDragon.Move(-4, 0); if (pinkDragon.isClick(mainCharacter.Center.X + 50, mainCharacter.Center.Y)) { step = 4; } } 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 for (int i = 0; i < yellow_NUM; i++) { if (yellowDragon[i] != null) { yellowDragon[i].Action(); yellowDragon[i].Jump(grid.continuousActors[grid.continuousActors.Count - 1].Center, i); if (yellowDragon[i].isClick(mainCharacter.Center.X, mainCharacter.Center.Y)) { 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); } } // 恐龍是否走在路上 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 (ispower && jumpt > -10) { jumpt--; } if (isjump) { if (jumpt < 2) { mainCharacter.Move(0, -30 + jumpt); } else { isjump = false; jumpt = 0; } jumpt++; } else if (winroad.Center.X <= 750) { mainCharacter.Center = new Point(mainCharacter.Center.X + 4, 550); } else if (touch == 0) { mainCharacter.GMove(0, 3); } // 恐龍扣血 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; isjump = false; } // 計時直到碰見粉紅 if (!pinkDragon.isClick(mainCharacter.Center.X, mainCharacter.Center.Y)) { countTime.EndT(); } break; //遊戲勝場 case 2: music.StopMusic("cave2.wav"); turn.Turn(pageName.mainPage); break; //遊戲敗場 case 3: music.StopMusic("cave2.wav"); turn.Turn(pageName.mainPage); break; case 4: music.PlayMusic("Pass.mp3"); Ranker ranker = new Ranker(); ranker.Load(); ranker.Clear(); ranker.ShowRank(0); step = 2; break; } }