Advertisement
Spocoman

03. Moving Target

Nov 8th, 2023 (edited)
592
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.76 KB | None | 0 0
  1. using System;
  2.  
  3. namespace MovingTarget
  4. {
  5.     class Program
  6.     {
  7.         static void Main(string[] args)
  8.         {
  9.             var targets = Console.ReadLine().Split(' ').Select(int.Parse).ToList();
  10.  
  11.             string input;
  12.  
  13.             while ((input = Console.ReadLine()) != "End")
  14.             {
  15.                 var tokens = input.Split(' ');
  16.                 string command = tokens[0];
  17.                 int index = int.Parse(tokens[1]);
  18.                 int value = int.Parse(tokens[2]);
  19.  
  20.                 if (command == "Shoot")
  21.                 {
  22.                     if (index >= 0 && index < targets.Count)
  23.                     {
  24.                         targets[index] -= value;
  25.                         if (targets[index] <= 0)
  26.                         {
  27.                             targets.RemoveAt(index);
  28.                         }
  29.                     }
  30.                 }
  31.                 else if (command == "Add")
  32.                 {
  33.                     if (index >= 0 && index < targets.Count)
  34.                     {
  35.                         targets.Insert(index, value);
  36.                     }
  37.                     else
  38.                     {
  39.                         Console.WriteLine("Invalid placement!");
  40.                     }
  41.                 }
  42.                 else if (command == "Strike")
  43.                 {
  44.                     if (index - value >= 0 && index + value < targets.Count)
  45.                     {
  46.                         targets.RemoveRange(index - value, value * 2 + 1);
  47.                     }
  48.                     else
  49.                     {
  50.                         Console.WriteLine("Strike missed!");
  51.                     }
  52.                 }
  53.             }
  54.  
  55.             Console.WriteLine(String.Join('|', targets));
  56.         }
  57.     }
  58. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement