Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!
Werbeanzeige
Quellcode |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 |
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace AmorSlotTest { public enum ArmorType { Composite, LeatherArmor} internal class Program { static void Main(string[] args) { Enhancement kin_enhance = new Enhancement("Kinetische Verstärkung", 50); Enhancement enhancement1 = new Enhancement("Magische Verstärkung", 100); Armor prototyp = new Armor("Testrüstung", ArmorType.Composite, 100, 50, 60); prototyp.GetInformation(); Console.WriteLine(); prototyp.EnhanceArmor(kin_enhance); prototyp.GetInformation(); Console.WriteLine(); prototyp.EnhanceArmor(enhancement1); prototyp.GetInformation(); Console.ReadKey(); } } public class Enhancement { public string Name { get; set; } public int EnhanceValue { get; set; } public Enhancement(string name, int e_value) { this.Name = name; this.EnhanceValue = e_value; } } public class Armor { public string Name { get; set; } public ArmorType Type { get; set; } public int KineticProtection { get; set; } public int AcidProtection { get; set; } public int MagicalProtection { get; set; } public object[] Slot {get; set;} public Armor(string name, ArmorType type, int kinprotection , int acidprotection, int magicalprotection) { Name = name; Type = type; KineticProtection = kinprotection; AcidProtection = acidprotection; MagicalProtection = magicalprotection; GetSlots(); } public void EnhanceArmor(object enhancement) { for(int i = 0; i < Slot.Length; i++) { if(Slot[i] != null) { Console.WriteLine("Slot ist voll"); } else if(Slot[i] == null) { Slot[i] = enhancement; break; } } } public void GetSlots() { if(Type == ArmorType.Composite) { Slot = new object[4]; } else Slot = new object[2]; } public void SumSlots() { foreach(object slot in Slot) { Console.WriteLine(slot); } } public void GetInformation() { Console.WriteLine("Name: {0}\nArmorTyp: {1}\nKinetik: {2}\nSäure: {3}\nMagisch: {4}" , Name , Type , KineticProtection , AcidProtection , MagicalProtection); SumSlots(); } } } |
C-/C++-Quelltext |
|
1 2 3 |
SetBaseKinetic() AddEnhancement(enh) GetEffectiveKinetic() |
Quellcode |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 |
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ArmorSlotTest2 { public enum ArmorType { LeatherArmor, PaddedArmor} public enum EnhancementType { Kinetic, Magic} internal class Program { static void Main(string[] args) { Armor prototyp = new Armor(ArmorType.LeatherArmor); ArmorEnhancement enhancement = new ArmorEnhancement(EnhancementType.Kinetic, 30); ArmorEnhancement enhancement1 = new ArmorEnhancement(EnhancementType.Magic, 20); ArmorEnhancement enhancement2 = new ArmorEnhancement(EnhancementType.Kinetic, 40); ArmorEnhancement enhancement3 = new ArmorEnhancement(EnhancementType.Magic, 10); ArmorEnhancement enhancement4 = new ArmorEnhancement(EnhancementType.Magic, 40); prototyp.CalculateProtection(enhancement); prototyp.CalculateProtection(enhancement1); prototyp.GetInformation(); Console.ReadKey(); prototyp.CalculateProtection(enhancement3); prototyp.GetInformation(); Console.ReadKey(); prototyp.CalculateProtection(enhancement4); prototyp.CalculateProtection(enhancement2); prototyp.GetInformation(); Console.ReadKey(); } } internal class ArmorEnhancement { public EnhancementType E_Type { get; set; } public int Kinetic { get; set; } public int Magic { get; set; } public ArmorEnhancement(EnhancementType e_Type, int e_value) { E_Type = e_Type; if(E_Type == EnhancementType.Kinetic) { Kinetic = e_value; } else if(E_Type == EnhancementType.Magic) { Magic = e_value; } } } internal class Armor { public ArmorType A_Type { get; set; } public int[] Kinprotection { get; set; } public int[] MagicProtection { get; set; } public Armor(ArmorType a_type) { A_Type = a_type; if(A_Type == ArmorType.LeatherArmor) { Kinprotection = new int[2]; MagicProtection = new int[3]; } else if(A_Type == ArmorType.PaddedArmor) { Kinprotection = new int[4]; MagicProtection = new int[1]; } } public void CalculateProtection(ArmorEnhancement enhancement) { if(enhancement.E_Type == EnhancementType.Kinetic) { for(int i = 0; i < Kinprotection.Length; i++) { if (Kinprotection[i] == 0) { Kinprotection[i] = enhancement.Kinetic; break; } else continue; } } else if(enhancement.E_Type == EnhancementType.Magic) { for(int i = 0; i < MagicProtection.Length; i++) { if(MagicProtection[i] != 0) { continue; } else { MagicProtection[i] = enhancement.Magic; break; } } } } private void GetShieldInformation() { int kin_protecion_sum = 0; int mag_protecion_sum = 0; for(int i = 0; i < Kinprotection.Length; i++) { kin_protecion_sum += Kinprotection[i]; } for(int i = 0; i < MagicProtection.Length; i++) { mag_protecion_sum += MagicProtection[i]; } Console.WriteLine(kin_protecion_sum); Console.WriteLine(mag_protecion_sum); } public void GetInformation() { Console.WriteLine("Rüstungsart: " + A_Type); GetShieldInformation(); } } } |
Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »Renegade« (25.03.2022, 21:37)
C#-Quelltext |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
internal abstract class InhabitantSpecialization : IInhabitant { protected IInhabitant inhabitant; public InhabitantSpecialization(IInhabitant inhabitant) { this.inhabitant = inhabitant; } public abstract string FirstName { get; set; } public abstract string LastName { get; set; } public abstract Size Size { get; set; } public abstract Mass Mass { get; set; } public abstract int Strength { get; set; } public abstract int Stamina { get; set; } public abstract int Agility { get; set; } public abstract int Sense { get; set; } public abstract int Intelligent { get; set; } public abstract int Psychic { get; set; } public abstract string GetDescription(); } |
C#-Quelltext |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
internal class Human : IInhabitant { public string FirstName { get; set; } public string LastName { get; set; } public Size Size { get; set; } public Mass Mass { get; set; } public int Strength { get; set; } public int Stamina { get; set; } public int Agility { get; set; } public int Sense { get; set; } public int Intelligent { get; set; } public int Psychic { get; set; } public Human(string firstName, string lastName, Size size, Mass mass) { FirstName = firstName; LastName = lastName; Size = size; Mass = mass; Strength = 10; Stamina = 10; Agility = 10; Sense = 10; Intelligent = 10; Psychic = 10; } public string GetDescription() { return $"Vorname: {FirstName}\nNachname: {LastName}\nKörpergröße: {Size}\nKörpermasse: {Mass}\n" + $"Stärke: {Strength}\nAusdauer: {Stamina}\nBeweglichkeit: {Agility}\nWahrnehmung: {Sense}\n" + $"Intelligenz: {Intelligent}\nPsysche: {Psychic}"; } |
C#-Quelltext |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
internal class InhabitantStreetFighter : InhabitantSpecialization { public InhabitantStreetFighter(IInhabitant inhabitant) : base(inhabitant) { inhabitant.Strength += 5; inhabitant.Stamina += 5; inhabitant.Agility += 5; inhabitant.Sense += 5; inhabitant.Psychic += 5; } public override string FirstName { get; set; } public override string LastName { get; set; } public override Size Size { get; set; } public override Mass Mass { get; set; } public override int Strength { get; set; } public override int Stamina { get; set; } public override int Agility { get; set; } public override int Sense { get; set; } public override int Intelligent { get; set; } public override int Psychic { get; set; } public override string GetDescription() { return inhabitant.GetDescription() + "\nCharaktereigenschaft: Streetfighter"; } public string SpecialMove() { return $"{inhabitant.FirstName} führt seinen Specialmove aus!!!"; } |
C#-Quelltext |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
internal class InhabitantMage : InhabitantSpecialization { public InhabitantMage(IInhabitant inhabitant) : base(inhabitant.) { inhabitant.Sense += 5; inhabitant.Intelligent += 5; inhabitant.Psychic += 5; } public override string FirstName { get; set; } public override string LastName { get; set; } public override Size Size { get; set; } public override Mass Mass { get; set; } public override int Strength { get; set; } public override int Stamina { get; set; } public override int Agility { get; set; } public override int Sense { get; set; } public override int Intelligent { get; set; } public override int Psychic { get; set; } public override string GetDescription() { return inhabitant.GetDescription() + "\nCharaktereigenschaft: Magier "; } public string SpecialMove() { return $"{inhabitant.FirstName} führt einen Zauber aus!!!"; } |
C#-Quelltext |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
internal abstract class InhabitantSpecialization : IInhabitant { protected IInhabitant inhabitant; public InhabitantSpecialization(IInhabitant inhabitant) { this.inhabitant = inhabitant; } public string FirstName { get => inhabitant.FirstName; set => inhabitant.FirstName = value; } //[...] restlichen Properties public abstract string GetDescription(); } |
Werbeanzeige