summaryrefslogtreecommitdiff
path: root/Penguloon/Levels
diff options
context:
space:
mode:
Diffstat (limited to 'Penguloon/Levels')
-rw-r--r--Penguloon/Levels/IceLevel.cs2
-rw-r--r--Penguloon/Levels/IceLevel3.cs2
-rw-r--r--Penguloon/Levels/LevelBase.cs13
-rw-r--r--Penguloon/Levels/Map.cs2
-rw-r--r--Penguloon/Levels/SandLevel2.cs2
-rw-r--r--Penguloon/Levels/SandLevel3.cs89
-rw-r--r--Penguloon/Levels/SpaceLevel1.cs89
-rw-r--r--Penguloon/Levels/SpaceLevel2.cs89
-rw-r--r--Penguloon/Levels/WaveManager.cs11
9 files changed, 291 insertions, 8 deletions
diff --git a/Penguloon/Levels/IceLevel.cs b/Penguloon/Levels/IceLevel.cs
index 07d57b7..d041095 100644
--- a/Penguloon/Levels/IceLevel.cs
+++ b/Penguloon/Levels/IceLevel.cs
@@ -11,7 +11,7 @@ namespace Penguloon.Levels
public IceLevel() : base()
{
this.SplashArt = ContentManager.GetTexture("SplashArt/1");
- this.Money = 123350;
+ this.Money = 350;
this.Health = 200;
this.ID = 1;
this.MinimumLevel = 1;
diff --git a/Penguloon/Levels/IceLevel3.cs b/Penguloon/Levels/IceLevel3.cs
index f7a46e4..491a0dd 100644
--- a/Penguloon/Levels/IceLevel3.cs
+++ b/Penguloon/Levels/IceLevel3.cs
@@ -11,7 +11,7 @@ namespace Penguloon.Levels
public IceLevel3() : base()
{
this.SplashArt = ContentManager.GetTexture("SplashArt/3");
- this.Money = 123550;
+ this.Money = 350;
this.Health = 200;
this.ID = 3;
this.MinimumLevel = 10;
diff --git a/Penguloon/Levels/LevelBase.cs b/Penguloon/Levels/LevelBase.cs
index f2d8234..933b817 100644
--- a/Penguloon/Levels/LevelBase.cs
+++ b/Penguloon/Levels/LevelBase.cs
@@ -74,10 +74,15 @@ namespace Penguloon.Levels
string time = "";
- if (!Finished)
- time = (DateTime.Now - StartDate).ToString("hh':'mm':'ss");
- else
- time = (EndDate - StartDate).ToString("hh':'mm':'ss");
+ TimeSpan span = (DateTime.Now - StartDate);
+ if (Finished)
+ span = (EndDate - StartDate);
+
+ string format = "mm':'ss";
+ if (span.TotalHours > 1)
+ format = "hh':'mm':'ss";
+
+ time = span.ToString(format);
ParentScene.DrawText(ContentManager.GetFont("Fonts/GWENT/36"), time, new Vector2(10, StaticUIValues.ScreenViewport.Y - ContentManager.GetFont("Fonts/GWENT/36").MeasureString("XD").Y - 10),
new Vector2(), TextAllignment.LeftTop, Color.White, Color.Black, 2);
diff --git a/Penguloon/Levels/Map.cs b/Penguloon/Levels/Map.cs
index 43a701e..1ca9ee4 100644
--- a/Penguloon/Levels/Map.cs
+++ b/Penguloon/Levels/Map.cs
@@ -101,6 +101,7 @@ namespace Penguloon.Levels
{
case LevelType.Ice: tileTexture = ContentManager.GetTileTextureByType(TileMap[y, x].Type); break;
case LevelType.Sand: tileTexture = ContentManager.GetSandTileTextureByType(TileMap[y, x].Type); break;
+ case LevelType.Space: tileTexture = ContentManager.GetSpaceTileTextureByType(TileMap[y, x].Type); break;
}
if (tileTexture != null)
@@ -121,6 +122,7 @@ namespace Penguloon.Levels
{
case LevelType.Ice: tileTextureSpare = ContentManager.GetTileTextureByType(0); break;
case LevelType.Sand: tileTextureSpare = ContentManager.GetSandTileTextureByType(0); break;
+ case LevelType.Space: tileTextureSpare = ContentManager.GetSpaceTileTextureByType(0); break;
}
// draw spare tiles
diff --git a/Penguloon/Levels/SandLevel2.cs b/Penguloon/Levels/SandLevel2.cs
index 5662e84..006737a 100644
--- a/Penguloon/Levels/SandLevel2.cs
+++ b/Penguloon/Levels/SandLevel2.cs
@@ -13,7 +13,7 @@ namespace Penguloon.Levels
this.SplashArt = ContentManager.GetTexture("SplashArt/5");
this.Money = 350;
this.Health = 200;
- this.ID = 4;
+ this.ID = 5;
this.MinimumLevel = 20;
LevelType = LevelType.Sand;
}
diff --git a/Penguloon/Levels/SandLevel3.cs b/Penguloon/Levels/SandLevel3.cs
new file mode 100644
index 0000000..a158544
--- /dev/null
+++ b/Penguloon/Levels/SandLevel3.cs
@@ -0,0 +1,89 @@
+using Microsoft.Xna.Framework;
+using Microsoft.Xna.Framework.Input.Touch;
+using Penguloon.Enemies;
+using Penguloon.Objects;
+using Penguloon.Scenes;
+
+namespace Penguloon.Levels
+{
+ public class SandLevel3 : LevelBase
+ {
+ public SandLevel3() : base()
+ {
+ this.SplashArt = ContentManager.GetTexture("SplashArt/6");
+ this.Money = 350;
+ this.Health = 200;
+ this.ID = 6;
+ this.MinimumLevel = 25;
+ LevelType = LevelType.Sand;
+ }
+
+ public override void DrawUnique(float deltaTime)
+ {
+ base.DrawUnique(deltaTime);
+ }
+
+ public override void UpdateUnique(float deltaTime, TouchLocation[] touchLocations)
+ {
+ base.UpdateUnique(deltaTime, touchLocations);
+ }
+
+ public override void CreateMap()
+ {
+ Map = new Map(ParentScene, this);
+ Map.SpawnPoint = new Vector2(4 * Map.TileWidth, -1 * Map.TileHeight);
+ Map.SpawnPointTargetPos = new Vector2(4 * Map.TileWidth, 0 * Map.TileHeight);
+ Map.FinishPoint = new Vector2(-1 * Map.TileWidth, 11 * Map.TileHeight);
+
+ Tile OO = new Tile(0, Direction.None);
+
+ Tile DN = new Tile(6, Direction.Down);
+ Tile RT = new Tile(5, Direction.Right);
+ Tile LT = new Tile(5, Direction.Left);
+ Tile UP = new Tile(6, Direction.Up);
+
+ Tile TR = new Tile(4, Direction.Right);
+ Tile RU = new Tile(4, Direction.Up);
+ Tile DR = new Tile(3, Direction.Right);
+
+ Tile DL = new Tile(1, Direction.Down);
+ Tile RD = new Tile(3, Direction.Down);
+ Tile LD = new Tile(1, Direction.Left);
+ Tile LU = new Tile(2, Direction.Left);
+ Tile TL = new Tile(2, Direction.Up);
+
+ Tile FN = new Tile(5, Direction.Finish);
+
+ Map.TileMap = new Tile[13, 18]
+ {
+ { OO,OO,OO,OO,DN,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO },
+ { OO,OO,OO,OO,DN,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO },
+ { OO,OO,RD,LT,LU,OO,OO,OO,OO,OO,OO,DR,RT,RT,RT,DL,OO,OO },
+ { OO,OO,DN,OO,OO,OO,OO,OO,OO,OO,OO,UP,OO,OO,OO,DN,OO,OO },
+ { OO,OO,DN,OO,OO,OO,OO,OO,OO,OO,OO,UP,OO,OO,OO,DN,OO,OO },
+ { OO,OO,TR,RT,RT,RT,RT,RT,RT,RT,RT,TL,OO,OO,OO,DN,OO,OO },
+ { OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,DN,OO,OO },
+ { OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,DN,OO,OO },
+ { OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,DN,OO,OO },
+ { OO,OO,RD,LT,LT,LT,LT,LT,LT,LT,LT,LT,LT,LT,LT,LU,OO,OO },
+ { OO,OO,DN,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO },
+ { FN,LT,LU,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO },
+ { OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO },
+ };
+
+ // { OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO },
+ // { OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO },
+ // { OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO },
+ // { OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO },
+ // { OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO },
+ // { OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO },
+ // { OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO },
+ // { OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO },
+ // { OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO },
+ // { OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO },
+ // { OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO },
+ // { OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO },
+ // { OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO },
+ }
+ }
+} \ No newline at end of file
diff --git a/Penguloon/Levels/SpaceLevel1.cs b/Penguloon/Levels/SpaceLevel1.cs
new file mode 100644
index 0000000..b52db2f
--- /dev/null
+++ b/Penguloon/Levels/SpaceLevel1.cs
@@ -0,0 +1,89 @@
+using Microsoft.Xna.Framework;
+using Microsoft.Xna.Framework.Input.Touch;
+using Penguloon.Enemies;
+using Penguloon.Objects;
+using Penguloon.Scenes;
+
+namespace Penguloon.Levels
+{
+ public class SpaceLevel1 : LevelBase
+ {
+ public SpaceLevel1() : base()
+ {
+ this.SplashArt = ContentManager.GetTexture("SplashArt/7");
+ this.Money = 350;
+ this.Health = 200;
+ this.ID = 7;
+ this.MinimumLevel = 1;
+ LevelType = LevelType.Space;
+ }
+
+ public override void DrawUnique(float deltaTime)
+ {
+ base.DrawUnique(deltaTime);
+ }
+
+ public override void UpdateUnique(float deltaTime, TouchLocation[] touchLocations)
+ {
+ base.UpdateUnique(deltaTime, touchLocations);
+ }
+
+ public override void CreateMap()
+ {
+ Map = new Map(ParentScene, this);
+ Map.SpawnPoint = new Vector2(-1 * Map.TileWidth, 3 * Map.TileHeight);
+ Map.SpawnPointTargetPos = new Vector2(0 * Map.TileWidth, 3 * Map.TileHeight);
+ Map.FinishPoint = new Vector2(-1 * Map.TileWidth, 9 * Map.TileHeight);
+
+ Tile OO = new Tile(0, Direction.None);
+
+ Tile DN = new Tile(6, Direction.Down);
+ Tile RT = new Tile(5, Direction.Right);
+ Tile LT = new Tile(5, Direction.Left);
+ Tile UP = new Tile(6, Direction.Up);
+
+ Tile TR = new Tile(4, Direction.Right);
+ Tile RU = new Tile(4, Direction.Up);
+ Tile DR = new Tile(3, Direction.Right);
+
+ Tile DL = new Tile(1, Direction.Down);
+ Tile RD = new Tile(3, Direction.Down);
+ Tile LD = new Tile(1, Direction.Left);
+ Tile LU = new Tile(2, Direction.Left);
+ Tile TL = new Tile(2, Direction.Up);
+
+ Tile FN = new Tile(5, Direction.Finish);
+
+ Map.TileMap = new Tile[13, 18]
+ {
+ { OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO },
+ { OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO },
+ { OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO },
+ { RT,RT,RT,RT,RT,RT,RT,RT,RT,RT,RT,RT,RT,RT,DL,OO,OO,OO },
+ { OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,DN,OO,OO,OO },
+ { OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,DN,OO,OO,OO },
+ { OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,DN,OO,OO,OO },
+ { OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,DN,OO,OO,OO },
+ { OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,DN,OO,OO,OO },
+ { FN,LT,LT,LT,LT,LT,LT,LT,LT,LT,LT,LT,LT,LT,LU,OO,OO,OO },
+ { OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO },
+ { OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO },
+ { OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO },
+ };
+
+ // { OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO },
+ // { OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO },
+ // { OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO },
+ // { OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO },
+ // { OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO },
+ // { OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO },
+ // { OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO },
+ // { OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO },
+ // { OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO },
+ // { OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO },
+ // { OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO },
+ // { OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO },
+ // { OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO },
+ }
+ }
+} \ No newline at end of file
diff --git a/Penguloon/Levels/SpaceLevel2.cs b/Penguloon/Levels/SpaceLevel2.cs
new file mode 100644
index 0000000..6de68ba
--- /dev/null
+++ b/Penguloon/Levels/SpaceLevel2.cs
@@ -0,0 +1,89 @@
+using Microsoft.Xna.Framework;
+using Microsoft.Xna.Framework.Input.Touch;
+using Penguloon.Enemies;
+using Penguloon.Objects;
+using Penguloon.Scenes;
+
+namespace Penguloon.Levels
+{
+ public class SpaceLevel2 : LevelBase
+ {
+ public SpaceLevel2() : base()
+ {
+ this.SplashArt = ContentManager.GetTexture("SplashArt/8");
+ this.Money = 350;
+ this.Health = 200;
+ this.ID = 8;
+ this.MinimumLevel = 35;
+ LevelType = LevelType.Space;
+ }
+
+ public override void DrawUnique(float deltaTime)
+ {
+ base.DrawUnique(deltaTime);
+ }
+
+ public override void UpdateUnique(float deltaTime, TouchLocation[] touchLocations)
+ {
+ base.UpdateUnique(deltaTime, touchLocations);
+ }
+
+ public override void CreateMap()
+ {
+ Map = new Map(ParentScene, this);
+ Map.SpawnPoint = new Vector2(-1 * Map.TileWidth, 6 * Map.TileHeight);
+ Map.SpawnPointTargetPos = new Vector2(0 * Map.TileWidth, 6 * Map.TileHeight);
+ Map.FinishPoint = new Vector2(18 * Map.TileWidth, 6 * Map.TileHeight);
+
+ Tile OO = new Tile(0, Direction.None);
+
+ Tile DN = new Tile(6, Direction.Down);
+ Tile RT = new Tile(5, Direction.Right);
+ Tile LT = new Tile(5, Direction.Left);
+ Tile UP = new Tile(6, Direction.Up);
+
+ Tile TR = new Tile(4, Direction.Right);
+ Tile RU = new Tile(4, Direction.Up);
+ Tile DR = new Tile(3, Direction.Right);
+
+ Tile DL = new Tile(1, Direction.Down);
+ Tile RD = new Tile(3, Direction.Down);
+ Tile LD = new Tile(1, Direction.Left);
+ Tile LU = new Tile(2, Direction.Left);
+ Tile TL = new Tile(2, Direction.Up);
+
+ Tile FN = new Tile(5, Direction.Finish);
+
+ Map.TileMap = new Tile[13, 18]
+ {
+ { OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO },
+ { OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO },
+ { OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO },
+ { OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO },
+ { OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO },
+ { OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO },
+ { RT,RT,RT,RT,RT,RT,RT,RT,RT,RT,RT,RT,RT,RT,RT,RT,RT,FN },
+ { OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO },
+ { OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO },
+ { OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO },
+ { OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO },
+ { OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO },
+ { OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO },
+ };
+
+ // { OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO },
+ // { OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO },
+ // { OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO },
+ // { OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO },
+ // { OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO },
+ // { OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO },
+ // { OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO },
+ // { OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO },
+ // { OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO },
+ // { OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO },
+ // { OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO },
+ // { OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO },
+ // { OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO },
+ }
+ }
+} \ No newline at end of file
diff --git a/Penguloon/Levels/WaveManager.cs b/Penguloon/Levels/WaveManager.cs
index cb17596..96efa6d 100644
--- a/Penguloon/Levels/WaveManager.cs
+++ b/Penguloon/Levels/WaveManager.cs
@@ -85,7 +85,16 @@ namespace Penguloon.Levels
internal void FinishRound()
{
if (!Map.Level.Finished)
- CurrentWave++;
+ {
+ CurrentWave++;
+
+ // auto start round if checkbox is selected in options menu
+ if (Map.Level.ParentScene.OptionsMenu.CheckboxAutoStart.Selected)
+ {
+ Map.Level.Map.WaveManager.StartSpawningEnemies();
+ Map.Level.ParentScene.StartRoundBtn.ControlState = ControlState.Disabled;
+ }
+ }
}
}