Map. One ghost. Menu, HUD
This commit is contained in:
parent
fa1b5c8b61
commit
391e5e25ff
102 changed files with 1964 additions and 72 deletions
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
11
Pacman/Classes/DirectionsEnum.cs
Normal file
11
Pacman/Classes/DirectionsEnum.cs
Normal file
|
@ -0,0 +1,11 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
|
||||
namespace Pacman.Classes
|
||||
{
|
||||
public enum DirectionsEnum
|
||||
{
|
||||
Up, Right, Down, Left, Stop
|
||||
}
|
||||
}
|
106
Pacman/Classes/Food.cs
Normal file
106
Pacman/Classes/Food.cs
Normal file
|
@ -0,0 +1,106 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
using Microsoft.Xna.Framework;
|
||||
using Microsoft.Xna.Framework.Content;
|
||||
using Microsoft.Xna.Framework.Graphics;
|
||||
using Microsoft.Xna.Framework.Input;
|
||||
using Microsoft.Xna.Framework.Media;
|
||||
|
||||
namespace Pacman.Classes
|
||||
{
|
||||
public class Food
|
||||
{
|
||||
public string FoodType { get; set; }
|
||||
|
||||
public Rectangle FoodRectangle { get; set; }
|
||||
public Rectangle sourceRectangle { get; set; }
|
||||
|
||||
public float Scale { get; set; }
|
||||
public Vector2 Position { get; set; }
|
||||
|
||||
public int Prize { get; set; }
|
||||
public bool isAlive { get; set; }
|
||||
|
||||
public Food(string foodType, Vector2 coordinate)
|
||||
{
|
||||
FoodType = foodType;
|
||||
Position = coordinate;
|
||||
}
|
||||
public void LoadContent()
|
||||
{
|
||||
if (FoodType == "Point")
|
||||
{
|
||||
sourceRectangle = new Rectangle(new Point(230, 2), new Point(8, 8));
|
||||
Prize = 10;
|
||||
isAlive = true;
|
||||
}
|
||||
else if (FoodType == "Energyzer")
|
||||
{
|
||||
sourceRectangle = new Rectangle(new Point(252, 0), new Point(12, 12));
|
||||
Prize = 50;
|
||||
isAlive = true;
|
||||
}
|
||||
else if (FoodType == "Fruit")
|
||||
{
|
||||
sourceRectangle = new Rectangle(new Point(26, 122), new Point(20, 20));
|
||||
Prize = 100;
|
||||
isAlive = false;
|
||||
}
|
||||
FoodRectangle = new Rectangle((int)Position.X, (int)Position.Y, 12, 12);
|
||||
|
||||
}
|
||||
|
||||
int counter = 0;
|
||||
public void Update()
|
||||
{
|
||||
if (isAlive || FoodType == "Fruit")
|
||||
{
|
||||
if (FoodType == "Fruit" && Game1.pacman.PointsEaten == 70 || Game1.pacman.PointsEaten == 170)
|
||||
{
|
||||
isAlive = true;
|
||||
}
|
||||
if (FoodRectangle.Intersects(Game1.pacman.PacmanRectangle) && isAlive)
|
||||
{
|
||||
if (FoodType == "Energyzer")
|
||||
{
|
||||
Game1.pacman.PointsEaten++;
|
||||
MediaPlayer.Play(Game1.intermissionSong);
|
||||
Game1.pacman.EnergyzerTime = 360;
|
||||
for (int i = 0; i < Game1.Ghosts.Count; i++)
|
||||
{
|
||||
Game1.Ghosts[i].AfraidTime = 360;
|
||||
}
|
||||
}
|
||||
else if (FoodType != "Fruit")
|
||||
{
|
||||
Game1.pacman.PointsEaten++;
|
||||
if (!Game1.pacman.IsEnergyzerEffectOn)
|
||||
{
|
||||
Game1.chompSound.Play();
|
||||
}
|
||||
}
|
||||
else if (FoodType == "Fruit")
|
||||
{
|
||||
Game1.fruitEatenSound.Play();
|
||||
}
|
||||
isAlive = false;
|
||||
Game1.pacman.Score += Prize;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void Draw(SpriteBatch spriteBatch)
|
||||
{
|
||||
if (isAlive)
|
||||
{
|
||||
Scale = 12 / sourceRectangle.Width;
|
||||
if (FoodType == "Fruit")
|
||||
{
|
||||
Scale = 2;
|
||||
}
|
||||
spriteBatch.Draw(Game1.spriteSheet, Position, sourceRectangle, Color.White, 0, new Vector2(12, 12), (float)Scale, SpriteEffects.None, 0);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
284
Pacman/Classes/Ghost.cs
Normal file
284
Pacman/Classes/Ghost.cs
Normal file
|
@ -0,0 +1,284 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
using Microsoft.Xna.Framework;
|
||||
using Microsoft.Xna.Framework.Content;
|
||||
using Microsoft.Xna.Framework.Graphics;
|
||||
using Microsoft.Xna.Framework.Input;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Diagnostics;
|
||||
|
||||
namespace Pacman.Classes
|
||||
{
|
||||
public class Ghost
|
||||
{
|
||||
public int CurrentDirectionTexturesNumber { get; set; }
|
||||
public int CurrentTextureNumber { get; set; }
|
||||
public float Speed = 1.5f;
|
||||
public Vector2 Position { get; set; }
|
||||
public bool IsAfraidEffectOn { get; set; }
|
||||
public int AfraidTime { get; set; }
|
||||
public int AnimationCooldawn { get; set; }
|
||||
public bool IsAlive { get; set; }
|
||||
public string Obstackles { get; set; }
|
||||
public Rectangle GhostRectangle = new Rectangle();
|
||||
public List<List<Rectangle>> CommonTextureSourceRectangles { get; set; }
|
||||
public List<Rectangle> AfraidTextureSourceRectangles { get; set; } = new List<Rectangle>();
|
||||
public List<List<Rectangle>> DeathTextureSourceRectangles { get; set; } = new List<List<Rectangle>>();
|
||||
public double Scale { get; set; }
|
||||
public string GhostName { get; set; }
|
||||
public Vector2 StartPosition { get; set; }
|
||||
public Vector2 AfraidFinishPosition { get; set; }
|
||||
public List<DirectionsEnum> Directions { get; set; }
|
||||
public DirectionsEnum CurrentDirection { get; set; }
|
||||
public PathFinder Finder { get; set; }
|
||||
|
||||
string[] file = File.ReadAllText("map.txt").Replace("\r", "").Split('\n');
|
||||
|
||||
public Ghost(string GhostName)
|
||||
{
|
||||
Finder = new PathFinder();
|
||||
this.GhostName = GhostName;
|
||||
Point size = new Point(22, 22);
|
||||
Point StartTexturePosition = new Point();
|
||||
CurrentDirectionTexturesNumber = 0;
|
||||
CurrentTextureNumber = 0;
|
||||
IsAfraidEffectOn = false;
|
||||
AfraidTime = 0;
|
||||
IsAlive = true;
|
||||
Obstackles = "┃━┏┓┗┛";
|
||||
Directions = new List<DirectionsEnum>();
|
||||
if (GhostName == "Blinky")
|
||||
{
|
||||
StartTexturePosition = new Point(0, 144);
|
||||
StartPosition = new Vector2(324, 324);
|
||||
AfraidFinishPosition = new Vector2(624, 696);
|
||||
}
|
||||
else if (GhostName == "Pinky")
|
||||
{
|
||||
StartTexturePosition = new Point(0, 192);
|
||||
StartPosition = new Vector2(276, 348);
|
||||
AfraidFinishPosition = new Vector2(48, 696);
|
||||
}
|
||||
else if (GhostName == "Inky")
|
||||
{
|
||||
StartTexturePosition = new Point(192, 192);
|
||||
StartPosition = new Vector2(372, 348);
|
||||
AfraidFinishPosition = new Vector2(624, 48);
|
||||
}
|
||||
else if (GhostName == "Clyde")
|
||||
{
|
||||
StartTexturePosition = new Point(0, 216);
|
||||
StartPosition = new Vector2(324, 348);
|
||||
AfraidFinishPosition = new Vector2(48, 48);
|
||||
}
|
||||
AfraidTextureSourceRectangles.Add(new Rectangle(new Point(192, 96), size));
|
||||
AfraidTextureSourceRectangles.Add(new Rectangle(new Point(216, 96), size));
|
||||
Position = StartPosition;
|
||||
GhostRectangle = new Rectangle(0, 0, 24, 24);
|
||||
CommonTextureSourceRectangles = new List<List<Rectangle>>();
|
||||
for (int i = 0; i < 4; i++)
|
||||
{
|
||||
CommonTextureSourceRectangles.Add(new List<Rectangle>());
|
||||
for (int j = 0; j < 2; j++)
|
||||
{
|
||||
CommonTextureSourceRectangles[i].Add(new Rectangle(new Point(StartTexturePosition.X + 24 * (i * 2 + j), StartTexturePosition.Y), size));
|
||||
}
|
||||
}
|
||||
StartTexturePosition = new Point(192, 216);
|
||||
for (int i = 0; i < 4; i++)
|
||||
{
|
||||
DeathTextureSourceRectangles.Add(new List<Rectangle>());
|
||||
for (int j = 0; j < 2; j++)
|
||||
{
|
||||
DeathTextureSourceRectangles[i].Add(new Rectangle(new Point(StartTexturePosition.X + 24 * (i * 2 + j), StartTexturePosition.Y), size));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void Update()
|
||||
{
|
||||
if ((Directions.Count == 0 || CurrentDirection == DirectionsEnum.Stop))
|
||||
{
|
||||
if (IsAlive && !IsAfraidEffectOn && GhostName == "Blinky")
|
||||
{
|
||||
Vector2 PersonalPosition = GetPersonalTargetPosition();
|
||||
Directions = Finder.FindWave((int)Position.X / 24, (int)Position.Y / 24, (int)PersonalPosition.X / 24, (int)PersonalPosition.Y / 24);
|
||||
}
|
||||
else if (!IsAlive)
|
||||
{
|
||||
Directions = Finder.FindWave((int)Position.X / 24, (int)Position.Y / 24, (int)StartPosition.X / 24, (int)StartPosition.Y / 24);
|
||||
}
|
||||
else if (IsAfraidEffectOn)
|
||||
{
|
||||
Directions = Finder.FindWave((int)Position.X/24, (int)Position.Y/24, (int)AfraidFinishPosition.X/24, (int)AfraidFinishPosition.Y/24);
|
||||
}
|
||||
}
|
||||
if ((Position.Y - 12) % 24 == 0 && (Position.X - 12) % 24 == 0 && Directions.Count != 0)
|
||||
{
|
||||
if (Directions[0] == DirectionsEnum.Up && !Obstackles.Contains(file[(int)(Position.Y / 24 - 1)][(int)Position.X / 24]))
|
||||
{
|
||||
CurrentDirection = DirectionsEnum.Up;
|
||||
CurrentDirectionTexturesNumber = 3;
|
||||
Directions.Remove(Directions[0]);
|
||||
}
|
||||
else if (Directions[0] == DirectionsEnum.Right && !Obstackles.Contains(file[(int)Position.Y / 24][(int)(Position.X / 24 + 1)]))
|
||||
{
|
||||
CurrentDirection = DirectionsEnum.Right;
|
||||
CurrentDirectionTexturesNumber = 0;
|
||||
Directions.Remove(Directions[0]);
|
||||
}
|
||||
else if (Directions[0] == DirectionsEnum.Down && !Obstackles.Contains(file[(int)(Position.Y / 24 + 1)][(int)Position.X / 24]))
|
||||
{
|
||||
CurrentDirection = DirectionsEnum.Down;
|
||||
CurrentDirectionTexturesNumber = 1;
|
||||
Directions.Remove(Directions[0]);
|
||||
}
|
||||
else if (Directions[0] == DirectionsEnum.Left && !Obstackles.Contains(file[(int)Position.Y / 24][(int)(Position.X / 24 - 1)]))
|
||||
{
|
||||
CurrentDirection = DirectionsEnum.Left;
|
||||
CurrentDirectionTexturesNumber = 2;
|
||||
Directions.Remove(Directions[0]);
|
||||
}
|
||||
else if (Directions[0] == DirectionsEnum.Stop)
|
||||
{
|
||||
CurrentDirection = DirectionsEnum.Stop;
|
||||
Directions.Remove(Directions[0]);
|
||||
}
|
||||
}
|
||||
if (CurrentDirection == DirectionsEnum.Up && !Obstackles.Contains(file[(int)(Position.Y / 24 - 0.5)][(int)Position.X / 24]))
|
||||
{
|
||||
Position = new Vector2(Position.X, Position.Y - Speed);
|
||||
}
|
||||
else if (CurrentDirection == DirectionsEnum.Right && !Obstackles.Contains(file[(int)Position.Y / 24][(int)(Position.X / 24 + 0.5)]))
|
||||
{
|
||||
Position = new Vector2(Position.X + Speed, Position.Y);
|
||||
}
|
||||
else if (CurrentDirection == DirectionsEnum.Down && !Obstackles.Contains(file[(int)(Position.Y / 24 + 0.5)][(int)Position.X / 24]))
|
||||
{
|
||||
Position = new Vector2(Position.X, Position.Y + Speed);
|
||||
}
|
||||
else if (CurrentDirection == DirectionsEnum.Left && !Obstackles.Contains(file[(int)Position.Y / 24][(int)(Position.X / 24 - 0.5)]))
|
||||
{
|
||||
Position = new Vector2(Position.X - Speed, Position.Y);
|
||||
}
|
||||
if (CurrentDirection == DirectionsEnum.Up && Obstackles.Contains(file[(int)(Position.Y / 24 - 0.5)][(int)Position.X / 24]))
|
||||
{
|
||||
Position = new Vector2(Position.X, ((int)(Position.Y / 24)) * 24 + 12);
|
||||
CurrentDirection = DirectionsEnum.Stop;
|
||||
}
|
||||
else if (CurrentDirection == DirectionsEnum.Right && Obstackles.Contains(file[(int)Position.Y / 24][(int)(Position.X / 24 + 0.5)]))
|
||||
{
|
||||
Position = new Vector2(((int)(Position.X / 24)) * 24 + 12, Position.Y);
|
||||
CurrentDirection = DirectionsEnum.Stop;
|
||||
}
|
||||
else if (CurrentDirection == DirectionsEnum.Down && Obstackles.Contains(file[(int)(Position.Y / 24 + 0.5)][(int)Position.X / 24]))
|
||||
{
|
||||
Position = new Vector2(Position.X, ((int)(Position.Y / 24)) * 24 + 12);
|
||||
CurrentDirection = DirectionsEnum.Stop;
|
||||
}
|
||||
else if (CurrentDirection == DirectionsEnum.Left && Obstackles.Contains(file[(int)Position.Y / 24][(int)(Position.X / 24 - 0.5)]))
|
||||
{
|
||||
Position = new Vector2(((int)(Position.X / 24)) * 24 + 12, Position.Y);
|
||||
CurrentDirection = DirectionsEnum.Stop;
|
||||
}
|
||||
if (CurrentDirection == DirectionsEnum.Left && file[(int)Position.Y / 24][(int)Position.X / 24] == '1')
|
||||
{
|
||||
Position = new Vector2(648, 348);
|
||||
}
|
||||
else if (CurrentDirection == DirectionsEnum.Right && file[(int)Position.Y / 24][(int)Position.X / 24] == '2')
|
||||
{
|
||||
Position = new Vector2(24, 348);
|
||||
}
|
||||
GhostRectangle.X = (int)Position.X;
|
||||
GhostRectangle.Y = (int)Position.Y;
|
||||
if (Position.X/24 == StartPosition.X/24 && Position.Y/24 == StartPosition.Y/24 && !IsAlive)
|
||||
{
|
||||
IsAlive = true;
|
||||
Speed /= 4;
|
||||
}
|
||||
if (AfraidTime == 0 && IsAfraidEffectOn)
|
||||
{
|
||||
IsAfraidEffectOn = false;
|
||||
Directions.Clear();
|
||||
}
|
||||
else if (AfraidTime != 0 && !IsAfraidEffectOn)
|
||||
{
|
||||
IsAfraidEffectOn = true;
|
||||
Directions.Clear();
|
||||
}
|
||||
if (AfraidTime != 0)
|
||||
{
|
||||
AfraidTime--;
|
||||
}
|
||||
if (AnimationCooldawn == 6)
|
||||
{
|
||||
CurrentTextureNumber++;
|
||||
AnimationCooldawn = 0;
|
||||
}
|
||||
AnimationCooldawn++;
|
||||
if (CurrentTextureNumber > 1)
|
||||
{
|
||||
CurrentTextureNumber = 0;
|
||||
}
|
||||
if (GhostRectangle.Intersects(Game1.pacman.PacmanRectangle) && !IsAfraidEffectOn && IsAlive)
|
||||
{
|
||||
// Pacman died
|
||||
if (Game1.pacman.ExtraLives > 0)
|
||||
{
|
||||
Game1.deathSong.Play();
|
||||
Game1.RestartGame(false);
|
||||
}
|
||||
else
|
||||
{
|
||||
Game1.UpdateHighScore(Game1.pacman.highScore);
|
||||
Game1.gameState = GameState.GameOver;
|
||||
Game1.deathSong.Play();
|
||||
}
|
||||
}
|
||||
else if (GhostRectangle.Intersects(Game1.pacman.PacmanRectangle) && IsAfraidEffectOn && IsAlive)
|
||||
{
|
||||
Speed *= 4;
|
||||
Debug.WriteLine(200 * Game1.pacman.ghostsEaten);
|
||||
Game1.pacman.highScore += 200 * Game1.pacman.ghostsEaten;
|
||||
Game1.pacman.ghostsEaten++;
|
||||
Game1.ghostDiedSound.Play();
|
||||
Directions.Clear();
|
||||
IsAlive = false;
|
||||
}
|
||||
}
|
||||
|
||||
public void Draw(SpriteBatch spriteBatch)
|
||||
{
|
||||
Scale = 24 / 22;
|
||||
Rectangle CurrentSourceRectangle = new Rectangle();
|
||||
if (!IsAfraidEffectOn && IsAlive)
|
||||
{
|
||||
CurrentSourceRectangle = CommonTextureSourceRectangles[CurrentDirectionTexturesNumber][CurrentTextureNumber];
|
||||
}
|
||||
else if (!IsAlive)
|
||||
{
|
||||
CurrentSourceRectangle = DeathTextureSourceRectangles[CurrentDirectionTexturesNumber][CurrentTextureNumber];
|
||||
}
|
||||
else if (IsAfraidEffectOn)
|
||||
{
|
||||
CurrentSourceRectangle = AfraidTextureSourceRectangles[CurrentTextureNumber];
|
||||
}
|
||||
spriteBatch.Draw(Game1.spriteSheet, Position, CurrentSourceRectangle, Color.White, 0, new Vector2(11, 11), (float)Scale, SpriteEffects.None, 0);
|
||||
}
|
||||
|
||||
public Vector2 GetPersonalTargetPosition()
|
||||
{
|
||||
if (GhostName == "Blinky")
|
||||
{
|
||||
return Game1.pacman.Position;
|
||||
}
|
||||
else if (GhostName == "Pinky")
|
||||
{
|
||||
|
||||
}
|
||||
return new Vector2();
|
||||
}
|
||||
}
|
||||
}
|
|
@ -9,46 +9,11 @@ using System.Linq;
|
|||
|
||||
namespace Pacman.Classes
|
||||
{
|
||||
public class Map
|
||||
public static class Map
|
||||
{
|
||||
private static Texture2D texture;
|
||||
public static string[,] map;
|
||||
|
||||
private string[,] map;
|
||||
private int[,] dirs = { { -1, 0 }, { 0, -1 }, { 1, 0 }, { 0, 1 } };
|
||||
|
||||
private void ScanMap()
|
||||
{
|
||||
Queue<int[]> toVisit = new Queue<int[]>();
|
||||
List<int[]> visited = new List<int[]>();
|
||||
|
||||
|
||||
}
|
||||
|
||||
/*private Tuple<string, int[,]> GetCellType(int[] cords)
|
||||
{
|
||||
bool[] walls = new bool[4];
|
||||
for (int i = 0; i < dirs.GetLength(0); i++)
|
||||
{
|
||||
if (map[cords[0] + dirs[i, 0],
|
||||
cords[1] + dirs[i, 1]]
|
||||
== "#")
|
||||
{
|
||||
walls[i] = true;
|
||||
}
|
||||
}
|
||||
|
||||
if (walls[0] == walls[2] && walls[0] == true)
|
||||
{
|
||||
}
|
||||
}*/
|
||||
|
||||
|
||||
public static void LoadContent(ContentManager Content)
|
||||
{
|
||||
texture = Content.Load<Texture2D>("sprites");
|
||||
}
|
||||
|
||||
public void LoadMap()
|
||||
public static void LoadMap()
|
||||
{
|
||||
string file = File.ReadAllText("map.txt").Replace("\r", "");
|
||||
string[] rows = file.Split('\n');
|
||||
|
@ -59,11 +24,23 @@ namespace Pacman.Classes
|
|||
for (int j = 0; j < rows[i].Length; j++)
|
||||
{
|
||||
map[i, j] = rows[i][j].ToString();
|
||||
if (map[i,j] == ".")
|
||||
{
|
||||
Game1.Foods.Add(new Food("Point", new Vector2(24 * j + 12, 24 * i + 12)));
|
||||
}
|
||||
else if(map[i, j] == "O")
|
||||
{
|
||||
Game1.Foods.Add(new Food("Energyzer", new Vector2(24 * j + 12, 24 * i + 12)));
|
||||
}
|
||||
else if (map[i, j] == "C")
|
||||
{
|
||||
Game1.Foods.Add(new Food("Fruit", new Vector2(24 * j + 12, 24 * i + 12)));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void Draw(SpriteBatch spriteBatch)
|
||||
public static void Draw(SpriteBatch spriteBatch)
|
||||
{
|
||||
for (int i = 0; i < map.GetLength(0); i++)
|
||||
{
|
||||
|
@ -74,6 +51,7 @@ namespace Pacman.Classes
|
|||
|
||||
switch (map[i, j])
|
||||
{
|
||||
|
||||
case "┃":
|
||||
pos = new Point(36, 96);
|
||||
size = new Point(12, 24);
|
||||
|
@ -98,10 +76,6 @@ namespace Pacman.Classes
|
|||
pos = new Point(84, 113);
|
||||
size = new Point(16, 7);
|
||||
break;
|
||||
case "C":
|
||||
pos = new Point(84, 113);
|
||||
size = new Point(16, 7);
|
||||
break;
|
||||
default:
|
||||
pos = new Point(0, 0);
|
||||
size = new Point(0, 0);
|
||||
|
@ -111,13 +85,10 @@ namespace Pacman.Classes
|
|||
// Это костыль pro max для нормальной карты, не использовать!!!!!!!
|
||||
Rectangle sourceRect = new Rectangle(pos, size);
|
||||
Rectangle destinationRect = new Rectangle(new Point(j * 24, i * 24), size);
|
||||
spriteBatch.Draw(texture,
|
||||
spriteBatch.Draw(Game1.spriteSheet,
|
||||
destinationRect,
|
||||
sourceRect,
|
||||
Color.White);
|
||||
|
||||
// Это ректэнгл объекта для колизии
|
||||
Rectangle boundingBox = new Rectangle(new Point(j * 24, i * 24), new Point(24, 24));
|
||||
|
||||
}
|
||||
}
|
||||
|
|
204
Pacman/Classes/Pacman.cs
Normal file
204
Pacman/Classes/Pacman.cs
Normal file
|
@ -0,0 +1,204 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Reflection.Metadata;
|
||||
using System.Text;
|
||||
using Microsoft.Xna.Framework;
|
||||
using Microsoft.Xna.Framework.Content;
|
||||
using Microsoft.Xna.Framework.Graphics;
|
||||
using Microsoft.Xna.Framework.Input;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using Microsoft.Xna.Framework.Media;
|
||||
|
||||
namespace Pacman
|
||||
{
|
||||
public class Pacman
|
||||
{
|
||||
public Rectangle PacmanRectangle = new Rectangle();
|
||||
|
||||
public int CurrentTextureNumber;
|
||||
public int PointsEaten;
|
||||
public int Score;
|
||||
public float Rotation;
|
||||
public string Direction;
|
||||
public float Speed;
|
||||
public Vector2 Position;
|
||||
public bool IsEnergyzerEffectOn;
|
||||
public int EnergyzerTime;
|
||||
public int ExtraLives;
|
||||
public int AnimationCooldawn;
|
||||
public string Obstackles;
|
||||
public Rectangle sourceRectangle;
|
||||
public Keys PressedKey;
|
||||
public double Scale;
|
||||
public int Level = 0;
|
||||
public int highScore;
|
||||
public int ghostsEaten = 1;
|
||||
|
||||
string[] file = File.ReadAllText("map.txt").Replace("\r", "").Split('\n');
|
||||
|
||||
|
||||
public Pacman()
|
||||
{
|
||||
PointsEaten = 0;
|
||||
Score = 0;
|
||||
Speed = 1.5f;
|
||||
Rotation = 0;
|
||||
ExtraLives = 4;
|
||||
Position = new Vector2(324, 564);
|
||||
CurrentTextureNumber = 0;
|
||||
EnergyzerTime = 0;
|
||||
Obstackles = "┃━┏┓┗┛";
|
||||
IsEnergyzerEffectOn = false;
|
||||
PacmanRectangle = new Rectangle(0, 0, (int)(24), (int)(24));
|
||||
}
|
||||
|
||||
public void Update()
|
||||
{
|
||||
KeyboardState state = Keyboard.GetState();
|
||||
if ((PressedKey == Keys.None || Direction == null) && state.GetPressedKeyCount() != 0)
|
||||
{
|
||||
PressedKey = state.GetPressedKeys()[0];
|
||||
}
|
||||
if ((Position.Y - 12) % 24 == 0 && (Position.X - 12) % 24 == 0)
|
||||
{
|
||||
if (PressedKey == Keys.W && !Obstackles.Contains(file[(int)(Position.Y / 24 - 1)][(int)Position.X / 24]))
|
||||
{
|
||||
Rotation = 0;
|
||||
PressedKey = Keys.None;
|
||||
if (Direction != "Up")
|
||||
{
|
||||
Direction = "Up";
|
||||
}
|
||||
}
|
||||
else if (PressedKey == Keys.D && !Obstackles.Contains(file[(int)Position.Y / 24][(int)(Position.X / 24 + 1)]))
|
||||
{
|
||||
Rotation = (float)(0.5 * Math.PI);
|
||||
PressedKey = Keys.None;
|
||||
if (Direction != "Right")
|
||||
{
|
||||
Direction = "Right";
|
||||
}
|
||||
}
|
||||
else if (PressedKey == Keys.S && !Obstackles.Contains(file[(int)(Position.Y / 24 + 1)][(int)Position.X / 24]))
|
||||
{
|
||||
Rotation = (float)(Math.PI);
|
||||
PressedKey = Keys.None;
|
||||
if (Direction != "Down")
|
||||
{
|
||||
Direction = "Down";
|
||||
}
|
||||
}
|
||||
else if (PressedKey == Keys.A && !Obstackles.Contains(file[(int)Position.Y / 24][(int)(Position.X / 24 - 1)]))
|
||||
{
|
||||
Rotation = (float)(1.5 * Math.PI);
|
||||
PressedKey = Keys.None;
|
||||
if (Direction != "Left")
|
||||
{
|
||||
Direction = "Left";
|
||||
}
|
||||
}
|
||||
}
|
||||
if (Direction == "Up" && !Obstackles.Contains(file[(int)(Position.Y / 24 - 0.5)][(int)Position.X / 24]))
|
||||
{
|
||||
Position = new Vector2(Position.X, Position.Y - Speed);
|
||||
}
|
||||
else if (Direction == "Right" && !Obstackles.Contains(file[(int)Position.Y / 24][(int)(Position.X / 24 + 0.5)]))
|
||||
{
|
||||
Position = new Vector2(Position.X + Speed, Position.Y);
|
||||
}
|
||||
else if (Direction == "Down" && !Obstackles.Contains(file[(int)(Position.Y / 24 + 0.5)][(int)Position.X / 24]))
|
||||
{
|
||||
Position = new Vector2(Position.X, Position.Y + Speed);
|
||||
}
|
||||
else if (Direction == "Left" && !Obstackles.Contains(file[(int)Position.Y / 24][(int)(Position.X / 24 - 0.5)]))
|
||||
{
|
||||
Position = new Vector2(Position.X - Speed, Position.Y);
|
||||
}
|
||||
if (Direction == "Up" && Obstackles.Contains(file[(int)(Position.Y / 24 - 0.5)][(int)Position.X / 24]))
|
||||
{
|
||||
Position = new Vector2(Position.X, ((int)(Position.Y / 24)) * 24 + 12);
|
||||
Direction = null;
|
||||
}
|
||||
else if (Direction == "Right" && Obstackles.Contains(file[(int)Position.Y / 24][(int)(Position.X / 24 + 0.5)]))
|
||||
{
|
||||
Position = new Vector2(((int)(Position.X / 24)) * 24 + 12, Position.Y);
|
||||
Direction = null;
|
||||
}
|
||||
else if (Direction == "Down" && Obstackles.Contains(file[(int)(Position.Y / 24 + 0.5)][(int)Position.X / 24]))
|
||||
{
|
||||
Position = new Vector2(Position.X, ((int)(Position.Y / 24)) * 24 + 12);
|
||||
Direction = null;
|
||||
}
|
||||
else if (Direction == "Left" && Obstackles.Contains(file[(int)Position.Y / 24][(int)(Position.X / 24 - 0.5)]))
|
||||
{
|
||||
Position = new Vector2(((int)(Position.X / 24)) * 24 + 12, Position.Y);
|
||||
Direction = null;
|
||||
}
|
||||
if (Direction == "Left" && file[(int)Position.Y / 24][(int)Position.X / 24] == '1')
|
||||
{
|
||||
Position = new Vector2(648, 348);
|
||||
}
|
||||
else if (Direction == "Right" && file[(int)Position.Y / 24][(int)Position.X / 24] == '2')
|
||||
{
|
||||
Position = new Vector2(24, 348);
|
||||
}
|
||||
PacmanRectangle.X = (int)Position.X;
|
||||
PacmanRectangle.Y = (int)Position.Y;
|
||||
AnimationCooldawn++;
|
||||
if (AnimationCooldawn == 4)
|
||||
{
|
||||
CurrentTextureNumber++;
|
||||
AnimationCooldawn = 0;
|
||||
}
|
||||
if (CurrentTextureNumber > 2)
|
||||
{
|
||||
CurrentTextureNumber = 0;
|
||||
}
|
||||
if (EnergyzerTime == 0 && IsEnergyzerEffectOn)
|
||||
{
|
||||
ghostsEaten = default;
|
||||
IsEnergyzerEffectOn = false;
|
||||
MediaPlayer.Stop();
|
||||
Speed /= 2;
|
||||
}
|
||||
else if (EnergyzerTime != 0 && !IsEnergyzerEffectOn)
|
||||
{
|
||||
IsEnergyzerEffectOn = true;
|
||||
Speed *= 2;
|
||||
}
|
||||
if (EnergyzerTime != 0)
|
||||
{
|
||||
EnergyzerTime--;
|
||||
}
|
||||
// Pacman completed the level
|
||||
if (PointsEaten >= Game1.Foods.Count - 1)
|
||||
{
|
||||
Game1.RestartGame(true);
|
||||
}
|
||||
|
||||
if (Score > highScore)
|
||||
{
|
||||
highScore = Score;
|
||||
}
|
||||
}
|
||||
|
||||
public void Draw(SpriteBatch spriteBatch)
|
||||
{
|
||||
if (CurrentTextureNumber == 0)
|
||||
{
|
||||
sourceRectangle = new Rectangle(new Point(2, 168), new Point(22, 22));
|
||||
}
|
||||
else if (CurrentTextureNumber == 1)
|
||||
{
|
||||
sourceRectangle = new Rectangle(new Point(74, 72), new Point(22, 22));
|
||||
}
|
||||
else if(CurrentTextureNumber == 2)
|
||||
{
|
||||
sourceRectangle = new Rectangle(new Point(26, 72), new Point(22, 22));
|
||||
}
|
||||
Scale = 24 / sourceRectangle.Width;
|
||||
spriteBatch.Draw(Game1.spriteSheet, Position, sourceRectangle, Color.White, Rotation, new Vector2(12, 12), (float)Scale, SpriteEffects.None, 0);
|
||||
}
|
||||
}
|
||||
}
|
113
Pacman/Classes/PathFinder.cs
Normal file
113
Pacman/Classes/PathFinder.cs
Normal file
|
@ -0,0 +1,113 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
using System.Diagnostics;
|
||||
|
||||
namespace Pacman.Classes
|
||||
{
|
||||
public class PathFinder
|
||||
{
|
||||
private static int[,] Map { get; set; }
|
||||
private static List<string> walls = new List<string>()
|
||||
{
|
||||
"┃", "━", "┏", "┓", "┗", "┛"
|
||||
};
|
||||
private static int mapWidth;
|
||||
private static int mapHeight;
|
||||
|
||||
public PathFinder()
|
||||
{
|
||||
mapHeight = Map.GetLength(0);
|
||||
mapWidth = Map.GetLength(1);
|
||||
}
|
||||
|
||||
public static void ConvertMap(string[,] map)
|
||||
{
|
||||
int[,] res = new int[map.GetLength(0), map.GetLength(1)];
|
||||
for (int i = 0; i < map.GetLength(0); i++)
|
||||
{
|
||||
for (int j = 0; j < map.GetLength(1); j++)
|
||||
{
|
||||
if (!walls.Contains(map[i, j]))
|
||||
{
|
||||
res[i, j] = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
res[i, j] = 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
Map = res;
|
||||
}
|
||||
|
||||
public List<DirectionsEnum> FindWave(int startX, int startY, int targetX, int targetY)
|
||||
{
|
||||
bool add = true;
|
||||
int[,] cMap = new int[mapHeight, mapWidth];
|
||||
int x, y, step = 0;
|
||||
for (y = 0; y < mapHeight; y++)
|
||||
for (x = 0; x < mapWidth; x++)
|
||||
{
|
||||
if (Map[y, x] == 1)
|
||||
cMap[y, x] = -2;
|
||||
else
|
||||
cMap[y, x] = -1;
|
||||
}
|
||||
cMap[targetY, targetX] = 0;
|
||||
while (add == true)
|
||||
{
|
||||
add = false;
|
||||
for (y = 0; y < mapWidth - 1; y++)
|
||||
for (x = 0; x < mapHeight; x++)
|
||||
{
|
||||
if (cMap[x, y] == step)
|
||||
{
|
||||
if (x - 1 >= 0 && cMap[x - 1, y] != -2 && cMap[x - 1, y] == -1)
|
||||
cMap[x - 1, y] = step + 1;
|
||||
if (y - 1 >= 0 && cMap[x, y - 1] != -2 && cMap[x, y - 1] == -1)
|
||||
cMap[x, y - 1] = step + 1;
|
||||
if (x + 1 < mapHeight && cMap[x + 1, y] != -2 && cMap[x + 1, y] == -1)
|
||||
cMap[x + 1, y] = step + 1;
|
||||
if (y + 1 < mapHeight && cMap[x, y + 1] != -2 && cMap[x, y + 1] == -1)
|
||||
cMap[x, y + 1] = step + 1;
|
||||
}
|
||||
}
|
||||
step++;
|
||||
add = true;
|
||||
if (cMap[startY, startX] != -1)
|
||||
add = false;
|
||||
if (step > mapWidth * mapHeight)
|
||||
add = false;
|
||||
}
|
||||
// Convert cma p to list of directions
|
||||
List<DirectionsEnum> directions = new List<DirectionsEnum>();
|
||||
int curX = startX;
|
||||
int curY = startY;
|
||||
while (cMap[curY, curX] != 0)
|
||||
{
|
||||
if (curX - 1 >= 0 && cMap[curY, curX - 1] == cMap[curY, curX] - 1)
|
||||
{
|
||||
directions.Add(DirectionsEnum.Left);
|
||||
curX--;
|
||||
}
|
||||
else if (curY - 1 >= 0 && cMap[curY - 1, curX] == cMap[curY, curX] - 1)
|
||||
{
|
||||
directions.Add(DirectionsEnum.Up);
|
||||
curY--;
|
||||
}
|
||||
else if (curX + 1 < mapWidth && cMap[curY, curX + 1] == cMap[curY, curX] - 1)
|
||||
{
|
||||
directions.Add(DirectionsEnum.Right);
|
||||
curX++;
|
||||
}
|
||||
else if (curY + 1 < mapHeight && cMap[curY + 1, curX] == cMap[curY, curX] - 1)
|
||||
{
|
||||
directions.Add(DirectionsEnum.Down);
|
||||
curY++;
|
||||
}
|
||||
}
|
||||
return directions;
|
||||
}
|
||||
}
|
||||
}
|
25
Pacman/Classes/UI/Character.cs
Normal file
25
Pacman/Classes/UI/Character.cs
Normal file
|
@ -0,0 +1,25 @@
|
|||
using Microsoft.Xna.Framework;
|
||||
using Microsoft.Xna.Framework.Content;
|
||||
using Microsoft.Xna.Framework.Graphics;
|
||||
using Microsoft.Xna.Framework.Input;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
|
||||
namespace Pacman.Classes.UI
|
||||
{
|
||||
public class Character
|
||||
{
|
||||
public string description;
|
||||
public Point pos;
|
||||
public Point size;
|
||||
public Color color;
|
||||
|
||||
public Character(string description, Point pos, Point size, Color color)
|
||||
{
|
||||
this.description = description;
|
||||
this.pos = pos;
|
||||
this.size = size;
|
||||
this.color = color;
|
||||
}
|
||||
}
|
||||
}
|
88
Pacman/Classes/UI/GameOver.cs
Normal file
88
Pacman/Classes/UI/GameOver.cs
Normal file
|
@ -0,0 +1,88 @@
|
|||
using Microsoft.Xna.Framework;
|
||||
using Microsoft.Xna.Framework.Content;
|
||||
using Microsoft.Xna.Framework.Graphics;
|
||||
using Microsoft.Xna.Framework.Input;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
|
||||
namespace Pacman.Classes.UI
|
||||
{
|
||||
public class GameOver
|
||||
{
|
||||
int counter = 0;
|
||||
private KeyboardState keyboardState;
|
||||
private KeyboardState prevKeyboardState;
|
||||
private int selectedItem = 0;
|
||||
|
||||
private string[] menuElements
|
||||
= { "play again", "main menu", "quit" };
|
||||
|
||||
public void Update()
|
||||
{
|
||||
keyboardState = Keyboard.GetState();
|
||||
|
||||
// Move in the menu
|
||||
if (keyboardState.IsKeyDown(Keys.W) && selectedItem > 0 && keyboardState != prevKeyboardState)
|
||||
{
|
||||
selectedItem--;
|
||||
}
|
||||
if (keyboardState.IsKeyDown(Keys.S) && selectedItem < menuElements.Length - 1 && keyboardState != prevKeyboardState)
|
||||
{
|
||||
selectedItem++;
|
||||
}
|
||||
|
||||
// Select menu item
|
||||
if (keyboardState.IsKeyDown(Keys.Enter) && keyboardState != prevKeyboardState)
|
||||
{
|
||||
if (selectedItem == 0)
|
||||
{
|
||||
Game1.RestartGame(true);
|
||||
Game1.gameState = GameState.Game;
|
||||
Game1.pacman.Score = 0;
|
||||
Game1.pacman.ExtraLives = 4;
|
||||
}
|
||||
else if (selectedItem == 1)
|
||||
{
|
||||
Game1.gameState = GameState.Menu;
|
||||
}
|
||||
else if (selectedItem == 2)
|
||||
{
|
||||
Environment.Exit(0);
|
||||
}
|
||||
}
|
||||
prevKeyboardState = keyboardState;
|
||||
}
|
||||
|
||||
public void Draw(SpriteBatch spriteBatch)
|
||||
{
|
||||
if (counter <= 30)
|
||||
{
|
||||
Label label = new Label("GAME OVER", new Vector2(0, 150), Color.Red);
|
||||
label.HorizontalCenterGameOver((int)Game1.screenSize.X);
|
||||
|
||||
label.DrawGameOver(spriteBatch);
|
||||
}
|
||||
else if (counter >= 60)
|
||||
{
|
||||
counter = 0;
|
||||
}
|
||||
counter++;
|
||||
|
||||
for (int i = 0; i < menuElements.Length; i++)
|
||||
{
|
||||
string element = menuElements[i];
|
||||
if (selectedItem == i)
|
||||
{
|
||||
element = "> " + element + " <";
|
||||
}
|
||||
Label label = new Label(element,
|
||||
new Vector2(0, 500 + i * 35),
|
||||
Color.White);
|
||||
label.HorizontalCenter((int)Game1.screenSize.X);
|
||||
|
||||
label.Draw(spriteBatch);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
40
Pacman/Classes/UI/HUD.cs
Normal file
40
Pacman/Classes/UI/HUD.cs
Normal file
|
@ -0,0 +1,40 @@
|
|||
using Microsoft.Xna.Framework;
|
||||
using Microsoft.Xna.Framework.Graphics;
|
||||
|
||||
namespace Pacman.Classes.UI
|
||||
{
|
||||
public class HUD
|
||||
{
|
||||
private Vector2 position;
|
||||
|
||||
public HUD(Vector2 position)
|
||||
{
|
||||
this.position = position;
|
||||
}
|
||||
|
||||
public void Draw(SpriteBatch spriteBatch, int score, int lives)
|
||||
{
|
||||
Label label = new Label($"Score:{score}", position, Color.DarkRed);
|
||||
label.Draw(spriteBatch);
|
||||
|
||||
label = new Label($"Hi-score:{Game1.pacman.highScore}", position, Color.DarkRed);
|
||||
label.HorizontalRight((int)Game1.screenSize.X);
|
||||
label.Draw(spriteBatch);
|
||||
|
||||
label = new Label($"Level:{Game1.pacman.Level + 1}", position + new Vector2(0, 40), Color.White);
|
||||
label.HorizontalRight((int)Game1.screenSize.X);
|
||||
label.Draw(spriteBatch);
|
||||
|
||||
for (int i = 0; i < lives; i++)
|
||||
{
|
||||
Rectangle sourceRect = new Rectangle(new Point(288, 72), new Point(44, 46));
|
||||
Rectangle destinationRect = new Rectangle(new Point(i * 49, (int)position.Y + 50),
|
||||
new Point(48, 48));
|
||||
spriteBatch.Draw(Game1.spriteSheet,
|
||||
destinationRect,
|
||||
sourceRect,
|
||||
Color.White);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
73
Pacman/Classes/UI/Label.cs
Normal file
73
Pacman/Classes/UI/Label.cs
Normal file
|
@ -0,0 +1,73 @@
|
|||
using Microsoft.Xna.Framework;
|
||||
using Microsoft.Xna.Framework.Content;
|
||||
using Microsoft.Xna.Framework.Graphics;
|
||||
using Microsoft.Xna.Framework.Input;
|
||||
|
||||
namespace Pacman.Classes.UI
|
||||
{
|
||||
class Label
|
||||
{
|
||||
public static SpriteFont spriteFont;
|
||||
public static SpriteFont gameOverFont;
|
||||
private Color color_default;
|
||||
public Vector2 Position { get; set; }
|
||||
public string Text { get; set; }
|
||||
public Color Color { get; set; }
|
||||
public static string fontName = "gameFont";
|
||||
|
||||
public string FontName { set { fontName = value; } }
|
||||
|
||||
public Label()
|
||||
{
|
||||
Position = new Vector2(100, 100);
|
||||
Text = "Label";
|
||||
Color = Color.White;
|
||||
color_default = Color;
|
||||
}
|
||||
|
||||
public Label(string Text, Vector2 Position, Color Color)
|
||||
{
|
||||
this.Text = Text;
|
||||
this.Position = Position;
|
||||
this.Color = Color;
|
||||
color_default = Color;
|
||||
}
|
||||
|
||||
|
||||
public void HorizontalCenter(int screenWidth)
|
||||
{
|
||||
Position = new Vector2(screenWidth / 2 - spriteFont.MeasureString(Text).X / 2, Position.Y);
|
||||
}
|
||||
|
||||
public void HorizontalCenterGameOver(int screenWidth)
|
||||
{
|
||||
Position = new Vector2(screenWidth / 2 - gameOverFont.MeasureString(Text).X / 2, Position.Y);
|
||||
}
|
||||
|
||||
public void HorizontalRight(int screenWidth)
|
||||
{
|
||||
Position = new Vector2(screenWidth - spriteFont.MeasureString(Text).X, Position.Y);
|
||||
}
|
||||
|
||||
public void ResetColor()
|
||||
{
|
||||
Color = color_default;
|
||||
}
|
||||
|
||||
public static void LoadContent(ContentManager Content)
|
||||
{
|
||||
spriteFont = Content.Load<SpriteFont>(fontName);
|
||||
gameOverFont = Content.Load<SpriteFont>("gameOverFont");
|
||||
}
|
||||
|
||||
public void Draw(SpriteBatch spriteBatch)
|
||||
{
|
||||
spriteBatch.DrawString(spriteFont, Text, Position, Color);
|
||||
}
|
||||
|
||||
public void DrawGameOver(SpriteBatch spriteBatch)
|
||||
{
|
||||
spriteBatch.DrawString(gameOverFont, Text, Position, Color);
|
||||
}
|
||||
}
|
||||
}
|
120
Pacman/Classes/UI/Menu.cs
Normal file
120
Pacman/Classes/UI/Menu.cs
Normal file
|
@ -0,0 +1,120 @@
|
|||
using Microsoft.Xna.Framework;
|
||||
using Microsoft.Xna.Framework.Content;
|
||||
using Microsoft.Xna.Framework.Graphics;
|
||||
using Microsoft.Xna.Framework.Input;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Diagnostics;
|
||||
using System;
|
||||
using Microsoft.Xna.Framework.Media;
|
||||
|
||||
namespace Pacman.Classes.UI
|
||||
{
|
||||
public class Menu
|
||||
{
|
||||
private Texture2D logo;
|
||||
private KeyboardState keyboardState;
|
||||
private KeyboardState prevKeyboardState;
|
||||
|
||||
private static List<Character> characters = new List<Character>()
|
||||
{
|
||||
new Character("- shadow \"blinky\"", new Point(0, 144), new Point(22, 22), Color.Red),
|
||||
new Character("- speedy \"pinky\"", new Point(0, 192), new Point(22, 22), Color.Pink),
|
||||
new Character("- bashfull \"inky\"", new Point(192, 192), new Point(22, 22), Color.Cyan),
|
||||
new Character("- pokey \"clyde\"", new Point(0, 216), new Point(22, 22), Color.Orange)
|
||||
};
|
||||
|
||||
private static string[] menuElements
|
||||
= { "play", "how to play", "quit" };
|
||||
|
||||
private int selectedItem = 0;
|
||||
|
||||
public void LoadContent(ContentManager content)
|
||||
{
|
||||
logo = content.Load<Texture2D>("logo");
|
||||
}
|
||||
|
||||
public void Update()
|
||||
{
|
||||
keyboardState = Keyboard.GetState();
|
||||
|
||||
// Move in the menu
|
||||
if (keyboardState.IsKeyDown(Keys.W) && selectedItem > 0 && keyboardState != prevKeyboardState)
|
||||
{
|
||||
selectedItem--;
|
||||
}
|
||||
if (keyboardState.IsKeyDown(Keys.S) && selectedItem < menuElements.Length - 1 && keyboardState != prevKeyboardState)
|
||||
{
|
||||
selectedItem++;
|
||||
}
|
||||
|
||||
// Select menu item
|
||||
if (keyboardState.IsKeyDown(Keys.Enter) && keyboardState != prevKeyboardState)
|
||||
{
|
||||
if (selectedItem == 0)
|
||||
{
|
||||
Game1.gameState = GameState.Game;
|
||||
Game1.RestartGame(true);
|
||||
Game1.pacman.Score = 0;
|
||||
Game1.pacman.ExtraLives = 4;
|
||||
MediaPlayer.Stop();
|
||||
}
|
||||
else if (selectedItem == 1)
|
||||
{
|
||||
// How to play
|
||||
}
|
||||
else if (selectedItem == 2)
|
||||
{
|
||||
Environment.Exit(0);
|
||||
}
|
||||
}
|
||||
prevKeyboardState = keyboardState;
|
||||
}
|
||||
|
||||
public void Draw(SpriteBatch spriteBatch)
|
||||
{
|
||||
Label label = new Label($"Hi-score:{Game1.pacman.highScore}",
|
||||
new Vector2(50, 20),
|
||||
Color.DarkRed);
|
||||
|
||||
label.Draw(spriteBatch);
|
||||
|
||||
Rectangle desinationRect = new Rectangle(
|
||||
new Point((int)Game1.screenSize.X / 2 - 200, 100),
|
||||
new Point(400, 140));
|
||||
spriteBatch.Draw(logo,
|
||||
desinationRect,
|
||||
Color.White);
|
||||
|
||||
for (int i = 0; i < characters.Count; i++)
|
||||
{
|
||||
Character character = characters[i];
|
||||
Rectangle sorceRect = new Rectangle(character.pos, character.size);
|
||||
spriteBatch.Draw(Game1.spriteSheet,
|
||||
new Vector2(60, 270 + i * character.size.Y * 1.3f),
|
||||
sorceRect,
|
||||
Color.White);
|
||||
|
||||
label = new Label(character.description,
|
||||
new Vector2(75 + character.size.X, 270 + i * character.size.Y * 1.3f),
|
||||
character.color);
|
||||
label.Draw(spriteBatch);
|
||||
}
|
||||
|
||||
for (int i = 0; i < menuElements.Length; i++)
|
||||
{
|
||||
string element = menuElements[i];
|
||||
if (selectedItem == i)
|
||||
{
|
||||
element = "> " + element + " <";
|
||||
}
|
||||
label = new Label(element,
|
||||
new Vector2(0, 500 + i * 35),
|
||||
Color.White);
|
||||
label.HorizontalCenter((int)Game1.screenSize.X);
|
||||
|
||||
label.Draw(spriteBatch);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -13,6 +13,68 @@
|
|||
|
||||
#---------------------------------- Content ---------------------------------#
|
||||
|
||||
#begin chompSound.wav
|
||||
/importer:WavImporter
|
||||
/processor:SoundEffectProcessor
|
||||
/processorParam:Quality=Best
|
||||
/build:chompSound.wav
|
||||
|
||||
#begin deathSound.wav
|
||||
/importer:WavImporter
|
||||
/processor:SoundEffectProcessor
|
||||
/processorParam:Quality=Best
|
||||
/build:deathSound.wav
|
||||
|
||||
#begin fruitEaten.mp3
|
||||
/importer:Mp3Importer
|
||||
/processor:SoundEffectProcessor
|
||||
/processorParam:Quality=Best
|
||||
/build:fruitEaten.mp3
|
||||
|
||||
#begin gameFont.spritefont
|
||||
/importer:FontDescriptionImporter
|
||||
/processor:FontDescriptionProcessor
|
||||
/processorParam:PremultiplyAlpha=True
|
||||
/processorParam:TextureFormat=Compressed
|
||||
/build:gameFont.spritefont
|
||||
|
||||
#begin gameOverFont.spritefont
|
||||
/importer:FontDescriptionImporter
|
||||
/processor:FontDescriptionProcessor
|
||||
/processorParam:PremultiplyAlpha=True
|
||||
/processorParam:TextureFormat=Compressed
|
||||
/build:gameOverFont.spritefont
|
||||
|
||||
#begin ghostDeathSound.mp3
|
||||
/importer:Mp3Importer
|
||||
/processor:SoundEffectProcessor
|
||||
/processorParam:Quality=Best
|
||||
/build:ghostDeathSound.mp3
|
||||
|
||||
#begin intermissionSound.wav
|
||||
/importer:WavImporter
|
||||
/processor:SongProcessor
|
||||
/processorParam:Quality=Best
|
||||
/build:intermissionSound.wav
|
||||
|
||||
#begin logo.png
|
||||
/importer:TextureImporter
|
||||
/processor:TextureProcessor
|
||||
/processorParam:ColorKeyColor=255,0,255,255
|
||||
/processorParam:ColorKeyEnabled=True
|
||||
/processorParam:GenerateMipmaps=False
|
||||
/processorParam:PremultiplyAlpha=True
|
||||
/processorParam:ResizeToPowerOfTwo=False
|
||||
/processorParam:MakeSquare=False
|
||||
/processorParam:TextureFormat=Color
|
||||
/build:logo.png
|
||||
|
||||
#begin mainSong.wav
|
||||
/importer:WavImporter
|
||||
/processor:SongProcessor
|
||||
/processorParam:Quality=Best
|
||||
/build:mainSong.wav
|
||||
|
||||
#begin sprites.png
|
||||
/importer:TextureImporter
|
||||
/processor:TextureProcessor
|
||||
|
|
BIN
Pacman/Content/bin/Windows/Content/chompSound.wma
Normal file
BIN
Pacman/Content/bin/Windows/Content/chompSound.wma
Normal file
Binary file not shown.
BIN
Pacman/Content/bin/Windows/Content/chompSound.xnb
Normal file
BIN
Pacman/Content/bin/Windows/Content/chompSound.xnb
Normal file
Binary file not shown.
BIN
Pacman/Content/bin/Windows/Content/deathSound.xnb
Normal file
BIN
Pacman/Content/bin/Windows/Content/deathSound.xnb
Normal file
Binary file not shown.
BIN
Pacman/Content/bin/Windows/Content/fruitEaten.xnb
Normal file
BIN
Pacman/Content/bin/Windows/Content/fruitEaten.xnb
Normal file
Binary file not shown.
BIN
Pacman/Content/bin/Windows/Content/gameFont.xnb
Normal file
BIN
Pacman/Content/bin/Windows/Content/gameFont.xnb
Normal file
Binary file not shown.
BIN
Pacman/Content/bin/Windows/Content/gameOverFont.xnb
Normal file
BIN
Pacman/Content/bin/Windows/Content/gameOverFont.xnb
Normal file
Binary file not shown.
BIN
Pacman/Content/bin/Windows/Content/ghostDeathSound.xnb
Normal file
BIN
Pacman/Content/bin/Windows/Content/ghostDeathSound.xnb
Normal file
Binary file not shown.
BIN
Pacman/Content/bin/Windows/Content/intermissionSound.wma
Normal file
BIN
Pacman/Content/bin/Windows/Content/intermissionSound.wma
Normal file
Binary file not shown.
BIN
Pacman/Content/bin/Windows/Content/intermissionSound.xnb
Normal file
BIN
Pacman/Content/bin/Windows/Content/intermissionSound.xnb
Normal file
Binary file not shown.
BIN
Pacman/Content/bin/Windows/Content/logo.xnb
Normal file
BIN
Pacman/Content/bin/Windows/Content/logo.xnb
Normal file
Binary file not shown.
BIN
Pacman/Content/bin/Windows/Content/mainSong.wma
Normal file
BIN
Pacman/Content/bin/Windows/Content/mainSong.wma
Normal file
Binary file not shown.
BIN
Pacman/Content/bin/Windows/Content/mainSong.xnb
Normal file
BIN
Pacman/Content/bin/Windows/Content/mainSong.xnb
Normal file
Binary file not shown.
BIN
Pacman/Content/bin/Windows/chompSound.xnb
Normal file
BIN
Pacman/Content/bin/Windows/chompSound.xnb
Normal file
Binary file not shown.
BIN
Pacman/Content/bin/Windows/deathSound.xnb
Normal file
BIN
Pacman/Content/bin/Windows/deathSound.xnb
Normal file
Binary file not shown.
BIN
Pacman/Content/bin/Windows/fruitEaten.xnb
Normal file
BIN
Pacman/Content/bin/Windows/fruitEaten.xnb
Normal file
Binary file not shown.
BIN
Pacman/Content/bin/Windows/gameFont.xnb
Normal file
BIN
Pacman/Content/bin/Windows/gameFont.xnb
Normal file
Binary file not shown.
BIN
Pacman/Content/bin/Windows/gameOverFont.xnb
Normal file
BIN
Pacman/Content/bin/Windows/gameOverFont.xnb
Normal file
Binary file not shown.
BIN
Pacman/Content/bin/Windows/ghostDeathSound.xnb
Normal file
BIN
Pacman/Content/bin/Windows/ghostDeathSound.xnb
Normal file
Binary file not shown.
BIN
Pacman/Content/bin/Windows/intermissionSound.wma
Normal file
BIN
Pacman/Content/bin/Windows/intermissionSound.wma
Normal file
Binary file not shown.
BIN
Pacman/Content/bin/Windows/intermissionSound.xnb
Normal file
BIN
Pacman/Content/bin/Windows/intermissionSound.xnb
Normal file
Binary file not shown.
BIN
Pacman/Content/bin/Windows/logo.xnb
Normal file
BIN
Pacman/Content/bin/Windows/logo.xnb
Normal file
Binary file not shown.
BIN
Pacman/Content/bin/Windows/mainSong.wma
Normal file
BIN
Pacman/Content/bin/Windows/mainSong.wma
Normal file
Binary file not shown.
BIN
Pacman/Content/bin/Windows/mainSong.xnb
Normal file
BIN
Pacman/Content/bin/Windows/mainSong.xnb
Normal file
Binary file not shown.
BIN
Pacman/Content/chompSound.wav
Normal file
BIN
Pacman/Content/chompSound.wav
Normal file
Binary file not shown.
BIN
Pacman/Content/deathSound.wav
Normal file
BIN
Pacman/Content/deathSound.wav
Normal file
Binary file not shown.
BIN
Pacman/Content/fruitEaten.mp3
Normal file
BIN
Pacman/Content/fruitEaten.mp3
Normal file
Binary file not shown.
35
Pacman/Content/gameFont.fx
Normal file
35
Pacman/Content/gameFont.fx
Normal file
|
@ -0,0 +1,35 @@
|
|||
#if OPENGL
|
||||
#define SV_POSITION POSITION
|
||||
#define VS_SHADERMODEL vs_3_0
|
||||
#define PS_SHADERMODEL ps_3_0
|
||||
#else
|
||||
#define VS_SHADERMODEL vs_4_0_level_9_1
|
||||
#define PS_SHADERMODEL ps_4_0_level_9_1
|
||||
#endif
|
||||
|
||||
Texture2D SpriteTexture;
|
||||
|
||||
sampler2D SpriteTextureSampler = sampler_state
|
||||
{
|
||||
Texture = <SpriteTexture>;
|
||||
};
|
||||
|
||||
struct VertexShaderOutput
|
||||
{
|
||||
float4 Position : SV_POSITION;
|
||||
float4 Color : COLOR0;
|
||||
float2 TextureCoordinates : TEXCOORD0;
|
||||
};
|
||||
|
||||
float4 MainPS(VertexShaderOutput input) : COLOR
|
||||
{
|
||||
return tex2D(SpriteTextureSampler,input.TextureCoordinates) * input.Color;
|
||||
}
|
||||
|
||||
technique SpriteDrawing
|
||||
{
|
||||
pass P0
|
||||
{
|
||||
PixelShader = compile PS_SHADERMODEL MainPS();
|
||||
}
|
||||
};
|
60
Pacman/Content/gameFont.spritefont
Normal file
60
Pacman/Content/gameFont.spritefont
Normal file
|
@ -0,0 +1,60 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
This file contains an xml description of a font, and will be read by the XNA
|
||||
Framework Content Pipeline. Follow the comments to customize the appearance
|
||||
of the font in your game, and to change the characters which are available to draw
|
||||
with.
|
||||
-->
|
||||
<XnaContent xmlns:Graphics="Microsoft.Xna.Framework.Content.Pipeline.Graphics">
|
||||
<Asset Type="Graphics:FontDescription">
|
||||
|
||||
<!--
|
||||
Modify this string to change the font that will be imported.
|
||||
-->
|
||||
<FontName>Emulogic</FontName>
|
||||
|
||||
<!--
|
||||
Size is a float value, measured in points. Modify this value to change
|
||||
the size of the font.
|
||||
-->
|
||||
<Size>16</Size>
|
||||
|
||||
<!--
|
||||
Spacing is a float value, measured in pixels. Modify this value to change
|
||||
the amount of spacing in between characters.
|
||||
-->
|
||||
<Spacing>0</Spacing>
|
||||
|
||||
<!--
|
||||
UseKerning controls the layout of the font. If this value is true, kerning information
|
||||
will be used when placing characters.
|
||||
-->
|
||||
<UseKerning>true</UseKerning>
|
||||
|
||||
<!--
|
||||
Style controls the style of the font. Valid entries are "Regular", "Bold", "Italic",
|
||||
and "Bold, Italic", and are case sensitive.
|
||||
-->
|
||||
<Style>Regular</Style>
|
||||
|
||||
<!--
|
||||
If you uncomment this line, the default character will be substituted if you draw
|
||||
or measure text that contains characters which were not included in the font.
|
||||
-->
|
||||
<!-- <DefaultCharacter>*</DefaultCharacter> -->
|
||||
|
||||
<!--
|
||||
CharacterRegions control what letters are available in the font. Every
|
||||
character from Start to End will be built and made available for drawing. The
|
||||
default range is from 32, (ASCII space), to 126, ('~'), covering the basic Latin
|
||||
character set. The characters are ordered according to the Unicode standard.
|
||||
See the documentation for more information.
|
||||
-->
|
||||
<CharacterRegions>
|
||||
<CharacterRegion>
|
||||
<Start> </Start>
|
||||
<End>~</End>
|
||||
</CharacterRegion>
|
||||
</CharacterRegions>
|
||||
</Asset>
|
||||
</XnaContent>
|
60
Pacman/Content/gameOverFont.spritefont
Normal file
60
Pacman/Content/gameOverFont.spritefont
Normal file
|
@ -0,0 +1,60 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
This file contains an xml description of a font, and will be read by the XNA
|
||||
Framework Content Pipeline. Follow the comments to customize the appearance
|
||||
of the font in your game, and to change the characters which are available to draw
|
||||
with.
|
||||
-->
|
||||
<XnaContent xmlns:Graphics="Microsoft.Xna.Framework.Content.Pipeline.Graphics">
|
||||
<Asset Type="Graphics:FontDescription">
|
||||
|
||||
<!--
|
||||
Modify this string to change the font that will be imported.
|
||||
-->
|
||||
<FontName>Emulogic</FontName>
|
||||
|
||||
<!--
|
||||
Size is a float value, measured in points. Modify this value to change
|
||||
the size of the font.
|
||||
-->
|
||||
<Size>36</Size>
|
||||
|
||||
<!--
|
||||
Spacing is a float value, measured in pixels. Modify this value to change
|
||||
the amount of spacing in between characters.
|
||||
-->
|
||||
<Spacing>0</Spacing>
|
||||
|
||||
<!--
|
||||
UseKerning controls the layout of the font. If this value is true, kerning information
|
||||
will be used when placing characters.
|
||||
-->
|
||||
<UseKerning>true</UseKerning>
|
||||
|
||||
<!--
|
||||
Style controls the style of the font. Valid entries are "Regular", "Bold", "Italic",
|
||||
and "Bold, Italic", and are case sensitive.
|
||||
-->
|
||||
<Style>Bold</Style>
|
||||
|
||||
<!--
|
||||
If you uncomment this line, the default character will be substituted if you draw
|
||||
or measure text that contains characters which were not included in the font.
|
||||
-->
|
||||
<!-- <DefaultCharacter>*</DefaultCharacter> -->
|
||||
|
||||
<!--
|
||||
CharacterRegions control what letters are available in the font. Every
|
||||
character from Start to End will be built and made available for drawing. The
|
||||
default range is from 32, (ASCII space), to 126, ('~'), covering the basic Latin
|
||||
character set. The characters are ordered according to the Unicode standard.
|
||||
See the documentation for more information.
|
||||
-->
|
||||
<CharacterRegions>
|
||||
<CharacterRegion>
|
||||
<Start> </Start>
|
||||
<End>~</End>
|
||||
</CharacterRegion>
|
||||
</CharacterRegions>
|
||||
</Asset>
|
||||
</XnaContent>
|
BIN
Pacman/Content/ghostDeathSound.mp3
Normal file
BIN
Pacman/Content/ghostDeathSound.mp3
Normal file
Binary file not shown.
BIN
Pacman/Content/intermissionSound.wav
Normal file
BIN
Pacman/Content/intermissionSound.wav
Normal file
Binary file not shown.
BIN
Pacman/Content/logo.png
Normal file
BIN
Pacman/Content/logo.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 157 KiB |
BIN
Pacman/Content/mainSong.wav
Normal file
BIN
Pacman/Content/mainSong.wav
Normal file
Binary file not shown.
|
@ -4,9 +4,27 @@
|
|||
<Platform>Windows</Platform>
|
||||
<Config />
|
||||
<SourceFiles>
|
||||
<File>C:/Users/Semejkin_AV/Documents/Github_repos/Pacman/Pacman/Content/chompSound.wav</File>
|
||||
<File>C:/Users/Semejkin_AV/Documents/Github_repos/Pacman/Pacman/Content/deathSound.wav</File>
|
||||
<File>C:/Users/Semejkin_AV/Documents/Github_repos/Pacman/Pacman/Content/fruitEaten.mp3</File>
|
||||
<File>C:/Users/Semejkin_AV/Documents/Github_repos/Pacman/Pacman/Content/gameFont.spritefont</File>
|
||||
<File>C:/Users/Semejkin_AV/Documents/Github_repos/Pacman/Pacman/Content/gameOverFont.spritefont</File>
|
||||
<File>C:/Users/Semejkin_AV/Documents/Github_repos/Pacman/Pacman/Content/ghostDeathSound.mp3</File>
|
||||
<File>C:/Users/Semejkin_AV/Documents/Github_repos/Pacman/Pacman/Content/intermissionSound.wav</File>
|
||||
<File>C:/Users/Semejkin_AV/Documents/Github_repos/Pacman/Pacman/Content/logo.png</File>
|
||||
<File>C:/Users/Semejkin_AV/Documents/Github_repos/Pacman/Pacman/Content/mainSong.wav</File>
|
||||
<File>C:/Users/Semejkin_AV/Documents/Github_repos/Pacman/Pacman/Content/sprites.png</File>
|
||||
</SourceFiles>
|
||||
<DestFiles>
|
||||
<File xsi:nil="true" />
|
||||
<File xsi:nil="true" />
|
||||
<File xsi:nil="true" />
|
||||
<File xsi:nil="true" />
|
||||
<File xsi:nil="true" />
|
||||
<File xsi:nil="true" />
|
||||
<File xsi:nil="true" />
|
||||
<File xsi:nil="true" />
|
||||
<File xsi:nil="true" />
|
||||
<File xsi:nil="true" />
|
||||
</DestFiles>
|
||||
</SourceFileCollection>
|
|
@ -1,2 +1,11 @@
|
|||
Source File,Dest File,Processor Type,Content Type,Source File Size,Dest File Size,Build Seconds
|
||||
"C:/Users/Semejkin_AV/Documents/Github_repos/Pacman/Pacman/Content/sprites.png","C:/Users/Semejkin_AV/Documents/Github_repos/Pacman/Pacman/Content/bin/Windows/sprites.xnb","TextureProcessor","Texture2DContent",5012,368725,0.1996307
|
||||
"C:/Users/Semejkin_AV/Documents/Github_repos/Pacman/Pacman/Content/chompSound.wav","C:/Users/Semejkin_AV/Documents/Github_repos/Pacman/Pacman/Content/bin/Windows/chompSound.xnb","SoundEffectProcessor","SoundEffectContent",21528,21457,0.9651652
|
||||
"C:/Users/Semejkin_AV/Documents/Github_repos/Pacman/Pacman/Content/deathSound.wav","C:/Users/Semejkin_AV/Documents/Github_repos/Pacman/Pacman/Content/bin/Windows/deathSound.xnb","SoundEffectProcessor","SoundEffectContent",17008,17021,0.6668953
|
||||
"C:/Users/Semejkin_AV/Documents/Github_repos/Pacman/Pacman/Content/fruitEaten.mp3","C:/Users/Semejkin_AV/Documents/Github_repos/Pacman/Pacman/Content/bin/Windows/fruitEaten.xnb","SoundEffectProcessor","SoundEffectContent",10057,13929,0.9344639
|
||||
"C:/Users/Semejkin_AV/Documents/Github_repos/Pacman/Pacman/Content/gameFont.spritefont","C:/Users/Semejkin_AV/Documents/Github_repos/Pacman/Pacman/Content/bin/Windows/gameFont.xnb","FontDescriptionProcessor","SpriteFontContent",2011,70690,0.3369461
|
||||
"C:/Users/Semejkin_AV/Documents/Github_repos/Pacman/Pacman/Content/gameOverFont.spritefont","C:/Users/Semejkin_AV/Documents/Github_repos/Pacman/Pacman/Content/bin/Windows/gameOverFont.xnb","FontDescriptionProcessor","SpriteFontContent",2008,267298,0.085875
|
||||
"C:/Users/Semejkin_AV/Documents/Github_repos/Pacman/Pacman/Content/ghostDeathSound.mp3","C:/Users/Semejkin_AV/Documents/Github_repos/Pacman/Pacman/Content/bin/Windows/ghostDeathSound.xnb","SoundEffectProcessor","SoundEffectContent",11728,16233,0.8279983
|
||||
"C:/Users/Semejkin_AV/Documents/Github_repos/Pacman/Pacman/Content/intermissionSound.wav","C:/Users/Semejkin_AV/Documents/Github_repos/Pacman/Pacman/Content/bin/Windows/intermissionSound.xnb","SongProcessor","SongContent",57600,135,0.7278905
|
||||
"C:/Users/Semejkin_AV/Documents/Github_repos/Pacman/Pacman/Content/logo.png","C:/Users/Semejkin_AV/Documents/Github_repos/Pacman/Pacman/Content/bin/Windows/logo.xnb","TextureProcessor","Texture2DContent",161105,1776085,0.1889831
|
||||
"C:/Users/Semejkin_AV/Documents/Github_repos/Pacman/Pacman/Content/mainSong.wav","C:/Users/Semejkin_AV/Documents/Github_repos/Pacman/Pacman/Content/bin/Windows/mainSong.xnb","SongProcessor","SongContent",46592,126,0.6260953
|
||||
"C:/Users/Semejkin_AV/Documents/Github_repos/Pacman/Pacman/Content/sprites.png","C:/Users/Semejkin_AV/Documents/Github_repos/Pacman/Pacman/Content/bin/Windows/sprites.xnb","TextureProcessor","Texture2DContent",5012,368725,0.0677785
|
||||
|
|
|
@ -4,9 +4,27 @@
|
|||
<Platform>Windows</Platform>
|
||||
<Config />
|
||||
<SourceFiles>
|
||||
<File>C:/Users/Semejkin_AV/Documents/Github_repos/Pacman/Pacman/Content/chompSound.wav</File>
|
||||
<File>C:/Users/Semejkin_AV/Documents/Github_repos/Pacman/Pacman/Content/deathSound.wav</File>
|
||||
<File>C:/Users/Semejkin_AV/Documents/Github_repos/Pacman/Pacman/Content/fruitEaten.mp3</File>
|
||||
<File>C:/Users/Semejkin_AV/Documents/Github_repos/Pacman/Pacman/Content/gameFont.spritefont</File>
|
||||
<File>C:/Users/Semejkin_AV/Documents/Github_repos/Pacman/Pacman/Content/gameOverFont.spritefont</File>
|
||||
<File>C:/Users/Semejkin_AV/Documents/Github_repos/Pacman/Pacman/Content/ghostDeathSound.mp3</File>
|
||||
<File>C:/Users/Semejkin_AV/Documents/Github_repos/Pacman/Pacman/Content/intermissionSound.wav</File>
|
||||
<File>C:/Users/Semejkin_AV/Documents/Github_repos/Pacman/Pacman/Content/logo.png</File>
|
||||
<File>C:/Users/Semejkin_AV/Documents/Github_repos/Pacman/Pacman/Content/mainSong.wav</File>
|
||||
<File>C:/Users/Semejkin_AV/Documents/Github_repos/Pacman/Pacman/Content/sprites.png</File>
|
||||
</SourceFiles>
|
||||
<DestFiles>
|
||||
<File xsi:nil="true" />
|
||||
<File xsi:nil="true" />
|
||||
<File xsi:nil="true" />
|
||||
<File xsi:nil="true" />
|
||||
<File xsi:nil="true" />
|
||||
<File xsi:nil="true" />
|
||||
<File xsi:nil="true" />
|
||||
<File xsi:nil="true" />
|
||||
<File xsi:nil="true" />
|
||||
<File xsi:nil="true" />
|
||||
</DestFiles>
|
||||
</SourceFileCollection>
|
|
@ -1,2 +1,11 @@
|
|||
Source File,Dest File,Processor Type,Content Type,Source File Size,Dest File Size,Build Seconds
|
||||
"C:/Users/Semejkin_AV/Documents/Github_repos/Pacman/Pacman/Content/chompSound.wav","C:/Users/Semejkin_AV/Documents/Github_repos/Pacman/Pacman/Content/bin/Windows/Content/chompSound.xnb","SoundEffectProcessor","SoundEffectContent",21528,21457,0.7019035
|
||||
"C:/Users/Semejkin_AV/Documents/Github_repos/Pacman/Pacman/Content/deathSound.wav","C:/Users/Semejkin_AV/Documents/Github_repos/Pacman/Pacman/Content/bin/Windows/Content/deathSound.xnb","SoundEffectProcessor","SoundEffectContent",17008,17021,0.6754085
|
||||
"C:/Users/Semejkin_AV/Documents/Github_repos/Pacman/Pacman/Content/fruitEaten.mp3","C:/Users/Semejkin_AV/Documents/Github_repos/Pacman/Pacman/Content/bin/Windows/Content/fruitEaten.xnb","SoundEffectProcessor","SoundEffectContent",10057,13929,0.7637201
|
||||
"C:/Users/Semejkin_AV/Documents/Github_repos/Pacman/Pacman/Content/gameFont.spritefont","C:/Users/Semejkin_AV/Documents/Github_repos/Pacman/Pacman/Content/bin/Windows/Content/gameFont.xnb","FontDescriptionProcessor","SpriteFontContent",2011,70690,0.3852959
|
||||
"C:/Users/Semejkin_AV/Documents/Github_repos/Pacman/Pacman/Content/gameOverFont.spritefont","C:/Users/Semejkin_AV/Documents/Github_repos/Pacman/Pacman/Content/bin/Windows/Content/gameOverFont.xnb","FontDescriptionProcessor","SpriteFontContent",2008,267298,0.4839005
|
||||
"C:/Users/Semejkin_AV/Documents/Github_repos/Pacman/Pacman/Content/ghostDeathSound.mp3","C:/Users/Semejkin_AV/Documents/Github_repos/Pacman/Pacman/Content/bin/Windows/Content/ghostDeathSound.xnb","SoundEffectProcessor","SoundEffectContent",11728,16233,1.1415013
|
||||
"C:/Users/Semejkin_AV/Documents/Github_repos/Pacman/Pacman/Content/intermissionSound.wav","C:/Users/Semejkin_AV/Documents/Github_repos/Pacman/Pacman/Content/bin/Windows/Content/intermissionSound.xnb","SongProcessor","SongContent",57600,135,0.7034911
|
||||
"C:/Users/Semejkin_AV/Documents/Github_repos/Pacman/Pacman/Content/logo.png","C:/Users/Semejkin_AV/Documents/Github_repos/Pacman/Pacman/Content/bin/Windows/Content/logo.xnb","TextureProcessor","Texture2DContent",161105,1776085,0.6158541
|
||||
"C:/Users/Semejkin_AV/Documents/Github_repos/Pacman/Pacman/Content/mainSong.wav","C:/Users/Semejkin_AV/Documents/Github_repos/Pacman/Pacman/Content/bin/Windows/Content/mainSong.xnb","SongProcessor","SongContent",46592,126,0.4894537
|
||||
"C:/Users/Semejkin_AV/Documents/Github_repos/Pacman/Pacman/Content/sprites.png","C:/Users/Semejkin_AV/Documents/Github_repos/Pacman/Pacman/Content/bin/Windows/Content/sprites.xnb","TextureProcessor","Texture2DContent",5012,368725,0.2415895
|
||||
|
|
18
Pacman/Content/obj/Windows/Content/chompSound.mgcontent
Normal file
18
Pacman/Content/obj/Windows/Content/chompSound.mgcontent
Normal file
|
@ -0,0 +1,18 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<PipelineBuildEvent xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
|
||||
<SourceFile>C:/Users/Semejkin_AV/Documents/Github_repos/Pacman/Pacman/Content/chompSound.wav</SourceFile>
|
||||
<SourceTime>2022-07-02T23:38:17.5676669+03:00</SourceTime>
|
||||
<DestFile>C:/Users/Semejkin_AV/Documents/Github_repos/Pacman/Pacman/Content/bin/Windows/Content/chompSound.xnb</DestFile>
|
||||
<DestTime>2022-07-02T23:38:35.6800123+03:00</DestTime>
|
||||
<Importer>WavImporter</Importer>
|
||||
<ImporterTime>2020-08-10T16:17:54+03:00</ImporterTime>
|
||||
<Processor>SoundEffectProcessor</Processor>
|
||||
<ProcessorTime>2020-08-10T16:17:54+03:00</ProcessorTime>
|
||||
<Parameters>
|
||||
<Key>Quality</Key>
|
||||
<Value>Best</Value>
|
||||
</Parameters>
|
||||
<Dependencies />
|
||||
<BuildAsset />
|
||||
<BuildOutput />
|
||||
</PipelineBuildEvent>
|
18
Pacman/Content/obj/Windows/Content/deathSound.mgcontent
Normal file
18
Pacman/Content/obj/Windows/Content/deathSound.mgcontent
Normal file
|
@ -0,0 +1,18 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<PipelineBuildEvent xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
|
||||
<SourceFile>C:/Users/Semejkin_AV/Documents/Github_repos/Pacman/Pacman/Content/deathSound.wav</SourceFile>
|
||||
<SourceTime>2004-04-03T11:29:18+04:00</SourceTime>
|
||||
<DestFile>C:/Users/Semejkin_AV/Documents/Github_repos/Pacman/Pacman/Content/bin/Windows/Content/deathSound.xnb</DestFile>
|
||||
<DestTime>2022-07-02T00:26:19.258734+03:00</DestTime>
|
||||
<Importer>WavImporter</Importer>
|
||||
<ImporterTime>2020-08-10T16:17:54+03:00</ImporterTime>
|
||||
<Processor>SoundEffectProcessor</Processor>
|
||||
<ProcessorTime>2020-08-10T16:17:54+03:00</ProcessorTime>
|
||||
<Parameters>
|
||||
<Key>Quality</Key>
|
||||
<Value>Best</Value>
|
||||
</Parameters>
|
||||
<Dependencies />
|
||||
<BuildAsset />
|
||||
<BuildOutput />
|
||||
</PipelineBuildEvent>
|
18
Pacman/Content/obj/Windows/Content/fruitEaten.mgcontent
Normal file
18
Pacman/Content/obj/Windows/Content/fruitEaten.mgcontent
Normal file
|
@ -0,0 +1,18 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<PipelineBuildEvent xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
|
||||
<SourceFile>C:/Users/Semejkin_AV/Documents/Github_repos/Pacman/Pacman/Content/fruitEaten.mp3</SourceFile>
|
||||
<SourceTime>2022-07-02T16:22:50.1623369+03:00</SourceTime>
|
||||
<DestFile>C:/Users/Semejkin_AV/Documents/Github_repos/Pacman/Pacman/Content/bin/Windows/Content/fruitEaten.xnb</DestFile>
|
||||
<DestTime>2022-07-02T16:23:38.8102232+03:00</DestTime>
|
||||
<Importer>Mp3Importer</Importer>
|
||||
<ImporterTime>2020-08-10T16:17:54+03:00</ImporterTime>
|
||||
<Processor>SoundEffectProcessor</Processor>
|
||||
<ProcessorTime>2020-08-10T16:17:54+03:00</ProcessorTime>
|
||||
<Parameters>
|
||||
<Key>Quality</Key>
|
||||
<Value>Best</Value>
|
||||
</Parameters>
|
||||
<Dependencies />
|
||||
<BuildAsset />
|
||||
<BuildOutput />
|
||||
</PipelineBuildEvent>
|
22
Pacman/Content/obj/Windows/Content/gameFont.mgcontent
Normal file
22
Pacman/Content/obj/Windows/Content/gameFont.mgcontent
Normal file
|
@ -0,0 +1,22 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<PipelineBuildEvent xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
|
||||
<SourceFile>C:/Users/Semejkin_AV/Documents/Github_repos/Pacman/Pacman/Content/gameFont.spritefont</SourceFile>
|
||||
<SourceTime>2022-07-01T14:42:48.0529101+03:00</SourceTime>
|
||||
<DestFile>C:/Users/Semejkin_AV/Documents/Github_repos/Pacman/Pacman/Content/bin/Windows/Content/gameFont.xnb</DestFile>
|
||||
<DestTime>2022-07-01T14:42:53.8426175+03:00</DestTime>
|
||||
<Importer>FontDescriptionImporter</Importer>
|
||||
<ImporterTime>2020-08-10T16:17:54+03:00</ImporterTime>
|
||||
<Processor>FontDescriptionProcessor</Processor>
|
||||
<ProcessorTime>2020-08-10T16:17:54+03:00</ProcessorTime>
|
||||
<Parameters>
|
||||
<Key>PremultiplyAlpha</Key>
|
||||
<Value>True</Value>
|
||||
</Parameters>
|
||||
<Parameters>
|
||||
<Key>TextureFormat</Key>
|
||||
<Value>Compressed</Value>
|
||||
</Parameters>
|
||||
<Dependencies />
|
||||
<BuildAsset />
|
||||
<BuildOutput />
|
||||
</PipelineBuildEvent>
|
22
Pacman/Content/obj/Windows/Content/gameOverFont.mgcontent
Normal file
22
Pacman/Content/obj/Windows/Content/gameOverFont.mgcontent
Normal file
|
@ -0,0 +1,22 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<PipelineBuildEvent xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
|
||||
<SourceFile>C:/Users/Semejkin_AV/Documents/Github_repos/Pacman/Pacman/Content/gameOverFont.spritefont</SourceFile>
|
||||
<SourceTime>2022-07-02T14:55:47.6326791+03:00</SourceTime>
|
||||
<DestFile>C:/Users/Semejkin_AV/Documents/Github_repos/Pacman/Pacman/Content/bin/Windows/Content/gameOverFont.xnb</DestFile>
|
||||
<DestTime>2022-07-02T14:55:53.1383332+03:00</DestTime>
|
||||
<Importer>FontDescriptionImporter</Importer>
|
||||
<ImporterTime>2020-08-10T16:17:54+03:00</ImporterTime>
|
||||
<Processor>FontDescriptionProcessor</Processor>
|
||||
<ProcessorTime>2020-08-10T16:17:54+03:00</ProcessorTime>
|
||||
<Parameters>
|
||||
<Key>PremultiplyAlpha</Key>
|
||||
<Value>True</Value>
|
||||
</Parameters>
|
||||
<Parameters>
|
||||
<Key>TextureFormat</Key>
|
||||
<Value>Compressed</Value>
|
||||
</Parameters>
|
||||
<Dependencies />
|
||||
<BuildAsset />
|
||||
<BuildOutput />
|
||||
</PipelineBuildEvent>
|
18
Pacman/Content/obj/Windows/Content/ghostDeathSound.mgcontent
Normal file
18
Pacman/Content/obj/Windows/Content/ghostDeathSound.mgcontent
Normal file
|
@ -0,0 +1,18 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<PipelineBuildEvent xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
|
||||
<SourceFile>C:/Users/Semejkin_AV/Documents/Github_repos/Pacman/Pacman/Content/ghostDeathSound.mp3</SourceFile>
|
||||
<SourceTime>2022-07-02T16:15:02.5759174+03:00</SourceTime>
|
||||
<DestFile>C:/Users/Semejkin_AV/Documents/Github_repos/Pacman/Pacman/Content/bin/Windows/Content/ghostDeathSound.xnb</DestFile>
|
||||
<DestTime>2022-07-02T16:18:38.8754877+03:00</DestTime>
|
||||
<Importer>Mp3Importer</Importer>
|
||||
<ImporterTime>2020-08-10T16:17:54+03:00</ImporterTime>
|
||||
<Processor>SoundEffectProcessor</Processor>
|
||||
<ProcessorTime>2020-08-10T16:17:54+03:00</ProcessorTime>
|
||||
<Parameters>
|
||||
<Key>Quality</Key>
|
||||
<Value>Best</Value>
|
||||
</Parameters>
|
||||
<Dependencies />
|
||||
<BuildAsset />
|
||||
<BuildOutput />
|
||||
</PipelineBuildEvent>
|
|
@ -0,0 +1,20 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<PipelineBuildEvent xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
|
||||
<SourceFile>C:/Users/Semejkin_AV/Documents/Github_repos/Pacman/Pacman/Content/intermissionSound.wav</SourceFile>
|
||||
<SourceTime>2004-04-03T11:27:18+04:00</SourceTime>
|
||||
<DestFile>C:/Users/Semejkin_AV/Documents/Github_repos/Pacman/Pacman/Content/bin/Windows/Content/intermissionSound.xnb</DestFile>
|
||||
<DestTime>2022-07-02T15:18:56.4442102+03:00</DestTime>
|
||||
<Importer>WavImporter</Importer>
|
||||
<ImporterTime>2020-08-10T16:17:54+03:00</ImporterTime>
|
||||
<Processor>SongProcessor</Processor>
|
||||
<ProcessorTime>2020-08-10T16:17:54+03:00</ProcessorTime>
|
||||
<Parameters>
|
||||
<Key>Quality</Key>
|
||||
<Value>Best</Value>
|
||||
</Parameters>
|
||||
<Dependencies />
|
||||
<BuildAsset />
|
||||
<BuildOutput>
|
||||
<string>C:/Users/Semejkin_AV/Documents/Github_repos/Pacman/Pacman/Content/bin/Windows/Content/intermissionSound.wma</string>
|
||||
</BuildOutput>
|
||||
</PipelineBuildEvent>
|
42
Pacman/Content/obj/Windows/Content/logo.mgcontent
Normal file
42
Pacman/Content/obj/Windows/Content/logo.mgcontent
Normal file
|
@ -0,0 +1,42 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<PipelineBuildEvent xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
|
||||
<SourceFile>C:/Users/Semejkin_AV/Documents/Github_repos/Pacman/Pacman/Content/logo.png</SourceFile>
|
||||
<SourceTime>2022-07-01T17:57:24.2958134+03:00</SourceTime>
|
||||
<DestFile>C:/Users/Semejkin_AV/Documents/Github_repos/Pacman/Pacman/Content/bin/Windows/Content/logo.xnb</DestFile>
|
||||
<DestTime>2022-07-01T17:57:45.589837+03:00</DestTime>
|
||||
<Importer>TextureImporter</Importer>
|
||||
<ImporterTime>2020-08-10T16:17:54+03:00</ImporterTime>
|
||||
<Processor>TextureProcessor</Processor>
|
||||
<ProcessorTime>2020-08-10T16:17:54+03:00</ProcessorTime>
|
||||
<Parameters>
|
||||
<Key>ColorKeyColor</Key>
|
||||
<Value>255,0,255,255</Value>
|
||||
</Parameters>
|
||||
<Parameters>
|
||||
<Key>ColorKeyEnabled</Key>
|
||||
<Value>True</Value>
|
||||
</Parameters>
|
||||
<Parameters>
|
||||
<Key>GenerateMipmaps</Key>
|
||||
<Value>False</Value>
|
||||
</Parameters>
|
||||
<Parameters>
|
||||
<Key>PremultiplyAlpha</Key>
|
||||
<Value>True</Value>
|
||||
</Parameters>
|
||||
<Parameters>
|
||||
<Key>ResizeToPowerOfTwo</Key>
|
||||
<Value>False</Value>
|
||||
</Parameters>
|
||||
<Parameters>
|
||||
<Key>MakeSquare</Key>
|
||||
<Value>False</Value>
|
||||
</Parameters>
|
||||
<Parameters>
|
||||
<Key>TextureFormat</Key>
|
||||
<Value>Color</Value>
|
||||
</Parameters>
|
||||
<Dependencies />
|
||||
<BuildAsset />
|
||||
<BuildOutput />
|
||||
</PipelineBuildEvent>
|
20
Pacman/Content/obj/Windows/Content/mainSong.mgcontent
Normal file
20
Pacman/Content/obj/Windows/Content/mainSong.mgcontent
Normal file
|
@ -0,0 +1,20 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<PipelineBuildEvent xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
|
||||
<SourceFile>C:/Users/Semejkin_AV/Documents/Github_repos/Pacman/Pacman/Content/mainSong.wav</SourceFile>
|
||||
<SourceTime>2004-04-03T11:26:48+04:00</SourceTime>
|
||||
<DestFile>C:/Users/Semejkin_AV/Documents/Github_repos/Pacman/Pacman/Content/bin/Windows/Content/mainSong.xnb</DestFile>
|
||||
<DestTime>2022-07-02T00:26:20.0579639+03:00</DestTime>
|
||||
<Importer>WavImporter</Importer>
|
||||
<ImporterTime>2020-08-10T16:17:54+03:00</ImporterTime>
|
||||
<Processor>SongProcessor</Processor>
|
||||
<ProcessorTime>2020-08-10T16:17:54+03:00</ProcessorTime>
|
||||
<Parameters>
|
||||
<Key>Quality</Key>
|
||||
<Value>Best</Value>
|
||||
</Parameters>
|
||||
<Dependencies />
|
||||
<BuildAsset />
|
||||
<BuildOutput>
|
||||
<string>C:/Users/Semejkin_AV/Documents/Github_repos/Pacman/Pacman/Content/bin/Windows/Content/mainSong.wma</string>
|
||||
</BuildOutput>
|
||||
</PipelineBuildEvent>
|
18
Pacman/Content/obj/Windows/chompSound.mgcontent
Normal file
18
Pacman/Content/obj/Windows/chompSound.mgcontent
Normal file
|
@ -0,0 +1,18 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<PipelineBuildEvent xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
|
||||
<SourceFile>C:/Users/Semejkin_AV/Documents/Github_repos/Pacman/Pacman/Content/chompSound.wav</SourceFile>
|
||||
<SourceTime>2022-07-02T23:38:17.5676669+03:00</SourceTime>
|
||||
<DestFile>C:/Users/Semejkin_AV/Documents/Github_repos/Pacman/Pacman/Content/bin/Windows/chompSound.xnb</DestFile>
|
||||
<DestTime>2022-07-02T23:38:41.2925098+03:00</DestTime>
|
||||
<Importer>WavImporter</Importer>
|
||||
<ImporterTime>2020-08-10T16:17:54+03:00</ImporterTime>
|
||||
<Processor>SoundEffectProcessor</Processor>
|
||||
<ProcessorTime>2020-08-10T16:17:54+03:00</ProcessorTime>
|
||||
<Parameters>
|
||||
<Key>Quality</Key>
|
||||
<Value>Best</Value>
|
||||
</Parameters>
|
||||
<Dependencies />
|
||||
<BuildAsset />
|
||||
<BuildOutput />
|
||||
</PipelineBuildEvent>
|
18
Pacman/Content/obj/Windows/deathSound.mgcontent
Normal file
18
Pacman/Content/obj/Windows/deathSound.mgcontent
Normal file
|
@ -0,0 +1,18 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<PipelineBuildEvent xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
|
||||
<SourceFile>C:/Users/Semejkin_AV/Documents/Github_repos/Pacman/Pacman/Content/deathSound.wav</SourceFile>
|
||||
<SourceTime>2004-04-03T11:29:18+04:00</SourceTime>
|
||||
<DestFile>C:/Users/Semejkin_AV/Documents/Github_repos/Pacman/Pacman/Content/bin/Windows/deathSound.xnb</DestFile>
|
||||
<DestTime>2022-07-02T23:38:41.9761102+03:00</DestTime>
|
||||
<Importer>WavImporter</Importer>
|
||||
<ImporterTime>2020-08-10T16:17:54+03:00</ImporterTime>
|
||||
<Processor>SoundEffectProcessor</Processor>
|
||||
<ProcessorTime>2020-08-10T16:17:54+03:00</ProcessorTime>
|
||||
<Parameters>
|
||||
<Key>Quality</Key>
|
||||
<Value>Best</Value>
|
||||
</Parameters>
|
||||
<Dependencies />
|
||||
<BuildAsset />
|
||||
<BuildOutput />
|
||||
</PipelineBuildEvent>
|
18
Pacman/Content/obj/Windows/fruitEaten.mgcontent
Normal file
18
Pacman/Content/obj/Windows/fruitEaten.mgcontent
Normal file
|
@ -0,0 +1,18 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<PipelineBuildEvent xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
|
||||
<SourceFile>C:/Users/Semejkin_AV/Documents/Github_repos/Pacman/Pacman/Content/fruitEaten.mp3</SourceFile>
|
||||
<SourceTime>2022-07-02T16:22:50.1623369+03:00</SourceTime>
|
||||
<DestFile>C:/Users/Semejkin_AV/Documents/Github_repos/Pacman/Pacman/Content/bin/Windows/fruitEaten.xnb</DestFile>
|
||||
<DestTime>2022-07-02T23:38:42.903116+03:00</DestTime>
|
||||
<Importer>Mp3Importer</Importer>
|
||||
<ImporterTime>2020-08-10T16:17:54+03:00</ImporterTime>
|
||||
<Processor>SoundEffectProcessor</Processor>
|
||||
<ProcessorTime>2020-08-10T16:17:54+03:00</ProcessorTime>
|
||||
<Parameters>
|
||||
<Key>Quality</Key>
|
||||
<Value>Best</Value>
|
||||
</Parameters>
|
||||
<Dependencies />
|
||||
<BuildAsset />
|
||||
<BuildOutput />
|
||||
</PipelineBuildEvent>
|
22
Pacman/Content/obj/Windows/gameFont.mgcontent
Normal file
22
Pacman/Content/obj/Windows/gameFont.mgcontent
Normal file
|
@ -0,0 +1,22 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<PipelineBuildEvent xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
|
||||
<SourceFile>C:/Users/Semejkin_AV/Documents/Github_repos/Pacman/Pacman/Content/gameFont.spritefont</SourceFile>
|
||||
<SourceTime>2022-07-01T14:42:48.0529101+03:00</SourceTime>
|
||||
<DestFile>C:/Users/Semejkin_AV/Documents/Github_repos/Pacman/Pacman/Content/bin/Windows/gameFont.xnb</DestFile>
|
||||
<DestTime>2022-07-02T23:38:43.2601128+03:00</DestTime>
|
||||
<Importer>FontDescriptionImporter</Importer>
|
||||
<ImporterTime>2020-08-10T16:17:54+03:00</ImporterTime>
|
||||
<Processor>FontDescriptionProcessor</Processor>
|
||||
<ProcessorTime>2020-08-10T16:17:54+03:00</ProcessorTime>
|
||||
<Parameters>
|
||||
<Key>PremultiplyAlpha</Key>
|
||||
<Value>True</Value>
|
||||
</Parameters>
|
||||
<Parameters>
|
||||
<Key>TextureFormat</Key>
|
||||
<Value>Compressed</Value>
|
||||
</Parameters>
|
||||
<Dependencies />
|
||||
<BuildAsset />
|
||||
<BuildOutput />
|
||||
</PipelineBuildEvent>
|
22
Pacman/Content/obj/Windows/gameOverFont.mgcontent
Normal file
22
Pacman/Content/obj/Windows/gameOverFont.mgcontent
Normal file
|
@ -0,0 +1,22 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<PipelineBuildEvent xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
|
||||
<SourceFile>C:/Users/Semejkin_AV/Documents/Github_repos/Pacman/Pacman/Content/gameOverFont.spritefont</SourceFile>
|
||||
<SourceTime>2022-07-02T14:55:47.6326791+03:00</SourceTime>
|
||||
<DestFile>C:/Users/Semejkin_AV/Documents/Github_repos/Pacman/Pacman/Content/bin/Windows/gameOverFont.xnb</DestFile>
|
||||
<DestTime>2022-07-02T23:38:43.3461128+03:00</DestTime>
|
||||
<Importer>FontDescriptionImporter</Importer>
|
||||
<ImporterTime>2020-08-10T16:17:54+03:00</ImporterTime>
|
||||
<Processor>FontDescriptionProcessor</Processor>
|
||||
<ProcessorTime>2020-08-10T16:17:54+03:00</ProcessorTime>
|
||||
<Parameters>
|
||||
<Key>PremultiplyAlpha</Key>
|
||||
<Value>True</Value>
|
||||
</Parameters>
|
||||
<Parameters>
|
||||
<Key>TextureFormat</Key>
|
||||
<Value>Compressed</Value>
|
||||
</Parameters>
|
||||
<Dependencies />
|
||||
<BuildAsset />
|
||||
<BuildOutput />
|
||||
</PipelineBuildEvent>
|
18
Pacman/Content/obj/Windows/ghostDeathSound.mgcontent
Normal file
18
Pacman/Content/obj/Windows/ghostDeathSound.mgcontent
Normal file
|
@ -0,0 +1,18 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<PipelineBuildEvent xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
|
||||
<SourceFile>C:/Users/Semejkin_AV/Documents/Github_repos/Pacman/Pacman/Content/ghostDeathSound.mp3</SourceFile>
|
||||
<SourceTime>2022-07-02T16:15:02.5759174+03:00</SourceTime>
|
||||
<DestFile>C:/Users/Semejkin_AV/Documents/Github_repos/Pacman/Pacman/Content/bin/Windows/ghostDeathSound.xnb</DestFile>
|
||||
<DestTime>2022-07-02T23:38:44.1746886+03:00</DestTime>
|
||||
<Importer>Mp3Importer</Importer>
|
||||
<ImporterTime>2020-08-10T16:17:54+03:00</ImporterTime>
|
||||
<Processor>SoundEffectProcessor</Processor>
|
||||
<ProcessorTime>2020-08-10T16:17:54+03:00</ProcessorTime>
|
||||
<Parameters>
|
||||
<Key>Quality</Key>
|
||||
<Value>Best</Value>
|
||||
</Parameters>
|
||||
<Dependencies />
|
||||
<BuildAsset />
|
||||
<BuildOutput />
|
||||
</PipelineBuildEvent>
|
20
Pacman/Content/obj/Windows/intermissionSound.mgcontent
Normal file
20
Pacman/Content/obj/Windows/intermissionSound.mgcontent
Normal file
|
@ -0,0 +1,20 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<PipelineBuildEvent xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
|
||||
<SourceFile>C:/Users/Semejkin_AV/Documents/Github_repos/Pacman/Pacman/Content/intermissionSound.wav</SourceFile>
|
||||
<SourceTime>2004-04-03T11:27:18+04:00</SourceTime>
|
||||
<DestFile>C:/Users/Semejkin_AV/Documents/Github_repos/Pacman/Pacman/Content/bin/Windows/intermissionSound.xnb</DestFile>
|
||||
<DestTime>2022-07-02T23:38:44.8981732+03:00</DestTime>
|
||||
<Importer>WavImporter</Importer>
|
||||
<ImporterTime>2020-08-10T16:17:54+03:00</ImporterTime>
|
||||
<Processor>SongProcessor</Processor>
|
||||
<ProcessorTime>2020-08-10T16:17:54+03:00</ProcessorTime>
|
||||
<Parameters>
|
||||
<Key>Quality</Key>
|
||||
<Value>Best</Value>
|
||||
</Parameters>
|
||||
<Dependencies />
|
||||
<BuildAsset />
|
||||
<BuildOutput>
|
||||
<string>C:/Users/Semejkin_AV/Documents/Github_repos/Pacman/Pacman/Content/bin/Windows/intermissionSound.wma</string>
|
||||
</BuildOutput>
|
||||
</PipelineBuildEvent>
|
42
Pacman/Content/obj/Windows/logo.mgcontent
Normal file
42
Pacman/Content/obj/Windows/logo.mgcontent
Normal file
|
@ -0,0 +1,42 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<PipelineBuildEvent xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
|
||||
<SourceFile>C:/Users/Semejkin_AV/Documents/Github_repos/Pacman/Pacman/Content/logo.png</SourceFile>
|
||||
<SourceTime>2022-07-01T17:57:24.2958134+03:00</SourceTime>
|
||||
<DestFile>C:/Users/Semejkin_AV/Documents/Github_repos/Pacman/Pacman/Content/bin/Windows/logo.xnb</DestFile>
|
||||
<DestTime>2022-07-02T23:38:45.0901659+03:00</DestTime>
|
||||
<Importer>TextureImporter</Importer>
|
||||
<ImporterTime>2020-08-10T16:17:54+03:00</ImporterTime>
|
||||
<Processor>TextureProcessor</Processor>
|
||||
<ProcessorTime>2020-08-10T16:17:54+03:00</ProcessorTime>
|
||||
<Parameters>
|
||||
<Key>ColorKeyColor</Key>
|
||||
<Value>255,0,255,255</Value>
|
||||
</Parameters>
|
||||
<Parameters>
|
||||
<Key>ColorKeyEnabled</Key>
|
||||
<Value>True</Value>
|
||||
</Parameters>
|
||||
<Parameters>
|
||||
<Key>GenerateMipmaps</Key>
|
||||
<Value>False</Value>
|
||||
</Parameters>
|
||||
<Parameters>
|
||||
<Key>PremultiplyAlpha</Key>
|
||||
<Value>True</Value>
|
||||
</Parameters>
|
||||
<Parameters>
|
||||
<Key>ResizeToPowerOfTwo</Key>
|
||||
<Value>False</Value>
|
||||
</Parameters>
|
||||
<Parameters>
|
||||
<Key>MakeSquare</Key>
|
||||
<Value>False</Value>
|
||||
</Parameters>
|
||||
<Parameters>
|
||||
<Key>TextureFormat</Key>
|
||||
<Value>Color</Value>
|
||||
</Parameters>
|
||||
<Dependencies />
|
||||
<BuildAsset />
|
||||
<BuildOutput />
|
||||
</PipelineBuildEvent>
|
20
Pacman/Content/obj/Windows/mainSong.mgcontent
Normal file
20
Pacman/Content/obj/Windows/mainSong.mgcontent
Normal file
|
@ -0,0 +1,20 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<PipelineBuildEvent xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
|
||||
<SourceFile>C:/Users/Semejkin_AV/Documents/Github_repos/Pacman/Pacman/Content/mainSong.wav</SourceFile>
|
||||
<SourceTime>2004-04-03T11:26:48+04:00</SourceTime>
|
||||
<DestFile>C:/Users/Semejkin_AV/Documents/Github_repos/Pacman/Pacman/Content/bin/Windows/mainSong.xnb</DestFile>
|
||||
<DestTime>2022-07-02T23:38:45.7231693+03:00</DestTime>
|
||||
<Importer>WavImporter</Importer>
|
||||
<ImporterTime>2020-08-10T16:17:54+03:00</ImporterTime>
|
||||
<Processor>SongProcessor</Processor>
|
||||
<ProcessorTime>2020-08-10T16:17:54+03:00</ProcessorTime>
|
||||
<Parameters>
|
||||
<Key>Quality</Key>
|
||||
<Value>Best</Value>
|
||||
</Parameters>
|
||||
<Dependencies />
|
||||
<BuildAsset />
|
||||
<BuildOutput>
|
||||
<string>C:/Users/Semejkin_AV/Documents/Github_repos/Pacman/Pacman/Content/bin/Windows/mainSong.wma</string>
|
||||
</BuildOutput>
|
||||
</PipelineBuildEvent>
|
|
@ -1,9 +1,9 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<PipelineBuildEvent xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
|
||||
<SourceFile>C:/Users/Semejkin_AV/Documents/Github_repos/Pacman/Pacman/Content/sprites.png</SourceFile>
|
||||
<SourceTime>2022-06-29T15:40:31.6851922+03:00</SourceTime>
|
||||
<SourceTime>2022-06-29T15:43:37.3648634+03:00</SourceTime>
|
||||
<DestFile>C:/Users/Semejkin_AV/Documents/Github_repos/Pacman/Pacman/Content/bin/Windows/sprites.xnb</DestFile>
|
||||
<DestTime>2022-06-29T15:40:36.0296157+03:00</DestTime>
|
||||
<DestTime>2022-07-02T23:38:45.7951722+03:00</DestTime>
|
||||
<Importer>TextureImporter</Importer>
|
||||
<ImporterTime>2020-08-10T16:17:54+03:00</ImporterTime>
|
||||
<Processor>TextureProcessor</Processor>
|
||||
|
|
211
Pacman/Game1.cs
211
Pacman/Game1.cs
|
@ -1,33 +1,84 @@
|
|||
using Microsoft.Xna.Framework;
|
||||
using Microsoft.Xna.Framework.Graphics;
|
||||
using Microsoft.Xna.Framework.Input;
|
||||
using System.Collections.Generic;
|
||||
|
||||
using Pacman.Classes;
|
||||
using Pacman.Classes.UI;
|
||||
using Microsoft.Xna.Framework.Media;
|
||||
using Microsoft.Xna.Framework.Audio;
|
||||
|
||||
using System.IO;
|
||||
|
||||
namespace Pacman
|
||||
{
|
||||
public enum GameState
|
||||
{
|
||||
Game, Menu, GameOver, NextLevel
|
||||
}
|
||||
|
||||
public class Game1 : Game
|
||||
{
|
||||
public static GameState gameState = GameState.Menu;
|
||||
public static Vector2 screenSize = new Vector2(672, 850);
|
||||
public static Texture2D spriteSheet;
|
||||
|
||||
// Default fields
|
||||
private GraphicsDeviceManager _graphics;
|
||||
private SpriteBatch _spriteBatch;
|
||||
|
||||
public Map _map;
|
||||
public int Level = 0;
|
||||
public static Pacman pacman = new Pacman();
|
||||
|
||||
public static List<Food> Foods = new List<Food>();
|
||||
public static List<Ghost> Ghosts = new List<Ghost>();
|
||||
|
||||
// UI fields
|
||||
private Menu menu;
|
||||
private HUD hud;
|
||||
private GameOver gameOver;
|
||||
|
||||
// Music fields
|
||||
public static SoundEffect deathSong;
|
||||
public static SoundEffect chompSound;
|
||||
public static SoundEffect ghostDiedSound;
|
||||
public static SoundEffect fruitEatenSound;
|
||||
|
||||
|
||||
public static Song mainSong;
|
||||
public static Song intermissionSong;
|
||||
|
||||
|
||||
public Game1()
|
||||
{
|
||||
_graphics = new GraphicsDeviceManager(this);
|
||||
Content.RootDirectory = "Content";
|
||||
IsMouseVisible = true;
|
||||
_map = new Map();
|
||||
}
|
||||
|
||||
protected override void Initialize()
|
||||
{
|
||||
// TODO: Add your initialization logic here
|
||||
_graphics.PreferredBackBufferWidth = 668;
|
||||
_graphics.PreferredBackBufferHeight = 744;
|
||||
// Set window size
|
||||
_graphics.PreferredBackBufferWidth = (int)screenSize.X;
|
||||
_graphics.PreferredBackBufferHeight = (int)screenSize.Y;
|
||||
_graphics.ApplyChanges();
|
||||
|
||||
// Initialize map and convert map for pathfinder
|
||||
Map.LoadMap();
|
||||
PathFinder.ConvertMap(Map.map);
|
||||
|
||||
// Add ghosts
|
||||
Ghosts.Add(new Ghost("Blinky"));
|
||||
Ghosts.Add(new Ghost("Pinky"));
|
||||
Ghosts.Add(new Ghost("Inky"));
|
||||
Ghosts.Add(new Ghost("Clyde"));
|
||||
pacman.highScore = LoadHighScore();
|
||||
|
||||
// Initialize menu and HUD
|
||||
menu = new Menu();
|
||||
hud = new HUD(new Vector2(0, 740));
|
||||
gameOver = new GameOver();
|
||||
|
||||
base.Initialize();
|
||||
}
|
||||
|
||||
|
@ -35,32 +86,158 @@ namespace Pacman
|
|||
{
|
||||
_spriteBatch = new SpriteBatch(GraphicsDevice);
|
||||
|
||||
// TODO: use this.Content to load your game content here
|
||||
Map.LoadContent(Content);
|
||||
_map.LoadMap();
|
||||
// Load sprites
|
||||
spriteSheet = Content.Load<Texture2D>("sprites");
|
||||
menu.LoadContent(Content);
|
||||
Label.LoadContent(Content);
|
||||
for (int i = 0; i < Foods.Count; i++)
|
||||
{
|
||||
Foods[i].LoadContent();
|
||||
}
|
||||
|
||||
// Load music
|
||||
mainSong = Content.Load<Song>("mainSong");
|
||||
deathSong = Content.Load<SoundEffect>("deathSound");
|
||||
chompSound = Content.Load<SoundEffect>("chompSound");
|
||||
intermissionSong = Content.Load<Song>("intermissionSound");
|
||||
ghostDiedSound = Content.Load<SoundEffect>("ghostDeathSound");
|
||||
fruitEatenSound = Content.Load<SoundEffect>("fruitEaten");
|
||||
|
||||
MediaPlayer.IsRepeating = true;
|
||||
MediaPlayer.MediaStateChanged += MediaPlayer_MediaStateChanged;
|
||||
MediaPlayer.Play(mainSong);
|
||||
}
|
||||
|
||||
private void MediaPlayer_MediaStateChanged(object sender, System.EventArgs e)
|
||||
{
|
||||
MediaPlayer.Volume = 40;
|
||||
}
|
||||
|
||||
protected override void Update(GameTime gameTime)
|
||||
{
|
||||
if (GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed || Keyboard.GetState().IsKeyDown(Keys.Escape))
|
||||
Exit();
|
||||
|
||||
// TODO: Add your update logic here
|
||||
switch (gameState)
|
||||
{
|
||||
case GameState.Menu:
|
||||
menu.Update();
|
||||
break;
|
||||
case GameState.Game:
|
||||
UpdateGame();
|
||||
break;
|
||||
case GameState.GameOver:
|
||||
gameOver.Update();
|
||||
break;
|
||||
}
|
||||
|
||||
base.Update(gameTime);
|
||||
}
|
||||
|
||||
private void UpdateGame()
|
||||
{
|
||||
for (int i = 0; i < Foods.Count; i++)
|
||||
{
|
||||
Foods[i].Update();
|
||||
}
|
||||
for (int i = 0; i < Ghosts.Count; i++)
|
||||
{
|
||||
Ghosts[i].Update();
|
||||
}
|
||||
pacman.Update();
|
||||
KeyboardState state = Keyboard.GetState();
|
||||
if (state.IsKeyDown(Keys.Space))
|
||||
{
|
||||
int a = 0;
|
||||
}
|
||||
}
|
||||
|
||||
protected override void Draw(GameTime gameTime)
|
||||
{
|
||||
GraphicsDevice.Clear(Color.CornflowerBlue);
|
||||
|
||||
// TODO: Add your drawing code here
|
||||
_spriteBatch.Begin();
|
||||
_map.Draw(_spriteBatch);
|
||||
GraphicsDevice.Clear(Color.Black);
|
||||
|
||||
_spriteBatch.Begin();
|
||||
|
||||
switch (gameState)
|
||||
{
|
||||
case GameState.Menu:
|
||||
menu.Draw(_spriteBatch);
|
||||
break;
|
||||
case GameState.Game:
|
||||
DrawGame();
|
||||
break;
|
||||
case GameState.GameOver:
|
||||
gameOver.Draw(_spriteBatch);
|
||||
break;
|
||||
}
|
||||
|
||||
_spriteBatch.End();
|
||||
|
||||
base.Draw(gameTime);
|
||||
}
|
||||
|
||||
private void DrawGame()
|
||||
{
|
||||
// Draw map and HUD
|
||||
Map.Draw(_spriteBatch);
|
||||
hud.Draw(_spriteBatch, pacman.Score, pacman.ExtraLives);
|
||||
|
||||
for (int i = 0; i < Foods.Count; i++)
|
||||
{
|
||||
Foods[i].Draw(_spriteBatch);
|
||||
}
|
||||
for (int i = 0; i < Ghosts.Count; i++)
|
||||
{
|
||||
Ghosts[i].Draw(_spriteBatch);
|
||||
}
|
||||
pacman.Draw(_spriteBatch);
|
||||
}
|
||||
|
||||
public static void RestartGame(bool IsLevelComplete)
|
||||
{
|
||||
if (IsLevelComplete)
|
||||
{
|
||||
for (int i = 0; i < Foods.Count; i++)
|
||||
{
|
||||
if (Foods[i].FoodType != "Fruit")
|
||||
{
|
||||
Foods[i].isAlive = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
Foods[i].Prize += 200;
|
||||
}
|
||||
}
|
||||
pacman.PointsEaten = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
pacman.ExtraLives -= 1;
|
||||
}
|
||||
pacman.Position = new Vector2(324, 564);
|
||||
for (int i = 0; i < Ghosts.Count; i++)
|
||||
{
|
||||
Ghosts[i].Position = Ghosts[i].StartPosition;
|
||||
Ghosts[i].AfraidTime = 0;
|
||||
Ghosts[i].IsAfraidEffectOn = false;
|
||||
Ghosts[i].IsAlive = true;
|
||||
Ghosts[i].Directions.Clear();
|
||||
Ghosts[i].CurrentDirection = DirectionsEnum.Stop;
|
||||
Ghosts[i].Speed = 1.5f;
|
||||
}
|
||||
}
|
||||
|
||||
public static void UpdateHighScore(int highScore)
|
||||
{
|
||||
File.WriteAllText("highScore.txt", highScore.ToString());
|
||||
}
|
||||
|
||||
public static int LoadHighScore()
|
||||
{
|
||||
if (!File.Exists("highScore.txt"))
|
||||
File.Create("highscore.txt").Dispose();
|
||||
|
||||
string data = File.ReadAllText("highScore.txt");
|
||||
|
||||
if (string.IsNullOrEmpty(data)) return 0;
|
||||
return int.Parse(data);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
BIN
Pacman/bin/Debug/netcoreapp3.1/Content/chompSound.wma
Normal file
BIN
Pacman/bin/Debug/netcoreapp3.1/Content/chompSound.wma
Normal file
Binary file not shown.
BIN
Pacman/bin/Debug/netcoreapp3.1/Content/chompSound.xnb
Normal file
BIN
Pacman/bin/Debug/netcoreapp3.1/Content/chompSound.xnb
Normal file
Binary file not shown.
BIN
Pacman/bin/Debug/netcoreapp3.1/Content/deathSound.xnb
Normal file
BIN
Pacman/bin/Debug/netcoreapp3.1/Content/deathSound.xnb
Normal file
Binary file not shown.
BIN
Pacman/bin/Debug/netcoreapp3.1/Content/fruitEaten.xnb
Normal file
BIN
Pacman/bin/Debug/netcoreapp3.1/Content/fruitEaten.xnb
Normal file
Binary file not shown.
BIN
Pacman/bin/Debug/netcoreapp3.1/Content/gameFont.xnb
Normal file
BIN
Pacman/bin/Debug/netcoreapp3.1/Content/gameFont.xnb
Normal file
Binary file not shown.
BIN
Pacman/bin/Debug/netcoreapp3.1/Content/gameOverFont.xnb
Normal file
BIN
Pacman/bin/Debug/netcoreapp3.1/Content/gameOverFont.xnb
Normal file
Binary file not shown.
BIN
Pacman/bin/Debug/netcoreapp3.1/Content/ghostDeathSound.xnb
Normal file
BIN
Pacman/bin/Debug/netcoreapp3.1/Content/ghostDeathSound.xnb
Normal file
Binary file not shown.
BIN
Pacman/bin/Debug/netcoreapp3.1/Content/intermissionSound.wma
Normal file
BIN
Pacman/bin/Debug/netcoreapp3.1/Content/intermissionSound.wma
Normal file
Binary file not shown.
BIN
Pacman/bin/Debug/netcoreapp3.1/Content/intermissionSound.xnb
Normal file
BIN
Pacman/bin/Debug/netcoreapp3.1/Content/intermissionSound.xnb
Normal file
Binary file not shown.
BIN
Pacman/bin/Debug/netcoreapp3.1/Content/logo.xnb
Normal file
BIN
Pacman/bin/Debug/netcoreapp3.1/Content/logo.xnb
Normal file
Binary file not shown.
BIN
Pacman/bin/Debug/netcoreapp3.1/Content/mainSong.wma
Normal file
BIN
Pacman/bin/Debug/netcoreapp3.1/Content/mainSong.wma
Normal file
Binary file not shown.
BIN
Pacman/bin/Debug/netcoreapp3.1/Content/mainSong.xnb
Normal file
BIN
Pacman/bin/Debug/netcoreapp3.1/Content/mainSong.xnb
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
1
Pacman/bin/Debug/netcoreapp3.1/highscore.txt
Normal file
1
Pacman/bin/Debug/netcoreapp3.1/highscore.txt
Normal file
|
@ -0,0 +1 @@
|
|||
4220
|
|
@ -1,5 +1,5 @@
|
|||
┏━━━━━━━━━━━━┓┏━━━━━━━━━━━━┓
|
||||
┃........... ┃┃............┃
|
||||
┃............┃┃............┃
|
||||
┃.┏━━┓.┏━━━┓.┃┃.┏━━━┓.┏━━┓.┃
|
||||
┃O┃ ┃.┃ ┃.┃┃.┃ ┃.┃ ┃O┃
|
||||
┃.┗━━┛.┗━━━┛.┗┛.┗━━━┛.┗━━┛.┃
|
||||
|
@ -10,9 +10,9 @@
|
|||
┗━━━━┓.┃┗━━┓ ┃┃ ┏━━┛┃.┏━━━━┛
|
||||
┃.┃┏━━┛ ┗┛ ┗━━┓┃.┃
|
||||
┃.┃┃ ┃┃.┃
|
||||
┃.┃┃ ┏━---━━┓ ┃┃.┃
|
||||
┃.┃┃ ┏━----━┓ ┃┃.┃
|
||||
━━━━━┛.┗┛ ┃ ┃ ┗┛.┗━━━━━
|
||||
. ┃ ┃ .
|
||||
1 . ┃ ┃ . 2
|
||||
━━━━━┓.┏┓ ┃ ┃ ┏┓.┏━━━━━
|
||||
┃.┃┃ ┗━━━━━━┛ ┃┃.┃
|
||||
┃.┃┃ ┃┃.┃
|
||||
|
@ -28,4 +28,4 @@
|
|||
┃.┏━━━━┛┗━━┓.┃┃.┏━━┛┗━━━━┓.┃
|
||||
┃.┗━━━━━━━━┛.┗┛.┗━━━━━━━━┛.┃
|
||||
┃..........................┃
|
||||
┗━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||
┗━━━━━━━━━━━━━━━━━━━━━━━━━━┛
|
|
@ -1 +1 @@
|
|||
9decbe0d7391156d6300689225fe8c5e76b65e5a
|
||||
c9ee6a37358296c75d1682f0de32f3e0317744c8
|
||||
|
|
|
@ -41,3 +41,15 @@ C:\Users\Semejkin_AV\Documents\Github_repos\Pacman\Pacman\bin\Debug\netcoreapp3.
|
|||
C:\Users\Semejkin_AV\Documents\Github_repos\Pacman\Pacman\bin\Debug\netcoreapp3.1\Content\wall.xnb
|
||||
C:\Users\Semejkin_AV\Documents\Github_repos\Pacman\Pacman\bin\Debug\netcoreapp3.1\Content\graph.xnb
|
||||
C:\Users\Semejkin_AV\Documents\Github_repos\Pacman\Pacman\bin\Debug\netcoreapp3.1\Content\sprites.xnb
|
||||
C:\Users\Semejkin_AV\Documents\Github_repos\Pacman\Pacman\bin\Debug\netcoreapp3.1\Content\gameFont.xnb
|
||||
C:\Users\Semejkin_AV\Documents\Github_repos\Pacman\Pacman\bin\Debug\netcoreapp3.1\Content\logo.xnb
|
||||
C:\Users\Semejkin_AV\Documents\Github_repos\Pacman\Pacman\bin\Debug\netcoreapp3.1\Content\chompSound.xnb
|
||||
C:\Users\Semejkin_AV\Documents\Github_repos\Pacman\Pacman\bin\Debug\netcoreapp3.1\Content\deathSound.xnb
|
||||
C:\Users\Semejkin_AV\Documents\Github_repos\Pacman\Pacman\bin\Debug\netcoreapp3.1\Content\mainSong.wma
|
||||
C:\Users\Semejkin_AV\Documents\Github_repos\Pacman\Pacman\bin\Debug\netcoreapp3.1\Content\mainSong.xnb
|
||||
C:\Users\Semejkin_AV\Documents\Github_repos\Pacman\Pacman\bin\Debug\netcoreapp3.1\Content\gameOverFont.xnb
|
||||
C:\Users\Semejkin_AV\Documents\Github_repos\Pacman\Pacman\bin\Debug\netcoreapp3.1\Content\intermissionSound.wma
|
||||
C:\Users\Semejkin_AV\Documents\Github_repos\Pacman\Pacman\bin\Debug\netcoreapp3.1\Content\intermissionSound.xnb
|
||||
C:\Users\Semejkin_AV\Documents\Github_repos\Pacman\Pacman\bin\Debug\netcoreapp3.1\Content\ghostDeathSound.xnb
|
||||
C:\Users\Semejkin_AV\Documents\Github_repos\Pacman\Pacman\bin\Debug\netcoreapp3.1\Content\fruitEaten.xnb
|
||||
C:\Users\Semejkin_AV\Documents\Github_repos\Pacman\Pacman\bin\Debug\netcoreapp3.1\Content\chompSound.wma
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Reference in a new issue