private Surface[] VerschillendeLevels = new Surface[5]; // //Verschillende keuzes(2de startscherm) #endregion Fields #region Constructors public Manager() { play = new Audio(); //aanmaken audio audioThread = new Thread(new ThreadStart(play.PlayAudio));//starten tread laadTextarrays();//Aanmaken van textblock voor beginscherm startaf = new Surface("motherload_logo.png");//toewijzen van afb(1ste startscherm) Levelkeuze = new Surface("motherload_logo2.png");//toewijzen van afb(2de startscherm) LoseScreen = new Surface("explosion.png"); //Toewijzen afb eindscherm mVideo = Video.SetVideoMode(750,600);//Grote van window instellen Video.WindowCaption = "Motherload"; //Titel in titelbalk instellen speler = new Player();//aanmaken van speler level = new Level();//aanmaken van level gameObjecten = new List<GameObject>(); col = new CollisionDetection();//aanmaken van nieuw collisionDetection removeDirt = new RemoveDirt();//Aanmaken van Removedirt gameObjecten.Add(speler); laad = new LoadLevel(); Cheater = new CheatEngin(); audioThread.Start(); CreerLevens(); Events.Fps = 60; Events.KeyboardDown += Events_KeyboardDown; Events.Quit += Events_Quit; Events.Tick += Events_Tick; Events.Run(); }
public void Removedirt( Player speler,Level level) { Rectangle onder = new Rectangle(speler.Position.X+10, speler.Position.Y + 50, 45, 4); Rectangle left = new Rectangle(speler.Position.X, speler.Position.Y + 10, 4, 35); if (speler.down == true && onder.IntersectsWith(level.SaveColDirt.Rect)) { if(level.SaveColDirt.ID!=5) { level.dirtobject.Remove(level.SaveColDirt); saveLeeg = copyEigenschappen(level.SaveColDirt); level.leegObject.Add(saveLeeg); speler.MaxY = 600; speler.MaxX = 750; speler.MinX = 0; score += level.SaveColDirt.ID * 10; foreach (Dirt g in level.dirtobject) { g.Update(); } foreach(Leeg L in level.leegObject) { L.Update(); } level.SaveColDirt = new Dirt(); } } }
public void Collisiondetection(Player speler, Level level) { multrec[0] = new Rectangle(speler.Position.X + 10, speler.Position.Y, 45, 4); multrec[1] = new Rectangle(speler.Position.X, speler.Position.Y + 10, 4, 35); multrec[2] = new Rectangle(speler.Position.X + 60, speler.Position.Y + 10, 4, 30); multrec[3] = new Rectangle(speler.Position.X + 10, speler.Position.Y + 50, 45, 4); CheckDirtCol(multrec, level, speler); if(speler.Position.Y> tempPoint.Y-50 && speler.Collision == true) { speler.MaxY = (tempPoint.Y - 50); } CheckVoidCol(multrec, level, speler); CheckDiamondCol(multrec, level, speler); CheckEnd(multrec, level, speler); }
private void CheckDiamondCol(Rectangle[] multrec, Level level, Player speler) { foreach (Diamant D in level.DiamantObj) { if (CheckRectangleCollision(multrec[3], D.Rect) == true || CheckRectangleCollision(multrec[0], D.Rect) == true ||CheckRectangleCollision(multrec[2], D.Rect) == true||CheckRectangleCollision(multrec[1], D.Rect) == true) //colision op onderste col rect met collision rect van elementen dirt { SaveD = D; score++; ELeven++; if(ELeven ==10) { extraleven = true; ELeven = 0; } } } level.DiamantObj.Remove(SaveD); SaveD = new Diamant(); }
// stijgen private void schuifWereldYMin(Player speler) { foreach (Dirt g in dirtobject) { g.Position.Y += 5; g.sy += 5; } speler.Position.Y += 5; foreach (Leeg L in leegObject) { L.Position.Y += 5; L.sy += 5; } foreach (Diamant D in DiamantObj) { D.Position.Y += 5; } foreach (Finale f in Finish) { f.Position.Y += 5; } tellerY += 5; }
// dalen private void schuifWereldYMax(Player speler) { foreach(Dirt g in dirtobject) { g.Position.Y -=speler.Gravety; g.sy -= speler.Gravety; } speler.Position.Y-=speler.Gravety; foreach(Leeg L in leegObject) { L.Position.Y -= speler.Gravety; L.sy -= speler.Gravety; } foreach(Diamant D in DiamantObj) { D.Position.Y -= speler.Gravety; } foreach (Finale f in Finish) { f.Position.Y -= speler.Gravety; } tellerY -= speler.Gravety; }
public void MoveLevel(Player speler) { if (speler.Position.X > 500 && speler.right == true && tellerX >-960) //rechts { schuifWereldXMax(speler); } if (speler.Position.X < 100 &&speler.left == true && tellerX <0) ///links { schuifWereldXMin(speler); } if (speler.Position.Y > 250 ) //dalen { schuifWereldYMax(speler); } if (speler.Position.Y < 150 && tellerY<0 ) //stijgen { schuifWereldYMin(speler); } }
void Events_KeyboardDown(object sender, SdlDotNet.Input.KeyboardEventArgs e) { if (startMenu == true)//Mag het startlenu getoont worden { if (e.Key == SdlDotNet.Input.Key.UpArrow)//freemode Up { if (beweeg.Y > 450) beweeg.Y -= 50; selctieboxje = new Box(beweeg, new Size(750, 50)); } if (e.Key == SdlDotNet.Input.Key.DownArrow) //Down { if (beweeg.Y < 550) beweeg.Y += 50; selctieboxje = new Box(beweeg, new Size(750, 50)); } } if (levela == true) //kan het twede startscherm getoond worden { if (e.Key == SdlDotNet.Input.Key.UpArrow)//freemode Up { if (levela == true) if (textvalue < 250) textvalue += 50; } if (e.Key == SdlDotNet.Input.Key.DownArrow) //Down { if (levela == true) if (textvalue > 100) textvalue -= 50; } } if(e.Key == SdlDotNet.Input.Key.Escape) { if ((Remaining.TotalMilliseconds <= 0 || speler.Levens <= 0) && end == true) { play.StopMusic(); esc = true; Events.QuitApplication(); PlayBoem = true; PlayYha = true; } if(col.GameEnd || Cheater.Enough) { speler = new Player(); level = new Level(); gameObjecten = new List<GameObject>(); col = new CollisionDetection(); removeDirt = new RemoveDirt(); gameObjecten.Add(speler); laad = new LoadLevel(); CreerLevens(); levela = true; Level1 = false; Level2= false; PlayBoem = true; PlayYha = true; kleur = Color.Green; } } if(e.Key==SdlDotNet.Input.Key.F1) { Cheater.CheatBaar = true; } if (e.Key == SdlDotNet.Input.Key.Return) { if (startMenu ==true) { if (beweeg.Y == 550) { Events.QuitApplication(); } else if (beweeg.Y == 500) { levela = true; startMenu = false; go = false; } else if (beweeg.Y == 450) { laad.LevelFile = "Level.txt"; initialize(); Free = true; end = true; go = false; } } if(levela == true) { if(textvalue == 100) { Events.QuitApplication(); } else if(textvalue ==150) { levela = false; Free = false; beweeg.Y = 450; textvalue = 250; startMenu = true; go = false; } else if(textvalue ==200) { laad.LevelFile = "Level2.txt"; initialize(); Time = DateTime.Now; Level2 = true; levela = false; end = true; } else if(textvalue == 250 && go ==true) { laad.LevelFile = "Level1.txt"; initialize(); Time = DateTime.Now; end = true; Level1 = true; levela = false; } go = true; } } }
private void CheckDirtCol(Rectangle[] multrec , Level level , Player speler) { foreach (Dirt g in level.dirtobject) { if (CheckRectangleCollision(multrec[3], g.Rect) == true) //colision op onderste col rect met collision rect van elementen dirt { level.SaveColDirt = g; tempPoint = g.Position; speler.MaxY = speler.Position.Y; if (speler.Gravety > 12 && speler.Gravety < 17) { muziek.PlayMetalClash(60); speler.Levens -= 1; speler.Gravety = 0; } else if (speler.Gravety > 17 && speler.Gravety < 21) { muziek.PlayMetalClash(80); speler.Levens -= 2; speler.Gravety = 0; } else if (speler.Gravety > 21) { muziek.PlayMetalClash(100); speler.Levens -= 3; speler.Gravety = 0; } speler.Collision = true; } if (CheckRectangleCollision(multrec[0], g.Rect) == true)//col voor boven rect { level.SaveColDirt = g; speler.MinY = speler.Position.Y; } if (CheckRectangleCollision(multrec[2], g.Rect) == true)//col voor rechtse rect { level.SaveColDirt = g; speler.MaxX = speler.Position.X; } if (CheckRectangleCollision(multrec[1], g.Rect) == true)// col voor linkse rect { level.SaveColDirt = g; speler.MinX = speler.Position.X; } } }
private void CheckVoidCol(Rectangle[] multrec, Level level, Player speler) { foreach (Leeg L in level.leegObject) { if ((CheckRectangleCollision(multrec[3], L.Rect) == true) && (CheckRectangleCollision(multrec[3], level.SaveColDirt.Rect) == false)) { speler.MaxY = 600; speler.Collision = false; } if (CheckRectangleCollision(multrec[0], L.Rect) == true && CheckRectangleCollision(multrec[0], level.SaveColDirt.Rect) == false) { speler.MinY = 0; } if (CheckRectangleCollision(multrec[2], L.Rect) == true && CheckRectangleCollision(multrec[2], level.SaveColDirt.Rect) == false) { speler.MaxX = 750; } if (CheckRectangleCollision(multrec[1], L.Rect) == true && CheckRectangleCollision(multrec[1], level.SaveColDirt.Rect) == false) { speler.MinX = 0; } } }
private void CheckEnd(Rectangle[] multrec, Level level, Player speler) { foreach (Finale f in level.Finish) { if ((CheckRectangleCollision(multrec[3], f.Rect) == true) || (CheckRectangleCollision(multrec[1], f.Rect) == true) || (CheckRectangleCollision(multrec[2], f.Rect) == true)) { speler.MaxY = speler.Position.Y; if(f.iD ==8) gameEnd = true; } } }