public Bil(int x, int y, int tileSizeInPixels, Riktning bilensStartRiktning, int[,] map) { centerX = x; centerY = y; dir = bilensStartRiktning; tileSize = tileSizeInPixels; this.map = map; }
private static void SpawnPositioner() { Spelare1LodrattPosition = 0; Spelare1VagrattPosition = Console.WindowHeight / 2; Spelare2LodrattPosition = Console.WindowWidth - 1; Spelare2VagrattPosition = Console.WindowHeight / 2; Spelare1Riktning = Riktning.Vanster; Spelare2Riktning = Riktning.Hoger; }
public static bool ParseInputTo(out Point location, out Riktning direction) { string[] inputs; location = null; direction = Riktning.INVALID; while (true) { inputs = Console.ReadLine().ToUpper().Split(' '); if (inputs.Length >= 2) { location = Point.ParseFromStrings(inputs[0], inputs[1]); if (location == null) { Console.WriteLine("Error parsing to integer. "); continue; } } else { continue; } if (inputs.Length >= 3) { if (!char.IsLetter(inputs[2][0])) { Console.WriteLine("Third parameter is not a letter."); continue; } if (!Enum.TryParse(inputs[2], out direction)) { Console.WriteLine("Error while parsing. "); continue; } return(true); } else { if (location != null) { return(true); } return(false); } } }
public void bytRiktning(Riktning nyRiktning) { if (nyRiktning == Riktning.höger) { if (dir == Riktning.höger) { dir = Riktning.ner; } else if (dir == Riktning.vänster) { dir = Riktning.upp; } else if (dir == Riktning.ner) { dir = Riktning.vänster; } else { dir = Riktning.höger; } } else { if (dir == Riktning.höger) { dir = Riktning.upp; } else if (dir == Riktning.vänster) { dir = Riktning.ner; } else if (dir == Riktning.ner) { dir = Riktning.höger; } else { dir = Riktning.vänster; } } }
protected void MoveInDirection(Riktning direction, int step) { switch (direction) { case Riktning.N: Location.Y += step; break; case Riktning.S: Location.Y -= step; break; case Riktning.E: Location.X += step; break; case Riktning.W: Location.X -= step; break; default: throw new ArgumentException("Direction invalid."); } }
public MonsterTruck(Riktning direction, Point location) : base(direction, location) { }
public static void TronStart() { Console.CursorVisible = false; Console.BufferHeight = Console.WindowHeight; Console.BufferWidth = Console.WindowWidth; SpawnPositioner(); Instruktioner(); TronAnvands = new bool[Console.WindowWidth, Console.WindowHeight]; while (true) { if (Console.KeyAvailable) { ConsoleKeyInfo knappinfo = Console.ReadKey(true); ConsoleKey knapp = knappinfo.Key; switch (knapp) { case ConsoleKey.Escape: break; case ConsoleKey.LeftArrow: if (Spelare2Riktning != Riktning.Hoger) { Spelare2Riktning = Riktning.Vanster; } break; case ConsoleKey.UpArrow: if (Spelare2Riktning != Riktning.Ned) { Spelare2Riktning = Riktning.Upp; } break; case ConsoleKey.RightArrow: if (Spelare2Riktning != Riktning.Vanster) { Spelare2Riktning = Riktning.Hoger; } break; case ConsoleKey.DownArrow: if (Spelare2Riktning != Riktning.Upp) { Spelare2Riktning = Riktning.Ned; } break; case ConsoleKey.A: if (Spelare1Riktning != Riktning.Hoger) { Spelare1Riktning = Riktning.Vanster; } break; case ConsoleKey.D: if (Spelare1Riktning != Riktning.Vanster) { Spelare1Riktning = Riktning.Hoger; } break; case ConsoleKey.S: if (Spelare1Riktning != Riktning.Upp) { Spelare1Riktning = Riktning.Ned; } break; case ConsoleKey.W: if (Spelare1Riktning != Riktning.Ned) { Spelare1Riktning = Riktning.Upp; } break; default: break; } } TronRorelser(); bool Spelare1Vann = HarSpelareForlorat(Spelare1VagrattPosition, Spelare1LodrattPosition); bool Spelare2Vann = HarSpelareForlorat(Spelare2VagrattPosition, Spelare2LodrattPosition); if (Spelare1Vann && Spelare2Vann) { Console.ForegroundColor = ConsoleColor.White; Console.Clear(); SkrivUtTron("Draw game!!!"); SkrivUtTron($"Current score: {Spelare1Poeng} - {Spelare2Poeng}"); ResetGame(); } if (Spelare1Vann && !Spelare2Vann) { Console.ForegroundColor = ConsoleColor.Red; Console.Clear(); Spelare2Poeng++; SkrivUtTron("Second player wins!!!"); SkrivUtTron($"Current score: {Spelare1Poeng} - {Spelare2Poeng}"); ResetGame(); } if (Spelare2Vann && !Spelare1Vann) { Console.ForegroundColor = ConsoleColor.Blue; Console.Clear(); Spelare1Poeng++; SkrivUtTron("First player wins!!!"); SkrivUtTron($"Current score: {Spelare1Poeng} - {Spelare2Poeng}"); ResetGame(); } if (Spelare2Poeng == 5) { Console.Clear(); Console.ForegroundColor = ConsoleColor.Red; SkrivUtTron("PLAYER TWO WINS!"); SkrivUtTron("Press any key to continue..."); Console.ReadKey(); Console.Clear(); } if (Spelare1Poeng == 5) { Console.ForegroundColor = ConsoleColor.Blue; Console.Clear(); SkrivUtTron("PLAYER ONE WINS!"); SkrivUtTron("Press any key to continue..."); Console.ReadKey(); Console.Clear(); } Skriv.SkrivUtPosition(Spelare1LodrattPosition, Spelare1VagrattPosition, '0', ConsoleColor.Blue); Skriv.SkrivUtPosition(Spelare2LodrattPosition, Spelare2VagrattPosition, '0', ConsoleColor.Red); TronAnvands[Spelare1LodrattPosition, Spelare1VagrattPosition] = true; TronAnvands[Spelare2LodrattPosition, Spelare2VagrattPosition] = true; Thread.Sleep(100); } }
public Vehicle(Riktning direction, Point location) { Location = location; CurrentDirection = direction; }