Hallo Leute,
neues Jahr, neues Glück, neues Spiel: Ich programmiere gerade Box-Up. Kann man z.B. unter
http://www.langeneggers.ch/spielecke/games/771/Box_up.html
spielen.
Nun möchte ich in diesen Vierecken ein Viereck zeichen mit einer Seite offen,
Allerdings scheint der letzte und der erste Punkt sich zu verbinden. Ich mach dies so:
Ich habe ein Objekt und definiere die Grösse (Gross oder Klein). Das Viereck für das Feld gebe ich als ParentRectangle mit.
Die Punkte erstelle ich dann wie folgt:
Nun scheint sich jedoch der letzte Punkt mit dem ersten zu verbinden, was teils interessante Strukturen zeichnet, allerdings nicht die gewünschten.
Meine Frage ist nun: Kann ich das überhaupt mit DrawLines so realisieren oder muss ich effektiv jede einzelne Linie zeichnen? Wäre doch relativ viel Code, und ich meine dazu ist ja DrawLines da?
Wie immer vielen Dank im Voraus und einen guten Start ins neue Jahr.
Müller Matthias
neues Jahr, neues Glück, neues Spiel: Ich programmiere gerade Box-Up. Kann man z.B. unter
http://www.langeneggers.ch/spielecke/games/771/Box_up.html
spielen.
Nun möchte ich in diesen Vierecken ein Viereck zeichen mit einer Seite offen,
Allerdings scheint der letzte und der erste Punkt sich zu verbinden. Ich mach dies so:
Ich habe ein Objekt und definiere die Grösse (Gross oder Klein). Das Viereck für das Feld gebe ich als ParentRectangle mit.
Die Punkte erstelle ich dann wie folgt:
Code:
int square_Distance;
Point[] points = new Point[6];
int arrayIndex = 0;
Point pt1;
Point pt2;
if (FieldSize == Box_Up.FieldSize.Large)
square_Distance = 3;
else
square_Distance = 13;
if (openLocation != Direction.Up)
{
//Oben
pt1 = new Point(parentSquare.X + square_Distance, parentSquare.Y + square_Distance);
pt2 = new Point(parentSquare.X + Game.FIELD_SQUARE_SIZE - (square_Distance), parentSquare.Y + square_Distance);
points[arrayIndex] = pt1;
arrayIndex++;
points[arrayIndex] = pt2;
arrayIndex++;
}
if (openLocation != Direction.Right)
{
//Rechts
pt1 = new Point(parentSquare.X + Game.FIELD_SQUARE_SIZE - (square_Distance), parentSquare.Y + square_Distance);
pt2 = new Point(parentSquare.X + Game.FIELD_SQUARE_SIZE - (square_Distance), parentSquare.Y + Game.FIELD_SQUARE_SIZE - (square_Distance));
points[arrayIndex] = pt1;
arrayIndex++;
points[arrayIndex] = pt2;
arrayIndex++;
}
if (openLocation != Direction.Down)
{
//Unten
pt1 = new Point(parentSquare.X + square_Distance, parentSquare.Y + Game.FIELD_SQUARE_SIZE - square_Distance);
pt2 = new Point(parentSquare.X + Game.FIELD_SQUARE_SIZE - (square_Distance), parentSquare.Y + Game.FIELD_SQUARE_SIZE - square_Distance);
points[arrayIndex] = pt1;
arrayIndex++;
points[arrayIndex] = pt2;
arrayIndex++;
}
if (openLocation != Direction.Left)
{
//Links
pt1 = new Point(parentSquare.X + square_Distance, parentSquare.Y + square_Distance);
pt2 = new Point(parentSquare.X + square_Distance, parentSquare.Y + Game.FIELD_SQUARE_SIZE - (square_Distance));
points[arrayIndex] = pt1;
arrayIndex++;
points[arrayIndex] = pt2;
arrayIndex++;
}
return points;
Nun scheint sich jedoch der letzte Punkt mit dem ersten zu verbinden, was teils interessante Strukturen zeichnet, allerdings nicht die gewünschten.
Meine Frage ist nun: Kann ich das überhaupt mit DrawLines so realisieren oder muss ich effektiv jede einzelne Linie zeichnen? Wäre doch relativ viel Code, und ich meine dazu ist ja DrawLines da?
Wie immer vielen Dank im Voraus und einen guten Start ins neue Jahr.
Müller Matthias