//Karte Initsialisieren und Felder belegen public void initKarte(Eventhandler Events, HeldStatus HUD) { feldStatus = new int[kartenHöhe, kartenBreite]; Random ZufallsGenerator = new Random(); //Feld Daten füllen for (int y = 0; y < kartenHöhe; y++) //Y Achse { for (int x = 0; x < kartenBreite; x++) //X Achse { Console.SetCursorPosition(x + 0, y + 0); if (y == 0 | x == 0 | y == kartenHöhe - 1 | x == kartenBreite - 1) { feldStatus[y, x] = 1; } else { feldStatus[y, x] = 0; //Zufalls Generator 1-100 entweder 2: Geld, 3: Item, 4: Gegner int feldZufall = ZufallsGenerator.Next(1, 100); switch (feldZufall) { case 2: feldStatus[y, x] = 2; feldMenge++; break; case 3: feldStatus[y, x] = 3; feldMenge++; break; case 4: feldStatus[y, x] = 4; feldMenge++; break; } //Felder zuweisen Ende } } } Level = Level + 0.2; }
//Grundlegendes Menü aufbauen public void initStartMenu(Menu Startmenu) { while (istImStartMenu == true) { Console.Clear(); Console.SetCursorPosition(26, 4); Console.WriteLine("Willkommen beim Pixel Doom"); Console.SetCursorPosition(28, 14); Console.WriteLine("[ 1 ]-Neues Spiel"); Console.SetCursorPosition(28, 15); Console.WriteLine("[ 2 ]-Highscore"); Console.SetCursorPosition(28, 16); Console.WriteLine("[ 3 ]-Exit"); Console.SetCursorPosition(46, 35); Console.WriteLine("Produziert von Michael Börner"); Console.SetCursorPosition(5, 35); Console.WriteLine("Alle Rechte Vorbehalten"); //Switch Auswahl string menuAuswahl; Console.SetCursorPosition(26, 23); Console.Write("Bitte Auswahl eingeben: "); menuAuswahl = Console.ReadLine(); switch (menuAuswahl) { case "1": //ALLE OBJEKTE ERSTELLEN FÜR DEN START Karte Karte = new Karte(20, 40, 20, 20); //Kartenhöhe Kartenbreite und Cursor X Y HeldStatus HUD = new HeldStatus(20, 40); Eventhandler Events = new Eventhandler(); Hauptschleife Spielschleife = new Hauptschleife(); Spieler Spieler1 = new Spieler(); Gegenstande Inventar = new Gegenstande(); HighScore Punkte = new HighScore(); Shop Kaufen = new Shop(); Karte.initKarte(Events, HUD); Karte.zeichneKarte(); HUD.zeichneHud(Spieler1, Inventar); Spielschleife.spielSchleife(Karte, HUD, Events, Spieler1, Startmenu, Inventar, Kaufen); break; //Highscore case "2": Console.Clear(); Spieler Spieler2 = new Spieler(); HighScore punkteAbfragen = new HighScore(); punkteAbfragen.dateiLesen(Spieler2); Console.ReadKey(); break; case "3": System.Environment.Exit(0); break; default: break; } } }
public void spielSchleife(Karte Karte, HeldStatus HUD, Eventhandler Events, Spieler Spieler1, Menu Startmenu, Gegenstande Inventar, Shop Kaufen) { //Spieler1 Start Werte Console.SetCursorPosition(1, 1); Spieler1.setXSpielerPos = 1; Spieler1.setYSpielerPos = 1; Console.Write("@"); while (istSpielAktiv == true) { //Tasten Abfragen Console.SetCursorPosition(1, 22); ConsoleKeyInfo taste; taste = Console.ReadKey(); HUD.zeichneHud(Spieler1, Inventar); switch (taste.Key) { //Pfeil Rauf case ConsoleKey.UpArrow: switch (Karte.feldStatus[Spieler1.getySpielerPos - 1, Spieler1.getxSpielerPos]) { case 0: feldPrüfen(Spieler1, Karte, HUD, Inventar, Events, 0); Spieler1.spielerGehtHoch(Spieler1, Karte); break; case 1: break; case 2: feldPrüfen(Spieler1, Karte, HUD, Inventar, Events, 2); Spieler1.spielerGehtHoch(Spieler1, Karte); break; case 3: feldPrüfen(Spieler1, Karte, HUD, Inventar, Events, 3); Spieler1.spielerGehtHoch(Spieler1, Karte); break; case 4: feldPrüfen(Spieler1, Karte, HUD, Inventar, Events, 4); Spieler1.spielerGehtHoch(Spieler1, Karte); break; } break; //Pfeil Runter case ConsoleKey.DownArrow: switch (Karte.feldStatus[Spieler1.getySpielerPos + 1, Spieler1.getxSpielerPos]) { case 0: feldPrüfen(Spieler1, Karte, HUD, Inventar, Events, 0); Spieler1.spielerGehtRunter(Spieler1, Karte); break; case 1: break; case 2: feldPrüfen(Spieler1, Karte, HUD, Inventar, Events, 2); Spieler1.spielerGehtRunter(Spieler1, Karte); break; case 3: feldPrüfen(Spieler1, Karte, HUD, Inventar, Events, 3); Spieler1.spielerGehtRunter(Spieler1, Karte); break; case 4: feldPrüfen(Spieler1, Karte, HUD, Inventar, Events, 4); Spieler1.spielerGehtRunter(Spieler1, Karte); break; } break; //Pfeil Links case ConsoleKey.LeftArrow: switch (Karte.feldStatus[Spieler1.getySpielerPos, Spieler1.getxSpielerPos - 1]) { case 0: feldPrüfen(Spieler1, Karte, HUD, Inventar, Events, 0); Spieler1.spielerGehtLinks(Spieler1, Karte); break; case 1: break; case 2: feldPrüfen(Spieler1, Karte, HUD, Inventar, Events, 2); Spieler1.spielerGehtLinks(Spieler1, Karte); break; case 3: feldPrüfen(Spieler1, Karte, HUD, Inventar, Events, 3); Spieler1.spielerGehtLinks(Spieler1, Karte); break; case 4: feldPrüfen(Spieler1, Karte, HUD, Inventar, Events, 4); Spieler1.spielerGehtLinks(Spieler1, Karte); break; } break; //Pfeil Rechts case ConsoleKey.RightArrow: switch (Karte.feldStatus[Spieler1.getySpielerPos, Spieler1.getxSpielerPos + 1]) { case 0: feldPrüfen(Spieler1, Karte, HUD, Inventar, Events, 0); Spieler1.spielerGehtRechts(Spieler1, Karte); break; case 1: break; case 2: feldPrüfen(Spieler1, Karte, HUD, Inventar, Events, 2); Spieler1.spielerGehtRechts(Spieler1, Karte); break; case 3: feldPrüfen(Spieler1, Karte, HUD, Inventar, Events, 3); Spieler1.spielerGehtRechts(Spieler1, Karte); break; case 4: feldPrüfen(Spieler1, Karte, HUD, Inventar, Events, 4); Spieler1.spielerGehtRechts(Spieler1, Karte); break; } break; //Austrüstungs Auswahl case ConsoleKey.W: Inventar.selectWeapon(HUD, Spieler1); HUD.zeichneHud(Spieler1, Inventar); Karte.zeichneKarte(); zeichneSpielerPos(Spieler1); break; case ConsoleKey.A: Inventar.selectArmor(HUD, Spieler1); HUD.zeichneHud(Spieler1, Inventar); Karte.zeichneKarte(); zeichneSpielerPos(Spieler1); break; case ConsoleKey.R: Inventar.selectRing(HUD, Spieler1); HUD.zeichneHud(Spieler1, Inventar); Karte.zeichneKarte(); zeichneSpielerPos(Spieler1); break; case ConsoleKey.E: Kaufen.verkaufeItem(Spieler1, Inventar); HUD.zeichneHud(Spieler1, Inventar); Karte.zeichneKarte(); zeichneSpielerPos(Spieler1); Inventar.selectArmor(HUD, Spieler1); Inventar.selectWeapon(HUD, Spieler1); Inventar.selectRing(HUD, Spieler1); break; } } }
public void feldPrüfen(Spieler Spieler1, Karte Karte, HeldStatus HUD, Gegenstande Inventar, Eventhandler Events, int feldnummer) { switch (feldnummer) { case 0: break; case 1: break; case 2: Spieler1.sammelMunze(HUD, Spieler1, Inventar); Karte.feldMenge--; break; case 3: Spieler1.sammelHP(HUD, Spieler1, Inventar); Karte.feldMenge--; break; case 4: Events.starteKampf(Spieler1, Inventar, HUD, Karte); Karte.zeichneKarte(); zeichneSpielerPos(Spieler1); Karte.feldMenge--; break; } if (Karte.feldMenge <= 0) { Karte.initKarte(Events, HUD); Karte.zeichneKarte(); zeichneSpielerPos(Spieler1); } }