Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Linq;
- namespace Tseam_Account
- {
- public class Program
- {
- public static void Main(string[] args)
- {
- var tseamAccount = Console.ReadLine()
- .Split(' ', StringSplitOptions.RemoveEmptyEntries)
- .ToList();
- var inputCommand = string.Empty;
- while ((inputCommand = Console.ReadLine()) != "Play!")
- {
- var tokens = inputCommand
- .Split(' ', StringSplitOptions.RemoveEmptyEntries)
- .ToList();
- var currentCommand = tokens[0];
- switch (currentCommand)
- {
- case "Install":
- var gameToAdd = tokens[1];
- if (!CheckCurrentGameInAccount(gameToAdd, tseamAccount))
- {
- tseamAccount.Add(gameToAdd);
- }
- break;
- case "Uninstall":
- var gameToDelete = tokens[1];
- if (CheckCurrentGameInAccount(gameToDelete, tseamAccount))
- {
- tseamAccount.Remove(gameToDelete);
- }
- break;
- case "Update":
- var gameToUpdate = tokens[1];
- if (CheckCurrentGameInAccount(gameToUpdate, tseamAccount))
- {
- tseamAccount.Remove(gameToUpdate);
- tseamAccount.Add(gameToUpdate);
- }
- break;
- case "Expansion":
- var gameExp = tokens[1];
- var currentGame = tokens[1].Split('-').ToList();
- if (CheckCurrentGameInAccount(currentGame[0], tseamAccount))
- {
- int index = tseamAccount.FindIndex(g => g == currentGame[0]);
- var firstPartOfList = tseamAccount.Take(index + 1).ToList();
- var secondPartOfList = tseamAccount.Skip(index + 1).ToList();
- firstPartOfList.Add(gameExp);
- tseamAccount.Clear();
- tseamAccount.AddRange(firstPartOfList);
- tseamAccount.AddRange(secondPartOfList);
- }
- break;
- }
- }
- Console.WriteLine(string.Join(" ", tseamAccount));
- }
- private static bool CheckCurrentGameInAccount(string gameName, List<string> account)
- {
- var game = account.FirstOrDefault(g => g == gameName);
- if (game == null)
- {
- return false;
- }
- else
- {
- return true;
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement