private TetrisBlock MakeBadBlock() //Randomly generates a bad block { TetrisBlock BadBlock = new Opiece(EnemyGrid); switch (GameWorld.Random.Next(5)) { case 0: BadBlock = new FullOpiece(EnemyGrid); break; case 1: BadBlock = new Hpiece(EnemyGrid); break; case 2: BadBlock = new ThreeDots(EnemyGrid); break; case 3: BadBlock = new TwoLines(EnemyGrid); break; case 4: BadBlock = new Ldiagonal(EnemyGrid); break; case 5: BadBlock = new InvisableTpiece(EnemyGrid); break; } return(BadBlock); }
/// <summary> /// Read next to two lines from reader. /// </summary> /// <param name="reader">Reader</param> /// <param name="two">Refernce to TwoLines object</param> /// <returns>True if two lines were read correct, false in otherwise</returns> protected bool GetNextTwoLines(StreamReader reader, ref TwoLines twoLines) { if ((twoLines.First = reader.ReadLine()) == null) { return(false); } if ((twoLines.Second = reader.ReadLine()) == null) { return(false); } return(true); }
/// <summary> /// Parse file(filename) to collection of BowlingScore. /// </summary> /// <returns>Collection of BowlingScore</returns> public ICollection <BowlingScore> Parse() { var scores = new List <BowlingScore>(); var reader = new StreamReader(filename); var two = new TwoLines(); while (GetNextTwoLines(reader, ref two)) { if (!string.IsNullOrWhiteSpace(two.First) && !string.IsNullOrWhiteSpace(two.Second)) { var name = two.First; var points = LinePointsToIntArray(two.Second); scores.Add(new BowlingScore(name, points)); } } reader.Close(); return(scores); }