Changed more things to IValue

This commit is contained in:
Lukasz Baldyga committed 2020-11-27 21:00:36 +00:00
1 parent 055b31c16e
commit 3ac8d5b28d
1 file changed
+10 -43
@@ -1,5 +1,6 @@
using Advanced_Software_Engineering.Verbs.DrawingVerbs; using Advanced_Software_Engineering.Verbs.DrawingVerbs;
using Advanced_Software_Engineering.Verbs.Value; using Advanced_Software_Engineering.Verbs.Value;
using Advanced_Software_Engineering.Verbs.Value.ValueObjects;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
@@ -35,9 +36,7 @@ namespace Advanced_Software_Engineering {
case "moveto": case "moveto":
//Check parameters //Check parameters
if (parameterLength == 2) { if (parameterLength == 2) {
return new MoveTo(drawer, return new MoveTo(drawer, new PointValue(parameters[0], parameters[1]));
ValueHelper.ConvertToInt(parameters[0]),
ValueHelper.ConvertToInt(parameters[1]));
} else throw new Exception(command + " has an incorrect number of parameters"); } else throw new Exception(command + " has an incorrect number of parameters");
case "drawto": case "drawto":
@@ -45,10 +44,7 @@ namespace Advanced_Software_Engineering {
case "lineto": case "lineto":
//Check parameters //Check parameters
if (parameterLength == 2) { if (parameterLength == 2) {
return new return new DrawTo(drawer, new PointValue(ValueFactory.CreateValue(drawer, parameters[0]), ValueFactory.CreateValue(drawer, parameters[1])));
DrawTo(drawer,
ValueHelper.ConvertToInt(parameters[0]),
ValueHelper.ConvertToInt(parameters[1]));
} else throw new Exception(command + " has an incorrect number of parameters"); } else throw new Exception(command + " has an incorrect number of parameters");
case "regularpolygon": case "regularpolygon":
case "rp": case "rp":
@@ -107,10 +103,7 @@ namespace Advanced_Software_Engineering {
case "circle": case "circle":
//Check parameters //Check parameters
if (parameterLength == 1) { if (parameterLength == 1) {
return new return new Circle(drawer, ValueFactory.CreateValue(drawer, parameters[0]));
Circle(drawer,
ValueHelper.ConvertToDouble(parameters[0])
);
} else throw new Exception(command + " has an incorrect number of parameters"); } else throw new Exception(command + " has an incorrect number of parameters");
case "triangle": case "triangle":
//Check parameters //Check parameters
@@ -161,45 +154,19 @@ namespace Advanced_Software_Engineering {
case "pen": case "pen":
if (parameterLength == 1) { if (parameterLength == 1) {
return new PenColor(drawer, ValueHelper.TextToColor(parameters[0])); return new PenColor(drawer, ValueFactory.CreateValue(drawer, parameters[0]));
} else if (parameterLength == 3) { } else if (parameterLength == 3) {
return new PenColor(drawer, return new PenColor(drawer, ValueFactory.CreateValue(drawer, parameters[0], parameters[1], parameters[2], "color"));
ValueHelper.IntsToColor(
ValueHelper.ConvertToInt(parameters[0]),
ValueHelper.ConvertToInt(parameters[1]),
ValueHelper.ConvertToInt(parameters[2])
)
);
} else if (parameterLength == 4) { } else if (parameterLength == 4) {
return new PenColor(drawer, return new PenColor(drawer, ValueFactory.CreateValue(drawer, parameters[0], parameters[1], parameters[2], parameters[3], "color"));
ValueHelper.IntsToColor(
ValueHelper.ConvertToInt(parameters[0]),
ValueHelper.ConvertToInt(parameters[1]),
ValueHelper.ConvertToInt(parameters[2]),
ValueHelper.ConvertToInt(parameters[3])
)
);
} else throw new Exception(command + " has an incorrect number of parameters"); } else throw new Exception(command + " has an incorrect number of parameters");
case "fill": case "fill":
if (parameterLength == 1) { if (parameterLength == 1) {
return new FillColor(drawer, ValueHelper.TextToColor(parameters[0])); return new FillColor(drawer, ValueFactory.CreateValue(drawer, parameters[0]));
} else if (parameterLength == 3) { } else if (parameterLength == 3) {
return new FillColor(drawer, return new FillColor(drawer, ValueFactory.CreateValue(drawer, parameters[0], parameters[1], parameters[2], "color"));
ValueHelper.IntsToColor(
ValueHelper.ConvertToInt(parameters[0]),
ValueHelper.ConvertToInt(parameters[1]),
ValueHelper.ConvertToInt(parameters[2])
)
);
} else if (parameterLength == 4) { } else if (parameterLength == 4) {
return new FillColor(drawer, return new FillColor(drawer, ValueFactory.CreateValue(drawer, parameters[0], parameters[1], parameters[2], parameters[3], "color"));
ValueHelper.IntsToColor(
ValueHelper.ConvertToInt(parameters[0]),
ValueHelper.ConvertToInt(parameters[1]),
ValueHelper.ConvertToInt(parameters[2]),
ValueHelper.ConvertToInt(parameters[3])
)
);
} else throw new Exception(command + " has an incorrect number of parameters"); } else throw new Exception(command + " has an incorrect number of parameters");
case "int": case "int":