From 25b09b7c0ddf7589252c66394ce756051b7caa39 Mon Sep 17 00:00:00 2001 From: smallbenji Date: Thu, 26 Mar 2026 14:08:11 +0100 Subject: [PATCH] external lib --- PeopleVille.Extension.Mod1/Class1.cs | 23 +++++++++++++++++++ .../PeopleVille.Extension.Mod1.csproj | 13 +++++++++++ PeopleVille/Person/AdultCitizen.cs | 13 ++++++++++- PeopleVille/Program.cs | 1 + PeopleVille/WorldBuilder/WorldInterfaces.cs | 17 -------------- Peopleville.slnx | 1 + 6 files changed, 50 insertions(+), 18 deletions(-) create mode 100644 PeopleVille.Extension.Mod1/Class1.cs create mode 100644 PeopleVille.Extension.Mod1/PeopleVille.Extension.Mod1.csproj diff --git a/PeopleVille.Extension.Mod1/Class1.cs b/PeopleVille.Extension.Mod1/Class1.cs new file mode 100644 index 0000000..536f3d1 --- /dev/null +++ b/PeopleVille.Extension.Mod1/Class1.cs @@ -0,0 +1,23 @@ +using PeopleVille.Equipment; +using PeopleVille.Persons; + +namespace PeopleVille.Extension.Mod1; + +public class Snake : IEquipment +{ + + public void Equip() + { + throw new NotImplementedException(); + } + + public void Unequip() + { + throw new NotImplementedException(); + } + + public void Use(Person person) + { + Console.WriteLine($"{person.Name} brugte en slange, lol"); + } +} \ No newline at end of file diff --git a/PeopleVille.Extension.Mod1/PeopleVille.Extension.Mod1.csproj b/PeopleVille.Extension.Mod1/PeopleVille.Extension.Mod1.csproj new file mode 100644 index 0000000..a4f1da4 --- /dev/null +++ b/PeopleVille.Extension.Mod1/PeopleVille.Extension.Mod1.csproj @@ -0,0 +1,13 @@ + + + + net10.0 + enable + enable + + + + + + + diff --git a/PeopleVille/Person/AdultCitizen.cs b/PeopleVille/Person/AdultCitizen.cs index 37c2627..d1c9622 100644 --- a/PeopleVille/Person/AdultCitizen.cs +++ b/PeopleVille/Person/AdultCitizen.cs @@ -29,7 +29,7 @@ namespace PeopleVille.Persons // 50/50 om vi gør noget eller ej if (RNG.ThrowDice(Dices.D3) == 1) return; - switch (RNG.ThrowDice(Dices.D3)) + switch (RNG.ThrowDice(Dices.D4)) { case 1: bool hasGun = Inventory.OfType().Any(); @@ -61,6 +61,17 @@ namespace PeopleVille.Persons Console.WriteLine($"{Name} Gik hen til {CurrentLocation.Name}"); break; case 3: + try + { + var items = this.Inventory.Where(x => x is not Gun && x is not Food).ToList(); + + items[RNG.Range(0, items.Count)].Use(this); + } catch + { + Console.WriteLine($"{this.Name} brugte ikke nogle items"); + } + break; + case 4: //Do nothing break; } diff --git a/PeopleVille/Program.cs b/PeopleVille/Program.cs index bc8e350..95f9661 100644 --- a/PeopleVille/Program.cs +++ b/PeopleVille/Program.cs @@ -24,6 +24,7 @@ var world = new WorldBuilder() .AddGameManager() .AddEquipment() .FromRange([gun, kage]) + .FromFolder("/home/smallbenji/school/hf2/HF2-peopleville/PeopleVille.Extension.Mod1/bin/Debug/net10.0") .AddLocations() .FromRange(locationBuilder.CreateLocations(15)) .AddPersons() diff --git a/PeopleVille/WorldBuilder/WorldInterfaces.cs b/PeopleVille/WorldBuilder/WorldInterfaces.cs index da8e8e5..c64fcd5 100644 --- a/PeopleVille/WorldBuilder/WorldInterfaces.cs +++ b/PeopleVille/WorldBuilder/WorldInterfaces.cs @@ -39,21 +39,4 @@ namespace PeopleVille.WorldBuilder IPersonBuilder WithRandomItems(int number); IWorldBuilder EndWorldBuilding(); } - - // public interface ITownBuilder - // { - // ITownBuilder AddGunStore(string name); - // ITownBuilder AddEggStore(string name); - // ITownBuilder AddBank(string name); - // List BuildTown(); - // } - - // public interface ICitizenBuilder - // { - // ICitizenBuilder CreateAdult(string name, int health); - // ICitizenBuilder CreateChild(string name, int health); - // ICitizenBuilder WithGun(string name, int damage); - // ICitizenBuilder WithFood(string name, int healthPoints); - // List BuildCitizens(); - // } } diff --git a/Peopleville.slnx b/Peopleville.slnx index fb27013..ffa8bbf 100644 --- a/Peopleville.slnx +++ b/Peopleville.slnx @@ -1,3 +1,4 @@ +