//------------- Thread ( 淡入 )-------------// public void TurnGameOver(pageName page) { isGameOver = true; if (count == 12) { isGameOver = false; Global.page = page; } else if (count >= 11) { Thread.Sleep(50); gameOver.Action(); } else if (count == 0) { Form1.NewStage(page); Thread.Sleep(40); count++; } else { Thread.Sleep(40); empty.Action(); count++; } }
public void Fly() { brownDragon.Action(); if (brownDragon.Center.X >= 950) { brownDragon.Center = new Point(brownDragon.Center.X - 5, brownDragon.Center.Y); } else { //------ 發射射線 if (myEndPoint.X >= 0) { music.ContiPlayMusic("RaysAttack.mp3"); myEndPoint.X -= 50; } else { music.StopMusic("RaysAttack.mp3"); myEndPoint.X = 860; } //------ 恐龍上下移動 if (brownDragon.Center.Y <= 50) { up = false; } if (!up) { brownDragon.Center = new Point(brownDragon.Center.X, brownDragon.Center.Y + 5); myStartPoint.Y += 5; myEndPoint.Y += 5; } if (brownDragon.Center.Y >= 650) { up = true; } if (up) { brownDragon.Center = new Point(brownDragon.Center.X, brownDragon.Center.Y - 5); myStartPoint.Y -= 5; myEndPoint.Y -= 5; } } }
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 裡的 Runanimate() ----------// public void Action() { switch (step) { //遊戲進場 case 0: step = 1; break; //遊戲開始 case 1: Thread.Sleep(150); turnTable.rotates(); if (click == 1) { } else if (click == 2) { switch (actorChange) { case 0: greenDragon.Action(); break; case 1: orangeDragon.Action(); break; case 2: bird.Action(); break; case 3: tinyDragon.Action(); break; case 4: brownDragon.Action(); break; case 5: blackDragon.Action(); break; case 6: yellowDragon.Action(); break; } } if (btn == 1) { redButton.Action(); } else if (btn == 2) { blueButton.Action(); } else if (btn == 3) { greenButton.Action(); } else if (btn == 4) { purpleButton.Action(); } if (turnTable.turnEnd) { turnLabel.Invoke((Action) delegate { turnLabel.Text = "You win " + (Global.HP) + " eggs (HP)"; }); turnLabel.Invoke((Action) delegate { turnLabel.Location = new System.Drawing.Point(541, 200); }); } if (turnTable.turnEnd) { step = 2; } break; //遊戲出場 case 2: Global.Name = nameTextbox.Text.ToString(); if (Global.Mode == 2) { turn.TurnWin(pageName.stage02); } else { turn.TurnWin(pageName.stage01); } 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; } }
//---------------- 加在 Form1.Thread 裡 ----------------// public void Move() { switch (step) { //遊戲進場 case 0: Thread.Sleep(100); if (explain != null) { explain.Action(); } break; //遊戲開始 case 1: music.ContiPlayMusic("fire2.mp3"); //在Thread裡面的動作記得要睡覺。 countTime.StartT(); Thread.Sleep(50); mainCharactor.Action(); blackDragon.Action(); redfire.Action(); bluefire.Action(); //background.Center = new Point(background.Center.X + 30, background.Center.Y - 30); //background.Center = new Point(background.Center.X - 30, background.Center.Y + 30); //---------------- clouds clouds.Action(-150, new Point(1300, 0 + 50 * randomizer.Next(1, 5)), -1, 0); countTime.EndT(); break; //遊戲勝場 case 2: music.StopMusic("fire2.mp3"); turn.TurnWin(pageName.stage03); music.PlayMusic("burned.mp3"); break; //遊戲敗場 case 3: music.StopMusic("fire2.mp3"); turn.TurnGameOver(pageName.mainPage); break; //遊戲過關 case 4: music.PlayMusic("Pass.mp3"); Ranker ranker = new Ranker(); ranker.Load(); ranker.Clear(); ranker.ShowRank(2); step = 5; break; case 5: turn.TurnWin(pageName.mainPage); break; } }