//Moves each ghost sprite out of the four sprites according to my move method public void GhostsMove() { //The purpose of the MoveGhosts method is to loop through all the ghosts and call their move method. foreach (Ghost ghost in allghosts) { ghost.Move(); } }
static void Main() { //İmleci Görünmez yapmak için Console.CursorVisible = false; // //Sound Effects // SoundPlayer Walk = new SoundPlayer(); Walk.SoundLocation = Environment.CurrentDirectory + "\\SFX/Walk.wav"; SoundPlayer Gover = new SoundPlayer(); Gover.SoundLocation = Environment.CurrentDirectory + "\\SFX/GameOver.wav"; SoundPlayer Victory = new SoundPlayer(); Victory.SoundLocation = Environment.CurrentDirectory + "\\SFX/Victory.wav"; // //LOADING // Loading(); // //Mega Yem // Yem[] Yemlik = new Yem[6]; int[,] Konum = new int[6, 2] { { 9, 5 }, { 9, 16 }, { 32, 5 }, { 32, 16 }, { 19, 2 }, { 22, 19 } }; for (int i = 0; i < 6; i++) { Yem k1 = new Yem(); k1.X = Konum[i, 0]; k1.Y = Konum[i, 1]; Yemlik[i] = k1; } // //Mini Yem // MiniYem[] Puan = new MiniYem[22]; int[,] Local = new int[22, 2] { { 11, 4 }, { 11, 6 }, { 30, 4 }, { 30, 6 }, { 19, 8 }, { 22, 8 }, { 11, 15 }, { 11, 17 }, { 30, 15 }, { 30, 17 }, { 19, 13 }, { 22, 13 }, { 3, 8 }, { 38, 8 }, { 3, 13 }, { 38, 13 }, { 18, 3 }, { 23, 18 }, { 4, 5 }, { 4, 16 }, { 37, 5 }, { 37, 16 } }; //{18,3},{23,18},{4,5},{4,16},{37,5},{37,16} Pacman CLU = new Pacman(); for (int i = 0; i < 22; i++) { MiniYem k2 = new MiniYem(); k2.X = Local[i, 0]; k2.Y = Local[i, 1]; Puan[i] = k2; } // //Green Ghost Object // Ghost Enemy = new Ghost(); Enemy.X = 15; Enemy.Y = 18; Enemy.BColor = ConsoleColor.Green; Enemy.FColor = ConsoleColor.DarkMagenta; int AdımX = 15; int AdımY = 18; byte flag = 0; // //Red Ghost Object // Ghost Jelly = new Ghost(); Jelly.X = 15; Jelly.Y = 18; Jelly.BColor = ConsoleColor.Red; Jelly.FColor = ConsoleColor.Gray; int StepX = 26; int StepY = 3; byte Bayrak = 0; bool Game = true; ConsoleKeyInfo Key = Console.ReadKey(); bool isKeyPressed = false; Console.Clear(); //Menu.Stop(); DrawFrame(); PacMap.Map(); //bool Game = false; Walk.PlayLooping(); while (Game) { //PacMap.Map(); //Key = Console.ReadKey(); CLU.PacMove(Key); if (Console.KeyAvailable) { Key = Console.ReadKey(); isKeyPressed = true; } else { isKeyPressed = false; } CLU.PacMove(Key, isKeyPressed); CLU.PacManCiz(); // //Green Ghost // Enemy.tX = Enemy.X; Enemy.tY = Enemy.Y; Enemy.X = AdımX; Enemy.Y = AdımY; if (((Enemy.X == CLU.X) && (Enemy.Y == CLU.Y)) || ((Enemy.tX == CLU.X) && (Enemy.tY == CLU.X)) || ((Enemy.X == CLU.tX) && (Enemy.X == CLU.tY)) || ((Enemy.tX == CLU.tX) && (Enemy.tY == CLU.tY))) { Gover.Play(); Game = false; } Enemy.Ciz(); Enemy.Move(Enemy.tX, Enemy.tY); if (flag == 0) { AdımY--; AdımX = 15; if (AdımY <= 3) { flag = 1; } } else if (flag == 1) { AdımY = 3; AdımX--; if (AdımX <= 7) { flag = 2; } } else if (flag == 2) { AdımY = 3; AdımX++; if (AdımX >= 15) { flag = 3; } } else if (flag == 3) { AdımY++; AdımX = 15; if (AdımY >= 18) { flag = 0; } } // // //Red Ghost // Jelly.tX = Jelly.X; Jelly.tY = Jelly.Y; Jelly.X = StepX; Jelly.Y = StepY; if ((Jelly.X == CLU.X) && (Jelly.Y == CLU.Y)) { Gover.Play(); Game = false; } Jelly.Ciz(); Jelly.Move(Jelly.tX, Jelly.tY); if (Bayrak == 0) { StepY++; StepX = 26; if (StepY >= 18) { Bayrak = 1; } } else if (Bayrak == 1) { StepY = 18; StepX++; if (StepX >= 34) { Bayrak = 2; } } else if (Bayrak == 2) { StepY = 18; StepX--; if (StepX <= 26) { Bayrak = 3; } } else if (Bayrak == 3) { StepY--; StepX = 26; if (StepY <= 3) { Bayrak = 0; } } // //PacMap PacMap.Map(); for (int i = 0; i < 6; i++) { Yemlik[i].YemCiz(); if (((Yemlik[i].X == CLU.X) && (Yemlik[i].Y == CLU.Y)) && (Yemlik[i].Exist == true)) { Yemlik[i].Exist = false; CLU.PacManCiz(); CLU.Score += 20; //Walk.Play(); } } // for (int i = 0; i < 22; i++) { Puan[i].YemCiz(); if (((Puan[i].X == CLU.X) && (Puan[i].Y == CLU.Y)) && (Puan[i].Exist == true)) { Puan[i].Exist = false; CLU.PacManCiz(); CLU.Score += 5; //Walk.Play(); } } // //DrawFrame DrawFrame(); //Thread.Sleep(20); CLU.PrintScore(); // //Score Limit // if (CLU.Score >= 230) { Walk.Stop(); Victory.Play(); Game = false; } Thread.Sleep(100); } if (CLU.Score < 230) { GameOver(CLU.Score); } else { GameWon(CLU.Score); } bool ReGame = Replay(); if (ReGame == true) { Main(); } else { Environment.Exit(0); } }