public void ExpectLoadFromFileToCreateFileIfTheFileDoesntExist()
        {
            var fileName     = "testFile.txt";
            var scoreHandler = new ScoresHandler();

            scoreHandler.LoadFromFile(fileName);

            Assert.True(File.Exists(fileName));
            File.Delete(fileName);
        }
Esempio n. 2
0
    public void AddToScores(Score score)
    {
        scores.Add(score);

        scores = ScoresHandler.TopScores(scores.ToArray()).ToList(); //find the top 5 scores

        ScoresHandler.SaveScores(scores.ToArray());                  //save the top scores

        if (scores.Contains(score))                                  //if the current player's score is still in the top scores
        {
            //player achieved top score
            CurrentPlayerHighScore = true;
        }
    }
Esempio n. 3
0
    public AudioSource audioSrc; //need a component as using AudioSource.PlayClipAtPoint()
                                 //creates GO that gets destroyed on loading new scenes

    void Awake()
    {
        if (INSTANCE == null)
        {
            DontDestroyOnLoad(gameObject);
            INSTANCE = this;
            ScoresHandler.CreateScoresFile(); //ensures scores file exists - will not create copies
            scores = ScoresHandler.ReadScores().ToList();
        }
        else if (INSTANCE != this)
        {
            Destroy(gameObject);
        }
    }
        /// <summary>
        /// Method that loads the records from a file, and displays them
        /// </summary>
        /// <param name="commandInfo">HIGHSCORE Command needed</param>
        public override void Execute(ICommandInfo commandInfo)
        {
            var scoresHandler = new ScoresHandler();

            scoresHandler.LoadFromFile(GlobalErrorMessages.SaveRecordstFileName);
            List <IPlayer> records = (List <IPlayer>)scoresHandler.Reccords;

            foreach (var record in records)
            {
                var recordToString = string.Format("{0} - {1}", record.Nickname, record.Score);
                this.Printer.PrintLine(recordToString);
            }

            Navigation.ReturnExitNavigation(this.engine, new SecondMenuOptions());
        }
        public void ScoresHandlerRecordsListIsUpdatedWhenAddingRecords(int count)
        {
            ScoresHandler scoresHandler = new ScoresHandler();

            int expectedListLength = scoresHandler.Reccords.Count + count;

            for (int i = 0; i < count; i++)
            {
                Player player = new Player(string.Format("Petkan{0}", i), i);
                scoresHandler.AddReccord(player);
            }

            int newListLength = scoresHandler.Reccords.Count;

            Assert.AreEqual(expectedListLength, newListLength, "List of Records are not updated!");
        }
        public void ExpectLoadFromFileToLoadCorrectList()
        {
            var fileName     = "testFile.txt";
            var scoreHandler = new ScoresHandler();
            var playerA      = new Player("TestPlayerA", 1);
            var playerB      = new Player("TestPlayerB", 2);

            scoreHandler.AddReccord(playerA);
            scoreHandler.AddReccord(playerB);

            scoreHandler.SaveToFile(fileName);

            scoreHandler.LoadFromFile(fileName);

            Assert.AreEqual(2, scoreHandler.Reccords.Count, "The loaded scores are {0}, which is incorect value", scoreHandler.Reccords.Count);

            File.Delete(fileName);
        }
Esempio n. 7
0
        /// <summary>
        /// Method to add you score to the highscore table
        /// </summary>
        private void EnterScoreRecordHandler()
        {
            Console.Write("Enter your nickname: ");

            var nickname = Console.ReadLine();

            try
            {
                var playerProxy   = new PlayerProxy(nickname, this.Player.Score);
                var scoresHandler = new ScoresHandler();
                scoresHandler.LoadFromFile(GlobalErrorMessages.SaveRecordstFileName);
                scoresHandler.AddReccord(playerProxy);
                scoresHandler.SaveToFile(GlobalErrorMessages.SaveRecordstFileName);
                Console.WriteLine("Press any key to continiue..");
                Console.ReadKey();
                MainMenu.PrintMenu(this.engine);
            }
            catch (ArgumentOutOfRangeException)
            {
                Console.WriteLine("The name should be between 2 and 10 characters");
                this.EnterScoreRecordHandler();
            }
        }