diff --git a/.github/workflows/generate-and-upload.yml b/.github/workflows/generate-and-upload.yml index 67fac49..3cde591 100644 --- a/.github/workflows/generate-and-upload.yml +++ b/.github/workflows/generate-and-upload.yml @@ -16,6 +16,8 @@ on: - 'L2/LD_24/**' - 'L3/LD_24/**' - 'L3/LD_24Tests/**' + - 'L4/LD_24/**' + - 'L4/LD_24Tests/**' jobs: generate-and-upload: @@ -24,7 +26,7 @@ jobs: steps: - uses: actions/checkout@v2 - name: Generate report - uses: RokasPuzonas/ktu-oop-report-generator@v2.0.8 + uses: RokasPuzonas/ktu-oop-report-generator@v2.0.9 with: dotnet-version: ${{ env.DOTNET_VERSION }} config-filename: ${{ env.CONFIG_FILENAME }} diff --git a/L4/LD_24/App_Data/Actors1.txt b/L4/LD_24/App_Data/Actors1.txt index 2a02e69..56fe628 100644 --- a/L4/LD_24/App_Data/Actors1.txt +++ b/L4/LD_24/App_Data/Actors1.txt @@ -1,5 +1,7 @@ -Orc -Amandatown -Mercedes;Warrior;24;18;13;17;Cummings, Lehner and Wilkinson -Kelvin;Warrior;5;4;17;11;Waelchi, Kulas and Bruen -Domenico;Archer;24;10;3;25;Jacobi Group +Elf +Konopelskitown +Gail;Mage;6;23;24;17;Hand, Cummerata and Wolff +Garret;Mage;5;11;1;10;13;22;14;4 +Maybelle;Hunter;21;11;25;17;24;25;5;5 +Amy;Warrior;11;5;13;15;12;4;3;23 +Natalie;Warrior;18;23;25;14;West Inc diff --git a/L4/LD_24/App_Data/Actors2.txt b/L4/LD_24/App_Data/Actors2.txt index 3b706d3..0c9c442 100644 --- a/L4/LD_24/App_Data/Actors2.txt +++ b/L4/LD_24/App_Data/Actors2.txt @@ -1,12 +1,5 @@ -Halfling -Leifberg -Clare;Warrior;17;2;7;23;14;23;19;6 -Drake;Hunter;10;15;18;3;Will - Yost -Mike;Necromancer;18;24;3;11;23;11;22;9 -Cathryn;Warrior;20;1;14;9;2;22;6;18 -Tobin;Necromancer;12;14;21;18;Hermann, Cole and Gislason -Yasmine;Archer;6;24;3;4;O'Keefe and Sons -Shanna;Necromancer;3;5;15;14;Mraz, Jenkins and Bosco -Otha;Warrior;24;22;13;15;2;13;17;13 -Cletus;Necromancer;4;8;20;16;Moen - Roberts -Katelynn;Hunter;2;24;9;9;Feil Inc +Elf +Port Sierraton +Lyla;Archer;5;10;5;21;Crona - Abshire +Ruthe;Necromancer;7;21;11;10;McDermott, Satterfield and Reichel +Berneice;Mage;6;23;23;6;Sawayn - Kovacek diff --git a/L4/LD_24/App_Data/Actors3.txt b/L4/LD_24/App_Data/Actors3.txt index 8af34a3..9101fc9 100644 --- a/L4/LD_24/App_Data/Actors3.txt +++ b/L4/LD_24/App_Data/Actors3.txt @@ -1,6 +1,7 @@ -Fairy -Celestineville -Alec;Hunter;20;14;13;4;9;6;21;23 -Summer;Warrior;6;11;23;7;19;12;19;24 -Rylan;Archer;13;17;23;20;10;10;17;7 -Gisselle;Warrior;11;10;11;5;6;16;6;12 +Orc +North Anastacio +Will;Mage;18;24;21;3;25;17;4;21 +Brennan;Mage;2;5;4;8;Lindgren, Spinka and Walsh +Jannie;Hunter;15;5;25;10;Kub - Flatley +Nicolette;Archer;11;9;3;17;16;10;18;15 +Noe;Warrior;3;7;14;16;Bradtke, Deckow and Larson diff --git a/L4/LD_24/App_Data/Klasės.csv b/L4/LD_24/App_Data/Klasės.csv index bbc2a53..91aa36a 100644 --- a/L4/LD_24/App_Data/Klasės.csv +++ b/L4/LD_24/App_Data/Klasės.csv @@ -1,4 +1,5 @@ -Warrior -Archer +Mage Hunter +Warrior +Archer Necromancer diff --git a/L4/LD_24/App_Data/Riktine.csv b/L4/LD_24/App_Data/Riktine.csv index 77ad195..e3ce63c 100644 --- a/L4/LD_24/App_Data/Riktine.csv +++ b/L4/LD_24/App_Data/Riktine.csv @@ -1,8 +1,2 @@ -Halfling;Leifberg;Clare;Warrior;17;2;7;23;14;23;19;6 -Fairy;Celestineville;Summer;Warrior;6;11;23;7;19;12;19;24 -Fairy;Celestineville;Alec;Hunter;20;14;13;4;9;6;21;23 -Halfling;Leifberg;Mike;Necromancer;18;24;3;11;23;11;22;9 -Orc;Amandatown;Domenico;Archer;24;10;3;25;Jacobi Group -Halfling;Leifberg;Yasmine;Archer;6;24;3;4;O'Keefe and Sons -Halfling;Leifberg;Katelynn;Hunter;2;24;9;9;Feil Inc -Orc;Amandatown;Mercedes;Warrior;24;18;13;17;Cummings, Lehner and Wilkinson +Orc;North Anastacio;Brennan;Mage;2;5;4;8;Lindgren, Spinka and Walsh +Elf;Port Sierraton;Lyla;Archer;5;10;5;21;Crona - Abshire diff --git a/L4/LD_24/App_Data/Trūkstami.csv b/L4/LD_24/App_Data/Trūkstami.csv index 1d684be..c65238f 100644 --- a/L4/LD_24/App_Data/Trūkstami.csv +++ b/L4/LD_24/App_Data/Trūkstami.csv @@ -1,2 +1,2 @@ -Orc -Fairy + + diff --git a/L4/LD_24/Code/Actor.cs b/L4/LD_24/Code/Actor.cs index 9f94814..651d80b 100644 --- a/L4/LD_24/Code/Actor.cs +++ b/L4/LD_24/Code/Actor.cs @@ -5,15 +5,42 @@ using System.Web; namespace LD_24.Code { + /// + /// Abstract actor class + /// public abstract class Actor { + /// + /// Race of actor + /// public string Race { get; set; } + /// + /// Starting town of actor + /// public string StartingTown { get; set; } + /// + /// Name of actor + /// public string Name { get; set; } + /// + /// Class of actor + /// public string Class { get; set; } + /// + /// Health points of actor + /// public int Health { get; set; } + /// + /// Mana points of actor + /// public int Mana { get; set; } + /// + /// Attack points of actor + /// public int Attack { get; set; } + /// + /// Defense points of actor + /// public int Defense { get; set; } public Actor(string race, string startingTown, string name, string @class, int health, int mana, int attack, int defense) @@ -28,6 +55,10 @@ namespace LD_24.Code Defense = defense; } + /// + /// Serialize an actor into a valid CSV line + /// + /// A string representing the whole actor public abstract string ToCSVLine(); } } \ No newline at end of file diff --git a/L4/LD_24/Code/Hero.cs b/L4/LD_24/Code/Hero.cs index ada81ef..29bc885 100644 --- a/L4/LD_24/Code/Hero.cs +++ b/L4/LD_24/Code/Hero.cs @@ -5,11 +5,26 @@ using System.Web; namespace LD_24.Code { + /// + /// Class for a single hero + /// public class Hero : Actor, IComparable, IEquatable { + /// + /// Power points of hero + /// public int Power { get; set; } + /// + /// Agility points of hero + /// public int Agility { get; set; } + /// + /// Intellect points of hero + /// public int Intellect { get; set; } + /// + /// Special points of hero + /// public int Special { get; set; } public Hero(string race, string startingTown, string name, string @class, int health, int mana, int attack, int defense, int power, int agility, int intellect, int special) : base(race, startingTown, name, @class, health, mana, attack, defense) @@ -20,16 +35,30 @@ namespace LD_24.Code Special = special; } + /// + /// Compare hero to hero by intellect + /// + /// + /// public int CompareTo(Hero other) { return Intellect.CompareTo(other.Intellect); } + /// + /// Check if 2 heros have the same intellect + /// + /// + /// public bool Equals(Hero other) { return Intellect.Equals(other.Intellect); } + /// + /// Serialize a hero to a CSV line + /// + /// public override string ToCSVLine() { return string.Join(";", Race, StartingTown, Name, Class, Health, Mana, Attack, Defense, Power, Agility, Intellect, Special); diff --git a/L4/LD_24/Code/InOutUtils.cs b/L4/LD_24/Code/InOutUtils.cs index b424f0a..d5a1d33 100644 --- a/L4/LD_24/Code/InOutUtils.cs +++ b/L4/LD_24/Code/InOutUtils.cs @@ -9,12 +9,20 @@ using System.Text; namespace LD_24.Code { + /// + /// Utility class for reading/writing to files + /// public static class InOutUtils { private static readonly List Races = new List { "Human", "Orc", "Elf", "Dwarf", "Fairy", "Halfling" }; private static readonly List Classess = new List { "Warrior", "Hunter", "Archer", "Mage", "Necromancer" }; private static readonly Faker faker = new Faker(); + /// + /// Read line by lines from a file + /// + /// Target file + /// Lines public static IEnumerable ReadLines(string filename) { using (var reader = new StreamReader(filename)) @@ -31,6 +39,12 @@ namespace LD_24.Code } } + /// + /// Read actors from a file + /// + /// Target file + /// A list of actors + /// Throws if a given line in a file is incorrect public static List ReadActors(string filename) { var actors = new List(); @@ -68,13 +82,17 @@ namespace LD_24.Code return actors; } + /// + /// Generate file with actors + /// + /// Target file public static void GenerateFakeActors(string filename) { using (var writer = new StreamWriter(filename)) { writer.WriteLine(faker.PickRandom(Races)); writer.WriteLine(faker.Address.City()); - int count = faker.Random.Number(2, 10); + int count = faker.Random.Number(1, 5); for (int i = 0; i < count; i++) { string name = faker.Name.FirstName(); @@ -100,6 +118,13 @@ namespace LD_24.Code } } + /// + /// Read all files from a directory that have actors + /// + /// + /// + /// + /// public static List ReadActorsDir(string directory, string pattern = "*.txt") { if (!Directory.Exists(directory)) @@ -114,6 +139,11 @@ namespace LD_24.Code return merged; } + /// + /// Writes a list of classes to a file + /// + /// Target file + /// Target classes public static void PrintClassesCSV(string filename, List classes) { using (var writer = new StreamWriter(filename, false, Encoding.UTF8)) @@ -125,6 +155,11 @@ namespace LD_24.Code } } + /// + /// Prints missing actors to a file + /// + /// Target file + /// Missing actor race names public static void PrintMissingActors(string filename, Tuple, List> missingActors) { using (var writer = new StreamWriter(filename, false, Encoding.UTF8)) @@ -134,6 +169,11 @@ namespace LD_24.Code } } + /// + /// Prints a team of actors to a file + /// + /// Target file + /// Target actors public static void PrintTeam(string filename, List team) { using (var writer = new StreamWriter(filename, false, Encoding.UTF8)) diff --git a/L4/LD_24/Code/NPC.cs b/L4/LD_24/Code/NPC.cs index e0d37f4..2d33b94 100644 --- a/L4/LD_24/Code/NPC.cs +++ b/L4/LD_24/Code/NPC.cs @@ -5,8 +5,14 @@ using System.Web; namespace LD_24.Code { + /// + /// Class for storing a single NPC + /// public class NPC : Actor, IComparable, IEquatable { + /// + /// blah blah blah blah + /// public string Guild { get; set; } public NPC(string race, string startingTown, string name, string @class, int health, int mana, int attack, int defense, string guild) : base(race, startingTown, name, @class, health, mana, attack, defense) @@ -14,16 +20,30 @@ namespace LD_24.Code Guild = guild; } + /// + /// blah blah + /// + /// + /// public int CompareTo(NPC other) { return Attack.CompareTo(other.Attack); } + /// + /// blah blah blah + /// + /// + /// public bool Equals(NPC other) { return Attack.Equals(other.Attack); } + /// + /// blah blah? + /// + /// public override string ToCSVLine() { return string.Join(";", Race, StartingTown, Name, Class, Health, Mana, Attack, Defense, Guild); diff --git a/L4/LD_24/Code/TaskUtils.cs b/L4/LD_24/Code/TaskUtils.cs index f22742e..aea4e5d 100644 --- a/L4/LD_24/Code/TaskUtils.cs +++ b/L4/LD_24/Code/TaskUtils.cs @@ -5,8 +5,16 @@ using System.Web; namespace LD_24.Code { + /// + /// Utility class for storing unrelated methods + /// public static class TaskUtils { + /// + /// Find the actors which have the most health by class + /// + /// + /// public static Dictionary FindMostHealthByClass(List actors) { Dictionary mostHealth = new Dictionary(); @@ -23,6 +31,11 @@ namespace LD_24.Code return mostHealth; } + /// + /// Find all unique classes from a list of actors + /// + /// + /// public static List FindAllClasses(List actors) { List result = new List(); @@ -36,6 +49,11 @@ namespace LD_24.Code return result; } + /// + /// Find all unique races from a list of actors + /// + /// + /// public static List FindAllRaces(List actors) { List races = new List(); @@ -49,6 +67,11 @@ namespace LD_24.Code return races; } + /// + /// Finds which races are missing an NPC or Hero + /// + /// + /// A tuple where Item1 is missing Heros, and Item2 is missing NPCs public static Tuple, List> FindMissingActors(List actors) { var races = FindAllRaces(actors); @@ -68,6 +91,11 @@ namespace LD_24.Code return Tuple.Create(missingHeroes, missingNPCs); } + /// + /// Find the actors which have the most health in their respective classes + /// + /// + /// public static List FilterMostHealthByClass(List actors) { List filtered = new List(); @@ -82,6 +110,12 @@ namespace LD_24.Code return filtered; } + /// + /// Filter out heros which, don't meet the min intellect (exclusively) + /// + /// + /// + /// public static List FilterHeroesByIntellect(List actors, int minIntellect) { List filtered = new List(); @@ -95,6 +129,12 @@ namespace LD_24.Code return filtered; } + /// + /// Filter out NPC which, don't meet the max attack (exclusively) + /// + /// + /// + /// public static List FilterNPCsByAttack(List actors, int maxAttack) { List filtered = new List(); diff --git a/L4/LD_24/Forma1.aspx.cs b/L4/LD_24/Forma1.aspx.cs index 898b3f7..1b2897c 100644 --- a/L4/LD_24/Forma1.aspx.cs +++ b/L4/LD_24/Forma1.aspx.cs @@ -10,6 +10,9 @@ using System.Diagnostics; namespace LD_24 { + /// + /// Main Form + /// public partial class Forma1 : System.Web.UI.Page { private List actors = null; diff --git a/L4/LD_24/Forma1Utils.cs b/L4/LD_24/Forma1Utils.cs index d07ce12..9732e60 100644 --- a/L4/LD_24/Forma1Utils.cs +++ b/L4/LD_24/Forma1Utils.cs @@ -9,7 +9,15 @@ namespace LD_24 { public partial class Forma1 : System.Web.UI.Page { - public static IEnumerable> ShowTable(Table table, IEnumerable list, params string[] columns) + /// + /// Show a table to the Web UI + /// + /// + /// + /// + /// + /// + public static IEnumerable> ShowTable(Table table, IEnumerable list, params string[] columns) { TableHeaderRow header = new TableHeaderRow(); foreach (string column in columns) @@ -22,7 +30,7 @@ namespace LD_24 foreach (T item in list) { TableRow row = new TableRow(); - yield return Tuple.Create(item, row); + yield return Tuple.Create(item, row.Cells); table.Rows.Add(row); noRows = false; } @@ -35,33 +43,43 @@ namespace LD_24 } } + /// + /// Show a list of actors in a table + /// + /// + /// public static void ShowActors(Table table, IEnumerable actors) { foreach (var tuple in ShowTable(table, actors, "Rasė", "Miestas", "Vardas", "Klasė", "Gyvybė", "Mana", "Žala", "Šarvai")) { - Actor actor = tuple.Item1; - TableRow row = tuple.Item2; - row.Cells.Add(new TableCell { Text = actor.Race }); - row.Cells.Add(new TableCell { Text = actor.StartingTown }); - row.Cells.Add(new TableCell { Text = actor.Name }); - row.Cells.Add(new TableCell { Text = actor.Class }); - row.Cells.Add(new TableCell { Text = actor.Health.ToString() }); - row.Cells.Add(new TableCell { Text = actor.Mana.ToString() }); - row.Cells.Add(new TableCell { Text = actor.Attack.ToString() }); - row.Cells.Add(new TableCell { Text = actor.Defense.ToString() }); + var actor = tuple.Item1; + var cells = tuple.Item2; + cells.Add(new TableCell { Text = actor.Race }); + cells.Add(new TableCell { Text = actor.StartingTown }); + cells.Add(new TableCell { Text = actor.Name }); + cells.Add(new TableCell { Text = actor.Class }); + cells.Add(new TableCell { Text = actor.Health.ToString() }); + cells.Add(new TableCell { Text = actor.Mana.ToString() }); + cells.Add(new TableCell { Text = actor.Attack.ToString() }); + cells.Add(new TableCell { Text = actor.Defense.ToString() }); } } + /// + /// Show a list of healthy actors to a table + /// + /// + /// public static void ShowHealthyActors(Table table, IEnumerable actors) { foreach (var tuple in ShowTable(table, actors, "Vardas", "Rasė", "Klasė", "Gyvybė")) { - Actor actor = tuple.Item1; - TableRow row = tuple.Item2; - row.Cells.Add(new TableCell { Text = actor.Name }); - row.Cells.Add(new TableCell { Text = actor.Race }); - row.Cells.Add(new TableCell { Text = actor.Class }); - row.Cells.Add(new TableCell { Text = actor.Health.ToString() }); + var actor = tuple.Item1; + var cells = tuple.Item2; + cells.Add(new TableCell { Text = actor.Name }); + cells.Add(new TableCell { Text = actor.Race }); + cells.Add(new TableCell { Text = actor.Class }); + cells.Add(new TableCell { Text = actor.Health.ToString() }); } } } diff --git a/L4/LD_24/LD_24.csproj b/L4/LD_24/LD_24.csproj index 0b2d286..584f4fb 100644 --- a/L4/LD_24/LD_24.csproj +++ b/L4/LD_24/LD_24.csproj @@ -71,9 +71,6 @@ - - - @@ -97,9 +94,6 @@ - - - Web.config @@ -108,7 +102,13 @@ Web.config - + + + + + + + 10.0 $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion) diff --git a/L4/LD_24/interface-scheme.png b/L4/LD_24/interface-scheme.png new file mode 100644 index 0000000..71794d8 Binary files /dev/null and b/L4/LD_24/interface-scheme.png differ diff --git a/L4/LD_24/tests/1/inputs/Actors1.txt b/L4/LD_24/tests/1/inputs/Actors1.txt new file mode 100644 index 0000000..bc4b585 --- /dev/null +++ b/L4/LD_24/tests/1/inputs/Actors1.txt @@ -0,0 +1,3 @@ +Elf +Padbergborough +Verla;Warrior;16;23;16;23;21;12;2;10 diff --git a/L4/LD_24/tests/1/inputs/Actors2.txt b/L4/LD_24/tests/1/inputs/Actors2.txt new file mode 100644 index 0000000..2e81a0d --- /dev/null +++ b/L4/LD_24/tests/1/inputs/Actors2.txt @@ -0,0 +1,7 @@ +Dwarf +Verdiebury +Toney;Hunter;20;2;9;11;13;6;17;16 +Andreanne;Warrior;14;25;6;23;Rempel LLC +Octavia;Necromancer;16;20;13;14;Considine, Runte and Mosciski +Ocie;Warrior;14;16;22;7;14;3;3;18 +Vicente;Hunter;16;20;24;3;Farrell, Watsica and O'Keefe diff --git a/L4/LD_24/tests/1/inputs/Actors3.txt b/L4/LD_24/tests/1/inputs/Actors3.txt new file mode 100644 index 0000000..97e60dd --- /dev/null +++ b/L4/LD_24/tests/1/inputs/Actors3.txt @@ -0,0 +1,7 @@ +Orc +East Chelseyberg +Shaina;Archer;20;2;23;1;Wintheiser, Heidenreich and Hansen +Lucie;Archer;12;16;14;2;9;5;19;15 +Doyle;Archer;12;14;18;3;10;10;18;1 +Amir;Mage;15;9;16;2;Steuber Group +Muhammad;Necromancer;2;19;12;2;3;7;22;2 diff --git a/L4/LD_24/tests/1/outputs/Klasės.csv b/L4/LD_24/tests/1/outputs/Klasės.csv new file mode 100644 index 0000000..e919372 --- /dev/null +++ b/L4/LD_24/tests/1/outputs/Klasės.csv @@ -0,0 +1,5 @@ +Warrior +Hunter +Necromancer +Archer +Mage diff --git a/L4/LD_24/tests/1/outputs/Riktine.csv b/L4/LD_24/tests/1/outputs/Riktine.csv new file mode 100644 index 0000000..32fecea --- /dev/null +++ b/L4/LD_24/tests/1/outputs/Riktine.csv @@ -0,0 +1,7 @@ +Elf;Padbergborough;Verla;Warrior;16;23;16;23;21;12;2;10 +Dwarf;Verdiebury;Ocie;Warrior;14;16;22;7;14;3;3;18 +Dwarf;Verdiebury;Toney;Hunter;20;2;9;11;13;6;17;16 +Orc;East Chelseyberg;Doyle;Archer;12;14;18;3;10;10;18;1 +Orc;East Chelseyberg;Lucie;Archer;12;16;14;2;9;5;19;15 +Orc;East Chelseyberg;Muhammad;Necromancer;2;19;12;2;3;7;22;2 +Dwarf;Verdiebury;Andreanne;Warrior;14;25;6;23;Rempel LLC diff --git a/L4/LD_24/tests/1/outputs/Trūkstami.csv b/L4/LD_24/tests/1/outputs/Trūkstami.csv new file mode 100644 index 0000000..f14e63e --- /dev/null +++ b/L4/LD_24/tests/1/outputs/Trūkstami.csv @@ -0,0 +1,2 @@ + +Elf diff --git a/L4/LD_24/tests/1/outputs/web.png b/L4/LD_24/tests/1/outputs/web.png new file mode 100644 index 0000000..156f5b3 Binary files /dev/null and b/L4/LD_24/tests/1/outputs/web.png differ diff --git a/L4/LD_24/tests/2/inputs/Actors1.txt b/L4/LD_24/tests/2/inputs/Actors1.txt new file mode 100644 index 0000000..56fe628 --- /dev/null +++ b/L4/LD_24/tests/2/inputs/Actors1.txt @@ -0,0 +1,7 @@ +Elf +Konopelskitown +Gail;Mage;6;23;24;17;Hand, Cummerata and Wolff +Garret;Mage;5;11;1;10;13;22;14;4 +Maybelle;Hunter;21;11;25;17;24;25;5;5 +Amy;Warrior;11;5;13;15;12;4;3;23 +Natalie;Warrior;18;23;25;14;West Inc diff --git a/L4/LD_24/tests/2/inputs/Actors2.txt b/L4/LD_24/tests/2/inputs/Actors2.txt new file mode 100644 index 0000000..0c9c442 --- /dev/null +++ b/L4/LD_24/tests/2/inputs/Actors2.txt @@ -0,0 +1,5 @@ +Elf +Port Sierraton +Lyla;Archer;5;10;5;21;Crona - Abshire +Ruthe;Necromancer;7;21;11;10;McDermott, Satterfield and Reichel +Berneice;Mage;6;23;23;6;Sawayn - Kovacek diff --git a/L4/LD_24/tests/2/inputs/Actors3.txt b/L4/LD_24/tests/2/inputs/Actors3.txt new file mode 100644 index 0000000..9101fc9 --- /dev/null +++ b/L4/LD_24/tests/2/inputs/Actors3.txt @@ -0,0 +1,7 @@ +Orc +North Anastacio +Will;Mage;18;24;21;3;25;17;4;21 +Brennan;Mage;2;5;4;8;Lindgren, Spinka and Walsh +Jannie;Hunter;15;5;25;10;Kub - Flatley +Nicolette;Archer;11;9;3;17;16;10;18;15 +Noe;Warrior;3;7;14;16;Bradtke, Deckow and Larson diff --git a/L4/LD_24/tests/2/outputs/Klasės.csv b/L4/LD_24/tests/2/outputs/Klasės.csv new file mode 100644 index 0000000..91aa36a --- /dev/null +++ b/L4/LD_24/tests/2/outputs/Klasės.csv @@ -0,0 +1,5 @@ +Mage +Hunter +Warrior +Archer +Necromancer diff --git a/L4/LD_24/tests/2/outputs/Riktine.csv b/L4/LD_24/tests/2/outputs/Riktine.csv new file mode 100644 index 0000000..e3ce63c --- /dev/null +++ b/L4/LD_24/tests/2/outputs/Riktine.csv @@ -0,0 +1,2 @@ +Orc;North Anastacio;Brennan;Mage;2;5;4;8;Lindgren, Spinka and Walsh +Elf;Port Sierraton;Lyla;Archer;5;10;5;21;Crona - Abshire diff --git a/L4/LD_24/tests/2/outputs/Trūkstami.csv b/L4/LD_24/tests/2/outputs/Trūkstami.csv new file mode 100644 index 0000000..c65238f --- /dev/null +++ b/L4/LD_24/tests/2/outputs/Trūkstami.csv @@ -0,0 +1,2 @@ + + diff --git a/L4/LD_24/tests/2/outputs/web.png b/L4/LD_24/tests/2/outputs/web.png new file mode 100644 index 0000000..b71cbb2 Binary files /dev/null and b/L4/LD_24/tests/2/outputs/web.png differ diff --git a/L4/LD_24Tests/screenshot1.png b/L4/LD_24Tests/screenshot1.png new file mode 100644 index 0000000..9f18843 Binary files /dev/null and b/L4/LD_24Tests/screenshot1.png differ diff --git a/report.toml b/report.toml index a8b3f15..3048e1b 100644 --- a/report.toml +++ b/report.toml @@ -13,7 +13,7 @@ guide = """ kad neįmanoma susitiki. """ problem = """ -LD_24. Susitikimas. +LD_24. **Susitikimas.** Grupė draugų nusprendė susitikti mieste, o po to kartu eiti valgyti picos. Bet tuomet jie susiginčijo, kur geriausia susitikti, ir kurioje picerijoje valgyti. @@ -58,7 +58,7 @@ guide = """ * Spausti "Atrinkti" mygtuką """ problem = """ -LD_24. Detalės. +LD_24. **Detalės.** Internetinėje parduotuvėje pirkėjai užsisakinėja robotų gamybai reikalingus įtaisus. Suraskite populiariausią įtaisą, kiek tokių įtaisų parduota ir už @@ -99,7 +99,7 @@ tests_screenshots = [ "L3/LD_24Tests/screenshot3.PNG" ] problem = """ -LD_24. Detalės. +LD_24. **Detalės.** Internetinėje parduotuvėje pirkėjai užsisakinėja robotų gamybai reikalingus įtaisus. Suraskite populiariausią įtaisą, kiek tokių įtaisų parduota ir už @@ -121,6 +121,50 @@ didesnė kaip k eurų (n ir k įvedami klaviatūra). [[sections]] title = "Polimorfizmas ir išimčių valdymas (L4)" +project = "L4/LD_24" +tests_project = "L4/LD_24Tests" +interface_scheme = "L4/LD_24/interface-scheme.png" +guide = """ +* Atsidaryti tinklalapį +* Įvesti minimalus herojaus intelekto kiekį +* Įvesti maksimalus NPC žalos kiekį +* Spausti "Vykdyti" mygtuką +""" +tests_screenshots = [ + "L4/LD_24Tests/screenshot1.png" +] +problem = """ +U4_24. **Kompiuterinis žaidimas.** + +Žaidimo pasaulyje yra dviejų tipų veikėjai - žaidėjo valdomi herojai bei +kompiuterio valdomi „NPC“ (non playable character). Sugrupavote žaidimo veikėjus pagal rases, ir surašėte +jų duomenis į skirtingus failus. Duomenų formatas toks: pirmoje eilutėje – rasės pavadinimas. Antroje – +pradinis miestas. Toliau informacija apie žaidimo veikėjus. Sukurkite abstrakčią klasę „Actor“ (savybės - +vardas, klasė, gyvybės taškai, mana, žalos taškai, gynybos taškai), kurią paveldės klasės “Hero” (savybės – +jėga, vikrumas, intelektas, ypatinga galia), “NPC” (savybė – gildija). + +* Raskite kiekvienos klasės daugiausiai gyvybės taškų turintį veikėją, ekrane atspausdinkite jo vardą, +rasę, klasę ir gyvybės taškų kiekį. +* Sudarykite visų veikėjų klasių sąrašą ir įrašykite į failą „Klasės.csv“ . +* Norite, jog kiekviena rasė turėtų bent po vieną kiekvienos klasės herojų ir NPC. Raskite, kokių +klasių herojų ar NPC „trūksta“ kiekvienai rasei. Į failą „Trūkstami.csv“ įrašykite kiekvienos rasės +pavadinimą, trūkstamų herojų klasių sąrašą, trūkstamų NPC klasių sąrašą. +* Sudarykite ir surikiuokite bendrą veikėjų rinktinę. Į šią rinktinę patenka herojai, jei jų intelekto +reikšmė viršija nurodytą dydį. Į šią rinktinę patenka NPC, jei jų žalos taškai neviršija nurodyto +dydžio. Herojus rikiuokite pagal intelektą, o NPC – pagal žalos taškus. Rezultatus įrašykite į failą +„Rinktine.csv“. +""" [[sections]] title = "Deklaratyvusis programavimas (L5)" +problem = """ +LDD_24. **Leidėjai.** + +Žmonės užsisako spaudą. Užsakymas vyksta metų ribose. Pirmoje failo eilutėje +nurodyta įvedimo data (failų daug), o tolesnėse eilutėse nurodyta prenumeratoriaus pavardė, adresas, +laikotarpio pradžia (nurodyta sveiku skaičiumi 1..12), laikotarpio ilgis, leidinio kodas, leidinių kiekis. +Atskirame faile duota tokia informacija apie leidinius: kodas, pavadinimas, leidėjo pavadinimas, vieno +mėnesio kaina. Suskaičiuoti kiekvienam leidėjui nurodyto mėnesio (įvedama klaviatūra) pajamas. +Atspausdinkite leidėjų pajamas, surikiuotas pagal dydį ir leidėjų pavadinimus, nurodant ir leidėjų +leidinius su jų atneštomis pajamomis. Leidėjų pavadinimai neturi kartotis. +"""