Private
Public Access
Basic reformatting
This commit is contained in:
1 parent
456aec28b7
commit
8a63dbae2f
3 files changed
+43
-88
No files matched your search
@@ -9,59 +9,45 @@ using System.Windows.Forms;
|
||||
using System.Windows.Forms.VisualStyles;
|
||||
using System.Xml.Serialization;
|
||||
|
||||
namespace Advanced_Software_Engineering
|
||||
{
|
||||
class VerbFactory
|
||||
{
|
||||
public static Verb MakeVerb(Drawer drawer, string fullCommand)
|
||||
{
|
||||
namespace Advanced_Software_Engineering {
|
||||
class VerbFactory {
|
||||
public static Verb MakeVerb(Drawer drawer, string fullCommand) {
|
||||
|
||||
Dictionary<string, string[]> commandAndParameters = SettingsAndHelperFunctions.CommandAndParameterParser(fullCommand);
|
||||
|
||||
string command = commandAndParameters["command"][0];
|
||||
string[] parameters = commandAndParameters["parameters"];
|
||||
|
||||
switch (command)
|
||||
{
|
||||
switch (command) {
|
||||
case "moveto":
|
||||
//Check parameters
|
||||
if (parameters.Length == 2)
|
||||
{
|
||||
try
|
||||
{
|
||||
if (parameters.Length == 2) {
|
||||
try {
|
||||
return new
|
||||
MoveTo(drawer,
|
||||
SettingsAndHelperFunctions.ConvertToInt(parameters[0]),
|
||||
SettingsAndHelperFunctions.ConvertToInt(parameters[1]));
|
||||
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
} catch (Exception e) {
|
||||
throw e;
|
||||
}
|
||||
}
|
||||
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 "line":
|
||||
case "lineto":
|
||||
//Check parameters
|
||||
if (parameters.Length == 2)
|
||||
{
|
||||
try
|
||||
{
|
||||
if (parameters.Length == 2) {
|
||||
try {
|
||||
return new
|
||||
DrawTo(drawer,
|
||||
SettingsAndHelperFunctions.ConvertToInt(parameters[0]),
|
||||
SettingsAndHelperFunctions.ConvertToInt(parameters[1]));
|
||||
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
} catch (Exception e) {
|
||||
throw e;
|
||||
}
|
||||
}
|
||||
else throw new Exception("Command has an incorrect number of parameters");
|
||||
} else throw new Exception("Command has an incorrect number of parameters");
|
||||
|
||||
case "dot":
|
||||
case "clear":
|
||||
@@ -82,61 +68,51 @@ namespace Advanced_Software_Engineering
|
||||
}
|
||||
}
|
||||
|
||||
public interface Verb
|
||||
{
|
||||
public interface Verb {
|
||||
void ExecuteVerb();
|
||||
|
||||
}
|
||||
|
||||
class MoveTo : Verb
|
||||
{
|
||||
class MoveTo : Verb {
|
||||
|
||||
protected Drawer drawer;
|
||||
protected Point moveToPoint;
|
||||
|
||||
public MoveTo(Drawer drawer, int x, int y)
|
||||
{
|
||||
public MoveTo(Drawer drawer, int x, int y) {
|
||||
this.drawer = drawer;
|
||||
this.moveToPoint = new Point(x, y);
|
||||
}
|
||||
|
||||
public MoveTo(Drawer drawer, Point point)
|
||||
{
|
||||
public MoveTo(Drawer drawer, Point point) {
|
||||
this.drawer = drawer;
|
||||
this.moveToPoint = point;
|
||||
}
|
||||
|
||||
public void ExecuteVerb()
|
||||
{
|
||||
public void ExecuteVerb() {
|
||||
this.drawer.MovePen(moveToPoint);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
class DrawTo : MoveTo
|
||||
{
|
||||
class DrawTo : MoveTo {
|
||||
public DrawTo(Drawer drawer, int x, int y) : base(drawer, x, y) { }
|
||||
|
||||
public DrawTo(Drawer drawer, Point point) : base(drawer, point) { }
|
||||
|
||||
public new void ExecuteVerb()
|
||||
{
|
||||
public new void ExecuteVerb() {
|
||||
this.drawer.DrawLine(moveToPoint);
|
||||
}
|
||||
}
|
||||
|
||||
abstract class Shape : Verb
|
||||
{
|
||||
abstract class Shape : Verb {
|
||||
protected Drawer drawer;
|
||||
protected Point[] vertices;
|
||||
private List<Verb> lineVerbs;
|
||||
|
||||
|
||||
Shape(Drawer drawer, Point[] vertices)
|
||||
{
|
||||
Shape(Drawer drawer, Point[] vertices) {
|
||||
//Throw exceptions if impossible to create Spape Verb
|
||||
switch (vertices.Length)
|
||||
{
|
||||
switch (vertices.Length) {
|
||||
case 0:
|
||||
throw new Exception("Cannot create shape with no vertices.");
|
||||
case 1:
|
||||
@@ -149,8 +125,7 @@ namespace Advanced_Software_Engineering
|
||||
|
||||
}
|
||||
|
||||
public void ExecuteVerb()
|
||||
{
|
||||
public void ExecuteVerb() {
|
||||
foreach (Verb verb in lineVerbs) verb.ExecuteVerb();
|
||||
}
|
||||
}
|
||||
@@ -158,24 +133,20 @@ namespace Advanced_Software_Engineering
|
||||
/// <summary>
|
||||
/// A class that generates sets
|
||||
/// </summary>
|
||||
class RegularPolygons : Verb
|
||||
{
|
||||
class RegularPolygons : Verb {
|
||||
|
||||
List<Verb> verbs;
|
||||
|
||||
RegularPolygons(Drawer drawer, Point origin, int sides, int scale)
|
||||
{
|
||||
RegularPolygons(Drawer drawer, Point origin, int sides, int scale) {
|
||||
|
||||
}
|
||||
|
||||
public void ExecuteVerb()
|
||||
{
|
||||
public void ExecuteVerb() {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
abstract class Value
|
||||
{
|
||||
abstract class Value {
|
||||
|
||||
}
|
||||
|
||||
|
||||
+11
-22
@@ -3,13 +3,11 @@ using System.Collections.Generic;
|
||||
using System.Security.Policy;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace Advanced_Software_Engineering
|
||||
{
|
||||
namespace Advanced_Software_Engineering {
|
||||
/// <summary>
|
||||
/// This class simply provides settings and some functions that are used across many components.
|
||||
/// </summary>
|
||||
public class SettingsAndHelperFunctions
|
||||
{
|
||||
public class SettingsAndHelperFunctions {
|
||||
/// <summary>
|
||||
/// The variable simply keep track of the windows that are currently shown (excluding <see cref="MainMenu"/>).
|
||||
/// </summary>
|
||||
@@ -18,11 +16,9 @@ namespace Advanced_Software_Engineering
|
||||
/// <summary>
|
||||
/// This helper function is executed when a window is closed. It shows the <see cref="MainMenu"/> when the count is 0
|
||||
/// </summary>
|
||||
public static void WindowClosed()
|
||||
{
|
||||
public static void WindowClosed() {
|
||||
NumberOfWindows--;
|
||||
if (NumberOfWindows == 0)
|
||||
{
|
||||
if (NumberOfWindows == 0) {
|
||||
System.Console.WriteLine("Showing MainMenu");
|
||||
Program.MainMenu.Show();
|
||||
}
|
||||
@@ -49,21 +45,18 @@ namespace Advanced_Software_Engineering
|
||||
/// Console.WriteLine(b); // => "a simple sentence surrounded by spaces";
|
||||
/// </code>
|
||||
/// </example>
|
||||
public static string Strip(string text)
|
||||
{
|
||||
public static string Strip(string text) {
|
||||
//Console.WriteLine("Stripping: '" + text + "'");
|
||||
int start;
|
||||
|
||||
for (start = 0; start < text.Length; start++)
|
||||
{
|
||||
for (start = 0; start < text.Length; start++) {
|
||||
char character = text[start];
|
||||
if (character != " "[0]) break;
|
||||
}
|
||||
|
||||
int end;
|
||||
|
||||
for (end = text.Length - 1; end >= 0; end--)
|
||||
{
|
||||
for (end = text.Length - 1; end >= 0; end--) {
|
||||
char character = text[end];
|
||||
if (character != " "[0]) break;
|
||||
}
|
||||
@@ -78,18 +71,15 @@ namespace Advanced_Software_Engineering
|
||||
|
||||
}
|
||||
|
||||
public static int ConvertToInt(string text)
|
||||
{
|
||||
public static int ConvertToInt(string text) {
|
||||
text = Strip(text);
|
||||
return int.Parse(text);
|
||||
}
|
||||
|
||||
public static List<string> StripStringArray(string[] array)
|
||||
{
|
||||
public static List<string> StripStringArray(string[] array) {
|
||||
List<string> newStringList = new List<string>();
|
||||
|
||||
foreach (string arrayElement in array)
|
||||
{
|
||||
foreach (string arrayElement in array) {
|
||||
string strippedElement = Strip(arrayElement);
|
||||
if (strippedElement.Length == 0) continue;
|
||||
else newStringList.Add(strippedElement);
|
||||
@@ -98,8 +88,7 @@ namespace Advanced_Software_Engineering
|
||||
return newStringList;
|
||||
}
|
||||
|
||||
public static Dictionary<string, string[]> CommandAndParameterParser(string text)
|
||||
{
|
||||
public static Dictionary<string, string[]> CommandAndParameterParser(string text) {
|
||||
Dictionary<string, string[]> commandAndParameters = new Dictionary<string, string[]>();
|
||||
|
||||
//split the command from the parameters
|
||||
|
||||
@@ -8,28 +8,23 @@ using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace Advanced_Software_Engineering
|
||||
{
|
||||
public partial class Text_Editor : Form
|
||||
{
|
||||
namespace Advanced_Software_Engineering {
|
||||
public partial class Text_Editor : Form {
|
||||
const string DefaultTitleString = "Advanced Software Engineering - Text Editor ";
|
||||
|
||||
/// <summary>
|
||||
/// The text editor is the main window that the user will be using for writing code.
|
||||
/// </summary>
|
||||
public Text_Editor()
|
||||
{
|
||||
public Text_Editor() {
|
||||
SettingsAndHelperFunctions.NumberOfWindows++;
|
||||
InitializeComponent();
|
||||
}
|
||||
|
||||
private void Console_FormClosed(object sender, FormClosedEventArgs e)
|
||||
{
|
||||
private void Console_FormClosed(object sender, FormClosedEventArgs e) {
|
||||
SettingsAndHelperFunctions.WindowClosed();
|
||||
}
|
||||
|
||||
private void newFileToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
private void newFileToolStripMenuItem_Click(object sender, EventArgs e) {
|
||||
new Text_Editor().Show();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user