From 052516540f69bb8c1d4f8e0f6d77f622aeae17da Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Czeka=C5=84ski?= Date: Sat, 23 May 2020 17:20:18 +0200 Subject: [PATCH] Add survival dt example class It will be used to create decision tree examples with project specific attributes like hunger, distance from food etc... --- .../SurvivalDTExample.py | 34 +++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 src/AI/DecisionTrees/projectSpecificClasses/SurvivalDTExample.py diff --git a/src/AI/DecisionTrees/projectSpecificClasses/SurvivalDTExample.py b/src/AI/DecisionTrees/projectSpecificClasses/SurvivalDTExample.py new file mode 100644 index 0000000..8d4264c --- /dev/null +++ b/src/AI/DecisionTrees/projectSpecificClasses/SurvivalDTExample.py @@ -0,0 +1,34 @@ +from src.AI.DecisionTrees.Attribute import Attribute +from src.AI.DecisionTrees.DecisionTreeExample import DecisionTreeExample +from src.AI.DecisionTrees.projectSpecificClasses.DistFromObject import DistFromObject +from src.AI.DecisionTrees.projectSpecificClasses.PlayerStatsValue import PlayerStatsValue +from src.AI.DecisionTrees.projectSpecificClasses.SurvivalAttributesDefinitions import SurvivalAttributesDefinitions +from src.AI.DecisionTrees.projectSpecificClasses.SurvivalClassification import SurvivalClassification + + +class SurvivalDTExample(DecisionTreeExample): + hungerVal: PlayerStatsValue + thirstVal: PlayerStatsValue + staminaVal: PlayerStatsValue + distFromFood: DistFromObject + distFromWater: DistFromObject + distFromRestPlace: DistFromObject + + def __init__(self, classification: SurvivalClassification, hungerVal: PlayerStatsValue, thirstVal: PlayerStatsValue, + staminaVal: PlayerStatsValue, distFromFood: DistFromObject, distFromWater: DistFromObject, + distFromRestPlace: DistFromObject): + self.hungerVal = hungerVal + self.thirstVal = thirstVal + self.staminaVal = staminaVal + self.distFromFood = distFromFood + self.distFromWater = distFromWater + self.distFromRestPlace = distFromRestPlace + + attributes = [Attribute(SurvivalAttributesDefinitions.hungerAttrDef, hungerVal), + Attribute(SurvivalAttributesDefinitions.thirstAttrDef, thirstVal), + Attribute(SurvivalAttributesDefinitions.staminaAttrDef, staminaVal), + Attribute(SurvivalAttributesDefinitions.foodDistanceAttrDef, distFromFood), + Attribute(SurvivalAttributesDefinitions.waterDistanceAttrDef, distFromWater), + Attribute(SurvivalAttributesDefinitions.restDistanceAttrDef, distFromRestPlace)] + + super().__init__(classification, attributes) \ No newline at end of file