diff --git a/Advanced Software Engineering/Advanced Software Engineering/Advanced Software Engineering.csproj b/Advanced Software Engineering/Advanced Software Engineering/Advanced Software Engineering.csproj
index c9e7dab..3f4b2be 100644
--- a/Advanced Software Engineering/Advanced Software Engineering/Advanced Software Engineering.csproj
+++ b/Advanced Software Engineering/Advanced Software Engineering/Advanced Software Engineering.csproj
@@ -73,7 +73,7 @@
About Window.cs
-
+
Form
diff --git a/Advanced Software Engineering/Advanced Software Engineering/CommandParser.cs b/Advanced Software Engineering/Advanced Software Engineering/Commander.cs
similarity index 69%
rename from Advanced Software Engineering/Advanced Software Engineering/CommandParser.cs
rename to Advanced Software Engineering/Advanced Software Engineering/Commander.cs
index 6ab8dba..9f51d65 100644
--- a/Advanced Software Engineering/Advanced Software Engineering/CommandParser.cs
+++ b/Advanced Software Engineering/Advanced Software Engineering/Commander.cs
@@ -5,55 +5,54 @@ using System.Linq;
using System.Runtime.Remoting.Messaging;
using System.Text;
using System.Threading.Tasks;
+using System.Windows.Forms;
namespace Advanced_Software_Engineering
{
- class CommandParser
+ class Commander
{
Graphics graphics;
- List commands = new List();
+ List commands = new List();
Drawer drawer;
- void DrawAllCommands()
+ public void DrawAllCommands()
{
-
+ foreach(Verb verb in this.commands)
+ {
+ verb.ExecuteVerb();
+ }
}
- CommandParser(Graphics graphics)
+ public Commander(Graphics graphics)
{
this.graphics = graphics;
this.drawer = new Drawer(this.graphics);
}
- CommandParser(Graphics graphics, string rawCommands)
+ public Commander(Graphics graphics, string rawCommands)
{
this.graphics = graphics;
this.drawer = new Drawer(this.graphics);
this.ProcessCommands(rawCommands);
}
- void AddCommand(Command command)
+ public void AddCommand(Verb command)
{
commands.Add(command);
}
- void ProcessCommands(string rawCommands)
+ public void ProcessCommands(string rawCommands)
{
//ignore case
rawCommands = rawCommands.ToLower();
//isolate commands
string[] commands = rawCommands.Split(Environment.NewLine.ToCharArray());
- for(int i =0; i < commands.Length; i++)
- {
- commands[i] = SettingsAndHelperFunctions.StripSpaces(commands[i]);
- }
-
foreach(string rawCommand in commands)
{
//handle errors later
- this.commands.Add(new Command(drawer, rawCommand));
+ AddCommand(VerbFactory.MakeVerb(drawer, rawCommand));
}
}
@@ -83,12 +82,16 @@ namespace Advanced_Software_Engineering
this.penPosition = point;
}
- public bool isPenDown() => penDown;
+ public bool IsPenDown() => penDown;
public void PenUp() => penDown = false;
public void PenDown() => penDown = true;
- public void setPen(bool down) => penDown = down;
-
+ public void SetPen(bool down) => penDown = down;
+ public void DrawLine(Point point)
+ {
+ graphics.DrawLine(pen, penPosition, point);
+ penPosition = point;
+ }
}